Match (de)serialization fixed + tests added
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / util / MatchDeserializer.java
index 097046f35a102be2b794417858258a9d56e82b65..62cb6ccd49007a47e1f38a79bb4158c5a2a81d59 100644 (file)
@@ -59,7 +59,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ProtocolNumberMatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ProtocolNumberMatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PseudoFieldMatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PseudoFieldMatchEntry.PseudoField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PseudoFieldMatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.TcMatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.TcMatchEntryBuilder;
@@ -68,6 +67,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.VlanVidMatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.VlanVidMatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.Ipv6ExthdrFlags;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.StandardMatchType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpOp;
@@ -299,27 +299,27 @@ public abstract class MatchDeserializer {
                 break;
             case 13:
                 matchEntriesBuilder.setOxmMatchField(TcpSrc.class);
-                addPortAugmentation(null, in);
+                addPortAugmentation(matchEntriesBuilder, in);
                 break;
             case 14:
                 matchEntriesBuilder.setOxmMatchField(TcpDst.class);
-                addPortAugmentation(null, in);
+                addPortAugmentation(matchEntriesBuilder, in);
                 break;
             case 15:
                 matchEntriesBuilder.setOxmMatchField(UdpSrc.class);
-                addPortAugmentation(null, in);
+                addPortAugmentation(matchEntriesBuilder, in);
                 break;
             case 16:
                 matchEntriesBuilder.setOxmMatchField(UdpDst.class);
-                addPortAugmentation(null, in);
+                addPortAugmentation(matchEntriesBuilder, in);
                 break;
             case 17:
                 matchEntriesBuilder.setOxmMatchField(SctpSrc.class);
-                addPortAugmentation(null, in);
+                addPortAugmentation(matchEntriesBuilder, in);
                 break;
             case 18:
                 matchEntriesBuilder.setOxmMatchField(SctpDst.class);
-                addPortAugmentation(null, in);
+                addPortAugmentation(matchEntriesBuilder, in);
                 break;
             case 19:
                 matchEntriesBuilder.setOxmMatchField(Icmpv4Type.class);
@@ -466,7 +466,7 @@ public abstract class MatchDeserializer {
                 final Boolean HOP = ((bitmap) & (1<<6)) != 0;
                 final Boolean UNREP = ((bitmap) & (1<<7)) != 0;
                 final Boolean UNSEQ = ((bitmap) & (1<<8)) != 0;
-                pseudoBuilder.setPseudoField(new PseudoField(AUTH, DEST, ESP, FRAG, HOP, NONEXT, ROUTER, UNREP, UNSEQ));
+                pseudoBuilder.setPseudoField(new Ipv6ExthdrFlags(AUTH, DEST, ESP, FRAG, HOP, NONEXT, ROUTER, UNREP, UNSEQ));
                 matchEntriesBuilder.addAugmentation(PseudoFieldMatchEntry.class, pseudoBuilder.build());
                 if (hasMask) {
                     addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_SHORT_IN_BYTES);