Adding tunnel ipv4 src/dst openflow augmentations
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / serialization / MatchEntriesInitializer.java
index 094b6f2626d03dffd6cac5028935b8e2b79a04ae..348487e029e7a352b88a59a11b9a23eb883edf11 100644 (file)
@@ -8,6 +8,9 @@
 package org.opendaylight.openflowjava.protocol.impl.serialization;\r
 \r
 import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;\r
+import org.opendaylight.openflowjava.protocol.impl.serialization.match.NxmTcpFlagSerializer;\r
+import org.opendaylight.openflowjava.protocol.impl.serialization.match.NxmTunnelIpv4DstSerializer;\r
+import org.opendaylight.openflowjava.protocol.impl.serialization.match.NxmTunnelIpv4SrcSerializer;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmArpOpSerializer;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmArpShaSerializer;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmArpSpaSerializer;\r
@@ -49,7 +52,7 @@ import org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmUdpSrc
 import org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmVlanPcpSerializer;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmVlanVidSerializer;\r
 import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;\r
-import org.opendaylight.openflowjava.protocol.impl.util.OF13MatchEntriesRegistryHelper;\r
+import org.opendaylight.openflowjava.protocol.impl.util.EnhancedKeyRegistryHelper;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpOp;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpSha;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpSpa;\r
@@ -80,13 +83,17 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Meta
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MplsBos;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MplsLabel;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MplsTc;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Nxm1Class;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OpenflowBasicClass;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.PbbIsid;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.SctpDst;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.SctpSrc;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpDst;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpFlag;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpSrc;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TunnelId;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TunnelIpv4Dst;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TunnelIpv4Src;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.UdpDst;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.UdpSrc;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanPcp;\r
@@ -105,8 +112,8 @@ public class MatchEntriesInitializer {
     public static void registerMatchEntrySerializers(SerializerRegistry serializerRegistry) {\r
         // register OF v1.3 OpenflowBasicClass match entry serializers\r
         Class<OpenflowBasicClass> oxmClass = OpenflowBasicClass.class;\r
-        OF13MatchEntriesRegistryHelper<OpenflowBasicClass> registryHelper =\r
-                new OF13MatchEntriesRegistryHelper<>(EncodeConstants.OF13_VERSION_ID, oxmClass, serializerRegistry);\r
+        EnhancedKeyRegistryHelper<OpenflowBasicClass> registryHelper =\r
+                new EnhancedKeyRegistryHelper<>(EncodeConstants.OF13_VERSION_ID, oxmClass, serializerRegistry);\r
         registryHelper.registerSerializer(InPort.class, new OxmInPortSerializer());\r
         registryHelper.registerSerializer(InPhyPort.class, new OxmInPhyPortSerializer());\r
         registryHelper.registerSerializer(Metadata.class, new OxmMetadataSerializer());\r
@@ -147,5 +154,13 @@ public class MatchEntriesInitializer {
         registryHelper.registerSerializer(PbbIsid.class, new OxmPbbIsidSerializer());\r
         registryHelper.registerSerializer(TunnelId.class, new OxmTunnelIdSerializer());\r
         registryHelper.registerSerializer(Ipv6Exthdr.class, new OxmIpv6ExtHdrSerializer());\r
+\r
+        // Register OpenFlow NXM1Class match entry serializer\r
+        Class<Nxm1Class> nxm1Class = Nxm1Class.class;\r
+        EnhancedKeyRegistryHelper<Nxm1Class> nxm1RegistryHelper =\r
+                new EnhancedKeyRegistryHelper<>(EncodeConstants.OF13_VERSION_ID, nxm1Class, serializerRegistry);\r
+        nxm1RegistryHelper.registerSerializer(TunnelIpv4Dst.class, new NxmTunnelIpv4DstSerializer());\r
+        nxm1RegistryHelper.registerSerializer(TunnelIpv4Src.class, new NxmTunnelIpv4SrcSerializer());\r
+        nxm1RegistryHelper.registerSerializer(TcpFlag.class, new NxmTcpFlagSerializer());\r
     }\r
 }\r