QEthernetPacket ethernetPacket = new QEthernetPacket();
int ethernetType = PacketUtils.ethernetType(data);
int ethernetHeaderLen = PacketUtils.ethernetHeaderLen(data);
QProtocolStringField ethernetTypeField = QEthernetPacket.fetchEthernetType(data, 0);
if (QPacketConstants.EthernetType_Vlan.equalsIgnoreCase(ethernetTypeField.getValue())) {
QVlanPacket vlanPacket = new QVlanPacket();
vlanPacket.addField(QVlanPacket.fetchEthernetType(data, QPacketConstants.EthernetHeaderLen));
ethernetPacket.setPayload(vlanPacket);
}
ethernetPacket.addField(ethernetTypeField);
if (QPacketConstants.EthernetType_Goose == ethernetType) {
QGoosePacket goosePacket = new QGoosePacket();