case 6:\r
matchEntriesBuilder.setOxmMatchField(VlanVid.class);\r
VlanVidMatchEntryBuilder vlanVidBuilder = new VlanVidMatchEntryBuilder();\r
- int vidEntryValue = in.readUnsignedShort(); \r
- vlanVidBuilder.setCfiBit((vidEntryValue & 1) != 0);\r
- vlanVidBuilder.setVlanVid(vidEntryValue >> 1);\r
+ int vidEntryValue = in.readUnsignedShort();\r
+ vlanVidBuilder.setCfiBit((vidEntryValue & (1 << 12)) != 0); // cfi is 13-th bit\r
+ vlanVidBuilder.setVlanVid(vidEntryValue & ((1 << 12) - 1)); // value without 13-th bit\r
matchEntriesBuilder.addAugmentation(VlanVidMatchEntry.class, vlanVidBuilder.build());\r
if (hasMask) {\r
addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_SHORT_IN_BYTES);\r