IEEE8021Q class uses the Packet.getHeaderSize() which iterates through
header fields to determine the size. .1Q header is fixed in size and
should return the correct value
Change-Id: I4b0123dd943f6e833f14782f2ed7cc0e6e184e87
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
dot1q.setVid(vlan);
dot1q.setEtherType(EtherTypes.ARP.shortValue());
dot1q.setPayload(arp);
dot1q.setVid(vlan);
dot1q.setEtherType(EtherTypes.ARP.shortValue());
dot1q.setPayload(arp);
+ dot1q.setCfi((byte)0);
+ dot1q.setPcp((byte)0);
ethernet.setEtherType(EtherTypes.VLANTAGGED.shortValue());
ethernet.setPayload(dot1q);
}
ethernet.setEtherType(EtherTypes.VLANTAGGED.shortValue());
ethernet.setPayload(dot1q);
}
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.opendaylight.controller.sal.match.Match;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.opendaylight.controller.sal.match.Match;
match.setField(MatchType.DL_VLAN_PR, this.getPcp());
match.setField(MatchType.DL_TYPE, this.getEtherType());
}
match.setField(MatchType.DL_VLAN_PR, this.getPcp());
match.setField(MatchType.DL_TYPE, this.getEtherType());
}
+
+ /**
+ * Gets the header size in bits
+ * @return The .1Q header size in bits
+ */
+ @Override
+ public int getHeaderSize() {
+ return 32;
+ }
+