From 1bc443a7c5256b19dcad71520f9bc4c99a747473 Mon Sep 17 00:00:00 2001 From: Yi Yang Date: Mon, 18 Apr 2016 09:47:05 +0800 Subject: [PATCH] Support new matches and actions in ovs nsh patch New matches: encap_eth_type, encap_eth_src, encap_eth_dst, nsh_np, nsh_mdtype, tun_gpe_np New actions: push_nsh, pop_nsh Rebase and change topic back to 37937 Fixed some Unit test failures Change-Id: I20dbc6e1c04de34d3221b6cbfa652aafe75e5510 Signed-off-by: Yi Yang --- .../nx/NiciraExtensionsRegistrator.java | 76 ++- .../openflowjava/nx/NiciraMatchCodecs.java | 12 + .../nx/codec/action/NiciraActionCodecs.java | 8 +- .../{SetNspCodec.java => PopNshCodec.java} | 32 +- .../{SetNshc2Codec.java => PushNshCodec.java} | 33 +- .../nx/codec/action/SetNshc1Codec.java | 57 -- .../nx/codec/action/SetNshc3Codec.java | 55 -- .../nx/codec/action/SetNshc4Codec.java | 54 -- .../nx/codec/action/SetNsiCodec.java | 54 -- .../nx/codec/match/EncapEthDstCodec.java | 83 +++ .../nx/codec/match/EncapEthSrcCodec.java | 83 +++ .../nx/codec/match/EncapEthTypeCodec.java | 76 +++ .../nx/codec/match/NshMdtypeCodec.java | 76 +++ .../nx/codec/match/NshNpCodec.java | 76 +++ .../nx/codec/match/Nshc1Codec.java | 2 +- .../nx/codec/match/Nshc2Codec.java | 2 +- .../nx/codec/match/Nshc3Codec.java | 2 +- .../nx/codec/match/Nshc4Codec.java | 2 +- .../openflowjava/nx/codec/match/NsiCodec.java | 2 +- .../openflowjava/nx/codec/match/NspCodec.java | 4 +- .../nx/codec/match/TunGpeNpCodec.java | 76 +++ .../src/main/yang/nicira-action.yang | 69 +- .../src/main/yang/nicira-match.yang | 79 +++ .../nx/NiciraExtensionsRegistratorTest.java | 66 +- .../nx/codec/action/SetNshc1CodecTest.java | 97 --- .../nx/codec/action/SetNshc2CodecTest.java | 96 --- .../nx/codec/action/SetNshc3CodecTest.java | 96 --- .../nx/codec/action/SetNshc4CodecTest.java | 96 --- .../nx/codec/action/SetNsiCodecTest.java | 95 --- .../nx/codec/action/SetNspCodecTest.java | 94 --- .../nx/codec/match/Nshc1CodecTest.java | 4 +- .../nx/codec/match/Nshc2CodecTest.java | 4 +- .../nx/codec/match/Nshc3CodecTest.java | 4 +- .../nx/codec/match/Nshc4CodecTest.java | 4 +- .../nx/codec/match/NsiCodecTest.java | 4 +- .../nx/codec/match/NspCodecTest.java | 4 +- .../nicira/NiciraExtensionProvider.java | 220 +++--- ...NsiConvertor.java => PopNshConvertor.java} | 56 +- ...spConvertor.java => PushNshConvertor.java} | 54 +- .../convertor/action/RegMoveConvertor.java | 80 +++ .../convertor/action/SetNshc1Convertor.java | 71 -- .../convertor/action/SetNshc2Convertor.java | 67 -- .../convertor/action/SetNshc3Convertor.java | 67 -- .../convertor/action/SetNshc4Convertor.java | 67 -- .../convertor/match/EncapEthDstConvertor.java | 94 +++ .../convertor/match/EncapEthSrcConvertor.java | 94 +++ .../match/EncapEthTypeConvertor.java | 79 +++ .../nicira/convertor/match/MatchUtil.java | 24 + .../convertor/match/NshMdtypeConvertor.java | 79 +++ .../convertor/match/NshNpConvertor.java | 79 +++ .../convertor/match/TunGpeNpConvertor.java | 79 +++ ...penflowplugin-extension-nicira-action.yang | 644 ++++-------------- ...openflowplugin-extension-nicira-match.yang | 62 ++ .../action/SetNshc1ConvertorTest.java | 86 --- .../action/SetNshc2ConvertorTest.java | 84 --- .../action/SetNshc3ConvertorTest.java | 84 --- .../action/SetNshc4ConvertorTest.java | 83 --- .../convertor/action/SetNsiConvertorTest.java | 84 --- .../convertor/action/SetNspConvertorTest.java | 85 --- 59 files changed, 1632 insertions(+), 2467 deletions(-) rename extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/{SetNspCodec.java => PopNshCodec.java} (60%) rename extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/{SetNshc2Codec.java => PushNshCodec.java} (59%) delete mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1Codec.java delete mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3Codec.java delete mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4Codec.java delete mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodec.java create mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthDstCodec.java create mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthSrcCodec.java create mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthTypeCodec.java create mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshMdtypeCodec.java create mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshNpCodec.java create mode 100644 extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/TunGpeNpCodec.java delete mode 100644 extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1CodecTest.java delete mode 100644 extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc2CodecTest.java delete mode 100644 extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3CodecTest.java delete mode 100644 extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4CodecTest.java delete mode 100644 extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodecTest.java delete mode 100644 extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNspCodecTest.java rename extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/{SetNsiConvertor.java => PopNshConvertor.java} (64%) rename extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/{SetNspConvertor.java => PushNshConvertor.java} (60%) delete mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1Convertor.java delete mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2Convertor.java delete mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3Convertor.java delete mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4Convertor.java create mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthDstConvertor.java create mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthSrcConvertor.java create mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthTypeConvertor.java create mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshMdtypeConvertor.java create mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshNpConvertor.java create mode 100644 extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/TunGpeNpConvertor.java delete mode 100644 extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1ConvertorTest.java delete mode 100644 extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2ConvertorTest.java delete mode 100644 extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3ConvertorTest.java delete mode 100644 extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4ConvertorTest.java delete mode 100644 extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNsiConvertorTest.java delete mode 100644 extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNspConvertorTest.java diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistrator.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistrator.java index 61b4a7248f..ee74ca551f 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistrator.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistrator.java @@ -16,12 +16,8 @@ import org.opendaylight.openflowjava.nx.codec.action.OutputRegCodec; import org.opendaylight.openflowjava.nx.codec.action.RegLoadCodec; import org.opendaylight.openflowjava.nx.codec.action.RegMoveCodec; import org.opendaylight.openflowjava.nx.codec.action.ResubmitCodec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc1Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc2Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc3Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc4Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNsiCodec; -import org.opendaylight.openflowjava.nx.codec.action.SetNspCodec; +import org.opendaylight.openflowjava.nx.codec.action.PushNshCodec; +import org.opendaylight.openflowjava.nx.codec.action.PopNshCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpOpCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpShaCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpSpaCodec; @@ -38,6 +34,12 @@ import org.opendaylight.openflowjava.nx.codec.match.Nshc3Codec; import org.opendaylight.openflowjava.nx.codec.match.Nshc4Codec; import org.opendaylight.openflowjava.nx.codec.match.NsiCodec; import org.opendaylight.openflowjava.nx.codec.match.NspCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthTypeCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthSrcCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthDstCodec; +import org.opendaylight.openflowjava.nx.codec.match.NshMdtypeCodec; +import org.opendaylight.openflowjava.nx.codec.match.NshNpCodec; +import org.opendaylight.openflowjava.nx.codec.match.TunGpeNpCodec; import org.opendaylight.openflowjava.nx.codec.match.Reg0Codec; import org.opendaylight.openflowjava.nx.codec.match.Reg1Codec; import org.opendaylight.openflowjava.nx.codec.match.Reg2Codec; @@ -79,21 +81,11 @@ public class NiciraExtensionsRegistrator implements AutoCloseable { registrator.registerActionDeserializer(ResubmitCodec.TABLE_DESERIALIZER_KEY, NiciraActionCodecs.RESUBMIT_CODEC); registrator.registerActionSerializer(MultipathCodec.SERIALIZER_KEY, NiciraActionCodecs.MULTIPATH_CODEC); registrator.registerActionDeserializer(MultipathCodec.DESERIALIZER_KEY, NiciraActionCodecs.MULTIPATH_CODEC); - registrator.registerActionDeserializer(SetNspCodec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSP_CODEC); - registrator.registerActionSerializer(SetNspCodec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSP_CODEC); - registrator.registerActionDeserializer(SetNshc1Codec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSC1_CODEC); - registrator.registerActionSerializer(SetNshc1Codec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSC1_CODEC); - //BUG nshc2 codec is registered with same subtype as Conntrack codec - registrator.registerActionDeserializer(SetNshc2Codec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSC2_CODEC); - registrator.registerActionSerializer(SetNshc2Codec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSC2_CODEC); - //Continue - registrator.registerActionDeserializer(SetNshc3Codec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSC3_CODEC); - registrator.registerActionSerializer(SetNshc3Codec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSC3_CODEC); - registrator.registerActionDeserializer(SetNshc4Codec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSC4_CODEC); - registrator.registerActionSerializer(SetNshc4Codec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSC4_CODEC); - registrator.registerActionDeserializer(SetNsiCodec.DESERIALIZER_KEY, NiciraActionCodecs.SET_NSI_CODEC); - registrator.registerActionSerializer(SetNsiCodec.SERIALIZER_KEY, NiciraActionCodecs.SET_NSI_CODEC); - //BUG Conntrack codec is registered with same subtype as Nshc2 codec + registrator.registerActionDeserializer(PushNshCodec.DESERIALIZER_KEY, NiciraActionCodecs.PUSH_NSH_CODEC); + registrator.registerActionSerializer(PushNshCodec.SERIALIZER_KEY, NiciraActionCodecs.PUSH_NSH_CODEC); + registrator.registerActionDeserializer(PopNshCodec.DESERIALIZER_KEY, NiciraActionCodecs.POP_NSH_CODEC); + registrator.registerActionSerializer(PopNshCodec.SERIALIZER_KEY, NiciraActionCodecs.POP_NSH_CODEC); + registrator.registerActionSerializer(ConntrackCodec.SERIALIZER_KEY, NiciraActionCodecs.CONNTRACK_CODEC); registrator.registerActionDeserializer(ConntrackCodec.DESERIALIZER_KEY, NiciraActionCodecs.CONNTRACK_CODEC); //Continue @@ -149,6 +141,18 @@ public class NiciraExtensionsRegistrator implements AutoCloseable { registrator.registerMatchEntryDeserializer(TunIpv4DstCodec.DESERIALIZER_KEY, NiciraMatchCodecs.TUN_IPV4_DST_CODEC); registrator.registerMatchEntrySerializer(TunIpv4SrcCodec.SERIALIZER_KEY, NiciraMatchCodecs.TUN_IPV4_SRC_CODEC); registrator.registerMatchEntryDeserializer(TunIpv4SrcCodec.DESERIALIZER_KEY, NiciraMatchCodecs.TUN_IPV4_SRC_CODEC); + registrator.registerMatchEntrySerializer(EncapEthTypeCodec.SERIALIZER_KEY, NiciraMatchCodecs.ENCAP_ETH_TYPE_CODEC); + registrator.registerMatchEntryDeserializer(EncapEthTypeCodec.DESERIALIZER_KEY, NiciraMatchCodecs.ENCAP_ETH_TYPE_CODEC); + registrator.registerMatchEntrySerializer(EncapEthSrcCodec.SERIALIZER_KEY, NiciraMatchCodecs.ENCAP_ETH_SRC_CODEC); + registrator.registerMatchEntryDeserializer(EncapEthSrcCodec.DESERIALIZER_KEY, NiciraMatchCodecs.ENCAP_ETH_SRC_CODEC); + registrator.registerMatchEntrySerializer(EncapEthDstCodec.SERIALIZER_KEY, NiciraMatchCodecs.ENCAP_ETH_DST_CODEC); + registrator.registerMatchEntryDeserializer(EncapEthDstCodec.DESERIALIZER_KEY, NiciraMatchCodecs.ENCAP_ETH_DST_CODEC); + registrator.registerMatchEntrySerializer(NshMdtypeCodec.SERIALIZER_KEY, NiciraMatchCodecs.NSH_MDTYPE_CODEC); + registrator.registerMatchEntryDeserializer(NshMdtypeCodec.DESERIALIZER_KEY, NiciraMatchCodecs.NSH_MDTYPE_CODEC); + registrator.registerMatchEntrySerializer(NshNpCodec.SERIALIZER_KEY, NiciraMatchCodecs.NSH_NP_CODEC); + registrator.registerMatchEntryDeserializer(NshNpCodec.DESERIALIZER_KEY, NiciraMatchCodecs.NSH_NP_CODEC); + registrator.registerMatchEntrySerializer(TunGpeNpCodec.SERIALIZER_KEY, NiciraMatchCodecs.TUN_GPE_NP_CODEC); + registrator.registerMatchEntryDeserializer(TunGpeNpCodec.DESERIALIZER_KEY, NiciraMatchCodecs.TUN_GPE_NP_CODEC); registrator.registerMatchEntrySerializer(TcpSrcCodec.SERIALIZER_KEY, NiciraMatchCodecs.TCP_SRC_CODEC); registrator.registerMatchEntryDeserializer(TcpSrcCodec.DESERIALIZER_KEY, NiciraMatchCodecs.TCP_SRC_CODEC); registrator.registerMatchEntrySerializer(TcpDstCodec.SERIALIZER_KEY, NiciraMatchCodecs.TCP_DST_CODEC); @@ -175,20 +179,10 @@ public class NiciraExtensionsRegistrator implements AutoCloseable { registrator.unregisterActionDeserializer(ResubmitCodec.DESERIALIZER_KEY); registrator.unregisterActionSerializer(MultipathCodec.SERIALIZER_KEY); registrator.unregisterActionDeserializer(MultipathCodec.DESERIALIZER_KEY); - registrator.unregisterActionDeserializer(SetNsiCodec.DESERIALIZER_KEY); - registrator.unregisterActionSerializer(SetNsiCodec.SERIALIZER_KEY); - registrator.unregisterActionDeserializer(SetNspCodec.DESERIALIZER_KEY); - registrator.unregisterActionSerializer(SetNspCodec.SERIALIZER_KEY); - //Added this line (unregisterDeserialize was missing) - registrator.unregisterActionDeserializer(SetNshc1Codec.DESERIALIZER_KEY); - registrator.unregisterActionSerializer(SetNshc1Codec.SERIALIZER_KEY); - registrator.unregisterActionDeserializer(SetNshc2Codec.DESERIALIZER_KEY); - registrator.unregisterActionSerializer(SetNshc2Codec.SERIALIZER_KEY); - registrator.unregisterActionDeserializer(SetNshc3Codec.DESERIALIZER_KEY); - registrator.unregisterActionSerializer(SetNshc3Codec.SERIALIZER_KEY); - registrator.unregisterActionDeserializer(SetNshc4Codec.DESERIALIZER_KEY); - registrator.unregisterActionSerializer(SetNshc4Codec.SERIALIZER_KEY); - //BUG unregistering with same subtype as Nshc2 + registrator.unregisterActionDeserializer(PushNshCodec.DESERIALIZER_KEY); + registrator.unregisterActionSerializer(PushNshCodec.SERIALIZER_KEY); + registrator.unregisterActionDeserializer(PopNshCodec.DESERIALIZER_KEY); + registrator.unregisterActionSerializer(PopNshCodec.SERIALIZER_KEY); registrator.unregisterActionSerializer(ConntrackCodec.SERIALIZER_KEY); registrator.unregisterActionDeserializer(ConntrackCodec.DESERIALIZER_KEY); //CONTINUE @@ -242,6 +236,18 @@ public class NiciraExtensionsRegistrator implements AutoCloseable { registrator.unregisterMatchEntryDeserializer(TunIpv4DstCodec.DESERIALIZER_KEY); registrator.unregisterMatchEntrySerializer(TunIpv4SrcCodec.SERIALIZER_KEY); registrator.unregisterMatchEntryDeserializer(TunIpv4SrcCodec.DESERIALIZER_KEY); + registrator.unregisterMatchEntrySerializer(EncapEthTypeCodec.SERIALIZER_KEY); + registrator.unregisterMatchEntryDeserializer(EncapEthTypeCodec.DESERIALIZER_KEY); + registrator.unregisterMatchEntrySerializer(EncapEthSrcCodec.SERIALIZER_KEY); + registrator.unregisterMatchEntryDeserializer(EncapEthSrcCodec.DESERIALIZER_KEY); + registrator.unregisterMatchEntrySerializer(EncapEthDstCodec.SERIALIZER_KEY); + registrator.unregisterMatchEntryDeserializer(EncapEthDstCodec.DESERIALIZER_KEY); + registrator.unregisterMatchEntrySerializer(NshMdtypeCodec.SERIALIZER_KEY); + registrator.unregisterMatchEntryDeserializer(NshMdtypeCodec.DESERIALIZER_KEY); + registrator.unregisterMatchEntrySerializer(NshNpCodec.SERIALIZER_KEY); + registrator.unregisterMatchEntryDeserializer(NshNpCodec.DESERIALIZER_KEY); + registrator.unregisterMatchEntrySerializer(TunGpeNpCodec.SERIALIZER_KEY); + registrator.unregisterMatchEntryDeserializer(TunGpeNpCodec.DESERIALIZER_KEY); registrator.unregisterMatchEntrySerializer(TcpSrcCodec.SERIALIZER_KEY); registrator.unregisterMatchEntryDeserializer(TcpSrcCodec.DESERIALIZER_KEY); registrator.unregisterMatchEntrySerializer(TcpDstCodec.SERIALIZER_KEY); diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraMatchCodecs.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraMatchCodecs.java index 6722a6b7ea..4f513a232f 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraMatchCodecs.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/NiciraMatchCodecs.java @@ -39,6 +39,12 @@ import org.opendaylight.openflowjava.nx.codec.match.TcpSrcCodec; import org.opendaylight.openflowjava.nx.codec.match.TunIdCodec; import org.opendaylight.openflowjava.nx.codec.match.TunIpv4DstCodec; import org.opendaylight.openflowjava.nx.codec.match.TunIpv4SrcCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthTypeCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthSrcCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthDstCodec; +import org.opendaylight.openflowjava.nx.codec.match.NshMdtypeCodec; +import org.opendaylight.openflowjava.nx.codec.match.NshNpCodec; +import org.opendaylight.openflowjava.nx.codec.match.TunGpeNpCodec; import org.opendaylight.openflowjava.nx.codec.match.UdpDstCodec; import org.opendaylight.openflowjava.nx.codec.match.UdpSrcCodec; @@ -74,6 +80,12 @@ public class NiciraMatchCodecs { public static final Nshc2Codec NSC2_CODEC = new Nshc2Codec(); public static final Nshc3Codec NSC3_CODEC = new Nshc3Codec(); public static final Nshc4Codec NSC4_CODEC = new Nshc4Codec(); + public static final EncapEthTypeCodec ENCAP_ETH_TYPE_CODEC = new EncapEthTypeCodec(); + public static final EncapEthSrcCodec ENCAP_ETH_SRC_CODEC = new EncapEthSrcCodec(); + public static final EncapEthDstCodec ENCAP_ETH_DST_CODEC = new EncapEthDstCodec(); + public static final NshMdtypeCodec NSH_MDTYPE_CODEC = new NshMdtypeCodec(); + public static final NshNpCodec NSH_NP_CODEC = new NshNpCodec(); + public static final TunGpeNpCodec TUN_GPE_NP_CODEC = new TunGpeNpCodec(); public static final TcpSrcCodec TCP_SRC_CODEC = new TcpSrcCodec(); public static final TcpDstCodec TCP_DST_CODEC = new TcpDstCodec(); public static final UdpSrcCodec UDP_SRC_CODEC = new UdpSrcCodec(); diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/NiciraActionCodecs.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/NiciraActionCodecs.java index 2914e7ea87..a2e7133036 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/NiciraActionCodecs.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/NiciraActionCodecs.java @@ -20,11 +20,7 @@ public class NiciraActionCodecs { public static final OutputRegCodec OUTPUT_REG_CODEC = new OutputRegCodec(); public static final ResubmitCodec RESUBMIT_CODEC = new ResubmitCodec(); public static final MultipathCodec MULTIPATH_CODEC = new MultipathCodec(); - public static final SetNspCodec SET_NSP_CODEC = new SetNspCodec(); - public static final SetNsiCodec SET_NSI_CODEC = new SetNsiCodec(); - public static final SetNshc1Codec SET_NSC1_CODEC = new SetNshc1Codec(); - public static final SetNshc2Codec SET_NSC2_CODEC = new SetNshc2Codec(); - public static final SetNshc3Codec SET_NSC3_CODEC = new SetNshc3Codec(); - public static final SetNshc4Codec SET_NSC4_CODEC = new SetNshc4Codec(); + public static final PushNshCodec PUSH_NSH_CODEC = new PushNshCodec(); + public static final PopNshCodec POP_NSH_CODEC = new PopNshCodec(); public static final ConntrackCodec CONNTRACK_CODEC = new ConntrackCodec(); } diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNspCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/PopNshCodec.java similarity index 60% rename from extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNspCodec.java rename to extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/PopNshCodec.java index 5bf0697cd6..f85d093fae 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNspCodec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/PopNshCodec.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014, 2015 Red Hat, Inc. and others. All rights reserved. + * Copyright (C) 2015 Intel, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -14,38 +14,36 @@ import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey; import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNspBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.NxActionSetNspBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPopNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPopNshBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.pop.nsh.grouping.NxActionPopNshBuilder; /** - * Codec for the NX_SetNsp and NX_SetNsp_TABLE + * Codec for the pop_nsh */ -public class SetNspCodec extends AbstractActionCodec { +public class PopNshCodec extends AbstractActionCodec { public static final int LENGTH = 16; - public static final byte NXAST_SET_NSP_SUBTYPE = 32; + public static final byte NXAST_POP_NSH_SUBTYPE = 39; public static final NiciraActionSerializerKey SERIALIZER_KEY = - new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNsp.class); + new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionPopNsh.class); public static final NiciraActionDeserializerKey DESERIALIZER_KEY = - new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSP_SUBTYPE); - private static final int padding = 2; // nx_action_SetNsp : uint8_t pad[3]; + new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_POP_NSH_SUBTYPE); + private static final int padding = 6; @Override public void serialize(Action input, ByteBuf outBuffer) { - ActionSetNsp action = ((ActionSetNsp) input.getActionChoice()); - serializeHeader(LENGTH, NXAST_SET_NSP_SUBTYPE, outBuffer); + ActionPopNsh action = ((ActionPopNsh) input.getActionChoice()); + serializeHeader(LENGTH, NXAST_POP_NSH_SUBTYPE, outBuffer); outBuffer.writeZero(padding); - outBuffer.writeInt(action.getNxActionSetNsp().getNsp().intValue()); } @Override public Action deserialize(ByteBuf message) { ActionBuilder actionBuilder = deserializeHeader(message); - ActionSetNspBuilder builder = new ActionSetNspBuilder(); - NxActionSetNspBuilder nxActionSetNspBuilder = new NxActionSetNspBuilder(); + ActionPopNshBuilder builder = new ActionPopNshBuilder(); + NxActionPopNshBuilder nxActionPopNshBuilder = new NxActionPopNshBuilder(); message.skipBytes(padding); - nxActionSetNspBuilder.setNsp(message.readUnsignedInt()); - builder.setNxActionSetNsp(nxActionSetNspBuilder.build()); + builder.setNxActionPopNsh(nxActionPopNshBuilder.build()); actionBuilder.setActionChoice(builder.build()); return actionBuilder.build(); } diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc2Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/PushNshCodec.java similarity index 59% rename from extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc2Codec.java rename to extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/PushNshCodec.java index c91446c0d8..7a89d1cdaa 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc2Codec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/PushNshCodec.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (C) 2015 Intel, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -9,44 +9,41 @@ package org.opendaylight.openflowjava.nx.codec.action; import io.netty.buffer.ByteBuf; - import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey; import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey; import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc2; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc2Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._2.grouping.NxActionSetNshc2Builder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPushNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPushNshBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.push.nsh.grouping.NxActionPushNshBuilder; /** - * Codec for the NX_SetNsp and NX_SetNsp_TABLE + * Codec for the push_nsh */ -public class SetNshc2Codec extends AbstractActionCodec { +public class PushNshCodec extends AbstractActionCodec { public static final int LENGTH = 16; - public static final byte NXAST_SET_NSC_SUBTYPE = 35; + public static final byte NXAST_PUSH_NSH_SUBTYPE = 38; public static final NiciraActionSerializerKey SERIALIZER_KEY = - new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc2.class); + new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionPushNsh.class); public static final NiciraActionDeserializerKey DESERIALIZER_KEY = - new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSC_SUBTYPE); - private static final int padding = 2; // nx_action_SetNsp : uint8_t pad[3]; + new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_PUSH_NSH_SUBTYPE); + private static final int padding = 6; @Override public void serialize(Action input, ByteBuf outBuffer) { - ActionSetNshc2 action = ((ActionSetNshc2) input.getActionChoice()); - serializeHeader(LENGTH, NXAST_SET_NSC_SUBTYPE, outBuffer); + ActionPushNsh action = ((ActionPushNsh) input.getActionChoice()); + serializeHeader(LENGTH, NXAST_PUSH_NSH_SUBTYPE, outBuffer); outBuffer.writeZero(padding); - outBuffer.writeInt(action.getNxActionSetNshc2().getNshc().intValue()); } @Override public Action deserialize(ByteBuf message) { ActionBuilder actionBuilder = deserializeHeader(message); - ActionSetNshc2Builder builder = new ActionSetNshc2Builder(); - NxActionSetNshc2Builder nxActionSetNspBuilder = new NxActionSetNshc2Builder(); + ActionPushNshBuilder builder = new ActionPushNshBuilder(); + NxActionPushNshBuilder nxActionPushNshBuilder = new NxActionPushNshBuilder(); message.skipBytes(padding); - nxActionSetNspBuilder.setNshc(message.readUnsignedInt()); - builder.setNxActionSetNshc2(nxActionSetNspBuilder.build()); + builder.setNxActionPushNsh(nxActionPushNshBuilder.build()); actionBuilder.setActionChoice(builder.build()); return actionBuilder.build(); } diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1Codec.java deleted file mode 100644 index e01d18a6ef..0000000000 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1Codec.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import io.netty.buffer.ByteBuf; - -import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey; -import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._1.grouping.NxActionSetNshc1Builder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Codec for the NX_SetNsp and NX_SetNsp_TABLE - */ -public class SetNshc1Codec extends AbstractActionCodec { - - public static final int LENGTH = 16; - public static final byte NXAST_SET_NSC_SUBTYPE = 34; - public static final NiciraActionSerializerKey SERIALIZER_KEY = - new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc1.class); - public static final NiciraActionDeserializerKey DESERIALIZER_KEY = - new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSC_SUBTYPE); - private static final int padding = 2; // nx_action_SetNsp : uint8_t pad[3]; - - @Override - public void serialize(Action input, ByteBuf outBuffer) { - ActionSetNshc1 action = ((ActionSetNshc1) input.getActionChoice()); - serializeHeader(LENGTH, NXAST_SET_NSC_SUBTYPE, outBuffer); - outBuffer.writeZero(padding); - outBuffer.writeInt(action.getNxActionSetNshc1().getNshc().intValue()); - } - - @Override - public Action deserialize(ByteBuf message) { - ActionBuilder actionBuilder = deserializeHeader(message); - ActionSetNshc1Builder builder = new ActionSetNshc1Builder(); - NxActionSetNshc1Builder nxActionSetNspBuilder = new NxActionSetNshc1Builder(); - message.skipBytes(padding); - nxActionSetNspBuilder.setNshc(message.readUnsignedInt()); - builder.setNxActionSetNshc1(nxActionSetNspBuilder.build()); - actionBuilder.setActionChoice(builder.build()); - return actionBuilder.build(); - } - -} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3Codec.java deleted file mode 100644 index e71857a17f..0000000000 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3Codec.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import io.netty.buffer.ByteBuf; - -import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey; -import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._3.grouping.NxActionSetNshc3Builder; - -/** - * Codec for the NX_SetNsp and NX_SetNsp_TABLE - */ -public class SetNshc3Codec extends AbstractActionCodec { - - public static final int LENGTH = 16; - public static final byte NXAST_SET_NSC_SUBTYPE = 36; - public static final NiciraActionSerializerKey SERIALIZER_KEY = - new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc3.class); - public static final NiciraActionDeserializerKey DESERIALIZER_KEY = - new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSC_SUBTYPE); - private static final int padding = 2; // nx_action_SetNsp : uint8_t pad[3]; - - @Override - public void serialize(Action input, ByteBuf outBuffer) { - ActionSetNshc3 action = ((ActionSetNshc3) input.getActionChoice()); - serializeHeader(LENGTH, NXAST_SET_NSC_SUBTYPE, outBuffer); - outBuffer.writeZero(padding); - outBuffer.writeInt(action.getNxActionSetNshc3().getNshc().intValue()); - } - - @Override - public Action deserialize(ByteBuf message) { - ActionBuilder actionBuilder = deserializeHeader(message); - ActionSetNshc3Builder builder = new ActionSetNshc3Builder(); - NxActionSetNshc3Builder nxActionSetNspBuilder = new NxActionSetNshc3Builder(); - message.skipBytes(padding); - nxActionSetNspBuilder.setNshc(message.readUnsignedInt()); - builder.setNxActionSetNshc3(nxActionSetNspBuilder.build()); - actionBuilder.setActionChoice(builder.build()); - return actionBuilder.build(); - } - -} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4Codec.java deleted file mode 100644 index 825e25a535..0000000000 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4Codec.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import io.netty.buffer.ByteBuf; - -import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey; -import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._4.grouping.NxActionSetNshc4Builder; - -/** - * Codec for the NX_SetNsp and NX_SetNsp_TABLE - */ -public class SetNshc4Codec extends AbstractActionCodec { - public static final int LENGTH = 16; - public static final byte NXAST_SET_NSC_SUBTYPE = 37; - public static final NiciraActionSerializerKey SERIALIZER_KEY = - new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc4.class); - public static final NiciraActionDeserializerKey DESERIALIZER_KEY = - new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSC_SUBTYPE); - private static final int padding = 2; // nx_action_SetNsp : uint8_t pad[3]; - - @Override - public void serialize(Action input, ByteBuf outBuffer) { - ActionSetNshc4 action = ((ActionSetNshc4) input.getActionChoice()); - serializeHeader(LENGTH, NXAST_SET_NSC_SUBTYPE, outBuffer); - outBuffer.writeZero(padding); - outBuffer.writeInt(action.getNxActionSetNshc4().getNshc().intValue()); - } - - @Override - public Action deserialize(ByteBuf message) { - ActionBuilder actionBuilder = deserializeHeader(message); - ActionSetNshc4Builder builder = new ActionSetNshc4Builder(); - NxActionSetNshc4Builder nxActionSetNspBuilder = new NxActionSetNshc4Builder(); - message.skipBytes(padding); - nxActionSetNspBuilder.setNshc(message.readUnsignedInt()); - builder.setNxActionSetNshc4(nxActionSetNspBuilder.build()); - actionBuilder.setActionChoice(builder.build()); - return actionBuilder.build(); - } - -} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodec.java deleted file mode 100644 index 96e5f56698..0000000000 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodec.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2014, 2015 Red Hat, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import io.netty.buffer.ByteBuf; -import org.opendaylight.openflowjava.nx.api.NiciraActionDeserializerKey; -import org.opendaylight.openflowjava.nx.api.NiciraActionSerializerKey; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsiBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.NxActionSetNsiBuilder; - -/** - * Codec for the NX_SetNsi and NX_SetNsi_TABLE - */ -public class SetNsiCodec extends AbstractActionCodec { - public static final int LENGTH = 16; - public static final byte NXAST_SET_NSI_SUBTYPE = 33; - public static final NiciraActionSerializerKey SERIALIZER_KEY = - new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNsi.class); - public static final NiciraActionDeserializerKey DESERIALIZER_KEY = - new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, NXAST_SET_NSI_SUBTYPE); - private static final int padding = 5; // nx_action_SetNsi : uint8_t pad[3]; - - @Override - public void serialize(final Action input, final ByteBuf outBuffer) { - ActionSetNsi action = ((ActionSetNsi) input.getActionChoice()); - serializeHeader(LENGTH, NXAST_SET_NSI_SUBTYPE, outBuffer); - outBuffer.writeByte(action.getNxActionSetNsi().getNsi().byteValue()); - outBuffer.writeZero(padding); - } - - @Override - public Action deserialize(final ByteBuf message) { - ActionBuilder actionBuilder = deserializeHeader(message); - ActionSetNsiBuilder builder = new ActionSetNsiBuilder(); - NxActionSetNsiBuilder nxActionSetNsiBuilder = new NxActionSetNsiBuilder(); - nxActionSetNsiBuilder.setNsi(message.readUnsignedByte()); - message.skipBytes(padding); - - builder.setNxActionSetNsi(nxActionSetNsiBuilder.build()); - actionBuilder.setActionChoice(builder.build()); - return actionBuilder.build(); - } - -} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthDstCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthDstCodec.java new file mode 100644 index 0000000000..9b96687e29 --- /dev/null +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthDstCodec.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.nx.codec.match; + +import io.netty.buffer.ByteBuf; + +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants; +import org.opendaylight.openflowjava.util.ByteBufUtils; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxEncapEthDst; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.encap.eth.dst.grouping.EncapEthDstValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthDstCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthDstCaseValueBuilder; + +public class EncapEthDstCodec extends AbstractMatchCodec { + + private static final int VALUE_LENGTH = 6; + private static final int NXM_FIELD_CODE = 122; + public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( + EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxEncapEthDst.class); + public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( + EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE); + + @Override + public void serialize(MatchEntry input, ByteBuf outBuffer) { + serializeHeader(input, outBuffer); + EncapEthDstCaseValue value = ((EncapEthDstCaseValue) input.getMatchEntryValue()); + outBuffer.writeBytes(ByteBufUtils.macAddressToBytes(value.getEncapEthDstValues().getMacAddress().getValue())); + } + + @Override + public MatchEntry deserialize(ByteBuf message) { + MatchEntryBuilder matchEntriesBuilder = deserializeHeader(message); + byte[] address = new byte[VALUE_LENGTH]; + message.readBytes(address); + EncapEthDstCaseValueBuilder caseBuilder = new EncapEthDstCaseValueBuilder(); + caseBuilder.setEncapEthDstValues(new EncapEthDstValuesBuilder().setMacAddress( + new MacAddress(ByteBufUtils.macAddressToString(address))).build()); + matchEntriesBuilder.setMatchEntryValue(caseBuilder.build()); + matchEntriesBuilder.setHasMask(false); + return matchEntriesBuilder.build(); + } + + @Override + public int getNxmFieldCode() { + return NXM_FIELD_CODE; + } + + @Override + public int getOxmClassCode() { + return OxmMatchConstants.NXM_1_CLASS; + } + + @Override + public int getValueLength() { + return VALUE_LENGTH; + } + + @Override + public Class getNxmField() { + return NxmNxEncapEthDst.class; + } + + @Override + public Class getOxmClass() { + return Nxm1Class.class; + } + +} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthSrcCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthSrcCodec.java new file mode 100644 index 0000000000..12c24c222c --- /dev/null +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthSrcCodec.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.nx.codec.match; + +import io.netty.buffer.ByteBuf; + +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants; +import org.opendaylight.openflowjava.util.ByteBufUtils; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxEncapEthSrc; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.encap.eth.src.grouping.EncapEthSrcValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthSrcCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthSrcCaseValueBuilder; + +public class EncapEthSrcCodec extends AbstractMatchCodec { + + private static final int VALUE_LENGTH = 6; + private static final int NXM_FIELD_CODE = 121; + public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( + EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxEncapEthSrc.class); + public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( + EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE); + + @Override + public void serialize(MatchEntry input, ByteBuf outBuffer) { + serializeHeader(input, outBuffer); + EncapEthSrcCaseValue value = ((EncapEthSrcCaseValue) input.getMatchEntryValue()); + outBuffer.writeBytes(ByteBufUtils.macAddressToBytes(value.getEncapEthSrcValues().getMacAddress().getValue())); + } + + @Override + public MatchEntry deserialize(ByteBuf message) { + MatchEntryBuilder matchEntriesBuilder = deserializeHeader(message); + byte[] address = new byte[VALUE_LENGTH]; + message.readBytes(address); + EncapEthSrcCaseValueBuilder caseBuilder = new EncapEthSrcCaseValueBuilder(); + caseBuilder.setEncapEthSrcValues(new EncapEthSrcValuesBuilder().setMacAddress( + new MacAddress(ByteBufUtils.macAddressToString(address))).build()); + matchEntriesBuilder.setMatchEntryValue(caseBuilder.build()); + matchEntriesBuilder.setHasMask(false); + return matchEntriesBuilder.build(); + } + + @Override + public int getNxmFieldCode() { + return NXM_FIELD_CODE; + } + + @Override + public int getOxmClassCode() { + return OxmMatchConstants.NXM_1_CLASS; + } + + @Override + public int getValueLength() { + return VALUE_LENGTH; + } + + @Override + public Class getNxmField() { + return NxmNxEncapEthSrc.class; + } + + @Override + public Class getOxmClass() { + return Nxm1Class.class; + } + +} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthTypeCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthTypeCodec.java new file mode 100644 index 0000000000..4c1e1619b7 --- /dev/null +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EncapEthTypeCodec.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.nx.codec.match; + +import io.netty.buffer.ByteBuf; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxEncapEthType; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.encap.eth.type.grouping.EncapEthTypeValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthTypeCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthTypeCaseValueBuilder; + +public class EncapEthTypeCodec extends AbstractMatchCodec { + + private static final int VALUE_LENGTH = 2; + private static final int NXM_FIELD_CODE = 123; + public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( + EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxEncapEthType.class); + public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( + EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE); + + @Override + public void serialize(MatchEntry input, ByteBuf outBuffer) { + serializeHeader(input, outBuffer); + EncapEthTypeCaseValue encapEthTypeCaseValue = ((EncapEthTypeCaseValue) input.getMatchEntryValue()); + outBuffer.writeShort(encapEthTypeCaseValue.getEncapEthTypeValues().getEncapEthType().intValue()); + } + + @Override + public MatchEntry deserialize(ByteBuf message) { + MatchEntryBuilder matchEntryBuilder = deserializeHeader(message); + EncapEthTypeCaseValueBuilder encapEthTypeCaseValueBuilder= new EncapEthTypeCaseValueBuilder(); + encapEthTypeCaseValueBuilder.setEncapEthTypeValues(new EncapEthTypeValuesBuilder().setEncapEthType(message.readUnsignedShort()).build()); + matchEntryBuilder.setMatchEntryValue(encapEthTypeCaseValueBuilder.build()); + matchEntryBuilder.setHasMask(false); + return matchEntryBuilder.build(); + } + + @Override + public int getNxmFieldCode() { + return NXM_FIELD_CODE; + } + + @Override + public int getOxmClassCode() { + return OxmMatchConstants.NXM_1_CLASS; + } + + @Override + public int getValueLength() { + return VALUE_LENGTH; + } + + @Override + public Class getNxmField() { + return NxmNxEncapEthType.class; + } + + @Override + public Class getOxmClass() { + return Nxm1Class.class; + } +} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshMdtypeCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshMdtypeCodec.java new file mode 100644 index 0000000000..7ef73435f8 --- /dev/null +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshMdtypeCodec.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.nx.codec.match; + +import io.netty.buffer.ByteBuf; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshMdtype; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsh.mdtype.grouping.NshMdtypeValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshMdtypeCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshMdtypeCaseValueBuilder; + +public class NshMdtypeCodec extends AbstractMatchCodec { + + private static final int VALUE_LENGTH = 1; + private static final int NXM_FIELD_CODE = 119; + public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( + EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshMdtype.class); + public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( + EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE); + + @Override + public void serialize(MatchEntry input, ByteBuf outBuffer) { + serializeHeader(input, outBuffer); + NshMdtypeCaseValue nshMdtypeCaseValue = ((NshMdtypeCaseValue) input.getMatchEntryValue()); + outBuffer.writeByte(nshMdtypeCaseValue.getNshMdtypeValues().getValue()); + } + + @Override + public MatchEntry deserialize(ByteBuf message) { + MatchEntryBuilder matchEntriesBuilder = deserializeHeader(message); + NshMdtypeCaseValueBuilder nshMdtypeCaseValueBuilder = new NshMdtypeCaseValueBuilder(); + nshMdtypeCaseValueBuilder.setNshMdtypeValues(new NshMdtypeValuesBuilder().setValue(message.readUnsignedByte()).build()); + matchEntriesBuilder.setMatchEntryValue(nshMdtypeCaseValueBuilder.build()); + matchEntriesBuilder.setHasMask(false); + return matchEntriesBuilder.build(); + } + + @Override + public int getNxmFieldCode() { + return NXM_FIELD_CODE; + } + + @Override + public int getOxmClassCode() { + return OxmMatchConstants.NXM_1_CLASS; + } + + @Override + public int getValueLength() { + return VALUE_LENGTH; + } + + @Override + public Class getNxmField() { + return NxmNxNshMdtype.class; + } + + @Override + public Class getOxmClass() { + return Nxm1Class.class; + } +} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshNpCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshNpCodec.java new file mode 100644 index 0000000000..2484956476 --- /dev/null +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NshNpCodec.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.nx.codec.match; + +import io.netty.buffer.ByteBuf; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshNp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsh.np.grouping.NshNpValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshNpCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshNpCaseValueBuilder; + +public class NshNpCodec extends AbstractMatchCodec { + + private static final int VALUE_LENGTH = 1; + private static final int NXM_FIELD_CODE = 120; + public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( + EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshNp.class); + public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( + EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE); + + @Override + public void serialize(MatchEntry input, ByteBuf outBuffer) { + serializeHeader(input, outBuffer); + NshNpCaseValue nshNpCaseValue = ((NshNpCaseValue) input.getMatchEntryValue()); + outBuffer.writeByte(nshNpCaseValue.getNshNpValues().getValue()); + } + + @Override + public MatchEntry deserialize(ByteBuf message) { + MatchEntryBuilder matchEntriesBuilder = deserializeHeader(message); + NshNpCaseValueBuilder nshNpCaseValueBuilder = new NshNpCaseValueBuilder(); + nshNpCaseValueBuilder.setNshNpValues(new NshNpValuesBuilder().setValue(message.readUnsignedByte()).build()); + matchEntriesBuilder.setMatchEntryValue(nshNpCaseValueBuilder.build()); + matchEntriesBuilder.setHasMask(false); + return matchEntriesBuilder.build(); + } + + @Override + public int getNxmFieldCode() { + return NXM_FIELD_CODE; + } + + @Override + public int getOxmClassCode() { + return OxmMatchConstants.NXM_1_CLASS; + } + + @Override + public int getValueLength() { + return VALUE_LENGTH; + } + + @Override + public Class getNxmField() { + return NxmNxNshNp.class; + } + + @Override + public Class getOxmClass() { + return Nxm1Class.class; + } +} diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1Codec.java index 109a6cff42..8a17edac87 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1Codec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1Codec.java @@ -27,7 +27,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 public class Nshc1Codec extends AbstractMatchCodec { private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 39; + private static final int NXM_FIELD_CODE = 115; public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc1.class); public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2Codec.java index 7a93699803..27cdac536d 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2Codec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2Codec.java @@ -27,7 +27,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 public class Nshc2Codec extends AbstractMatchCodec { private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 40; + private static final int NXM_FIELD_CODE = 116; public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc2.class); public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3Codec.java index 07a15fb39e..94ce944ccd 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3Codec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3Codec.java @@ -27,7 +27,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 public class Nshc3Codec extends AbstractMatchCodec { private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 41; + private static final int NXM_FIELD_CODE = 117; public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc3.class); public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4Codec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4Codec.java index b30c95d7b8..17f3b76a82 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4Codec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4Codec.java @@ -27,7 +27,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 public class Nshc4Codec extends AbstractMatchCodec { private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 42; + private static final int NXM_FIELD_CODE = 118; public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc4.class); public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodec.java index 6d4fc5dad4..47cb423b0d 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodec.java @@ -26,7 +26,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 public class NsiCodec extends AbstractMatchCodec { private static final int VALUE_LENGTH = 1; - private static final int NXM_FIELD_CODE = 38; + private static final int NXM_FIELD_CODE = 114; public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsi.class); public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NspCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NspCodec.java index b0c78acb75..cf08dd5a21 100644 --- a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NspCodec.java +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/NspCodec.java @@ -26,7 +26,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14 public class NspCodec extends AbstractMatchCodec { private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 37; + private static final int NXM_FIELD_CODE = 113; public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsp.class); public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( @@ -45,7 +45,7 @@ public class NspCodec extends AbstractMatchCodec { NspCaseValueBuilder nspCaseValueBuilder = new NspCaseValueBuilder(); nspCaseValueBuilder.setNspValues(new NspValuesBuilder().setNsp(message.readUnsignedInt()).build()); matchEntryBuilder.setMatchEntryValue(nspCaseValueBuilder.build()); - + matchEntryBuilder.setHasMask(false); return matchEntryBuilder.build(); } diff --git a/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/TunGpeNpCodec.java b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/TunGpeNpCodec.java new file mode 100644 index 0000000000..116a8ff0fa --- /dev/null +++ b/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/TunGpeNpCodec.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.nx.codec.match; + +import io.netty.buffer.ByteBuf; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey; +import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxTunGpeNp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.tun.gpe.np.grouping.TunGpeNpValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.TunGpeNpCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.TunGpeNpCaseValueBuilder; + +public class TunGpeNpCodec extends AbstractMatchCodec { + + private static final int VALUE_LENGTH = 1; + private static final int NXM_FIELD_CODE = 111; + public static final MatchEntrySerializerKey SERIALIZER_KEY = new MatchEntrySerializerKey<>( + EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxTunGpeNp.class); + public static final MatchEntryDeserializerKey DESERIALIZER_KEY = new MatchEntryDeserializerKey( + EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, NXM_FIELD_CODE); + + @Override + public void serialize(MatchEntry input, ByteBuf outBuffer) { + serializeHeader(input, outBuffer); + TunGpeNpCaseValue tunGpeNpCaseValue = ((TunGpeNpCaseValue) input.getMatchEntryValue()); + outBuffer.writeByte(tunGpeNpCaseValue.getTunGpeNpValues().getValue()); + } + + @Override + public MatchEntry deserialize(ByteBuf message) { + MatchEntryBuilder matchEntriesBuilder = deserializeHeader(message); + TunGpeNpCaseValueBuilder tunGpeNpCaseValueBuilder = new TunGpeNpCaseValueBuilder(); + tunGpeNpCaseValueBuilder.setTunGpeNpValues(new TunGpeNpValuesBuilder().setValue(message.readUnsignedByte()).build()); + matchEntriesBuilder.setMatchEntryValue(tunGpeNpCaseValueBuilder.build()); + matchEntriesBuilder.setHasMask(false); + return matchEntriesBuilder.build(); + } + + @Override + public int getNxmFieldCode() { + return NXM_FIELD_CODE; + } + + @Override + public int getOxmClassCode() { + return OxmMatchConstants.NXM_1_CLASS; + } + + @Override + public int getValueLength() { + return VALUE_LENGTH; + } + + @Override + public Class getNxmField() { + return NxmNxTunGpeNp.class; + } + + @Override + public Class getOxmClass() { + return Nxm1Class.class; + } +} diff --git a/extension/openflowjava-extension-nicira/src/main/yang/nicira-action.yang b/extension/openflowjava-extension-nicira/src/main/yang/nicira-action.yang index c14774827b..c0677b9234 100644 --- a/extension/openflowjava-extension-nicira/src/main/yang/nicira-action.yang +++ b/extension/openflowjava-extension-nicira/src/main/yang/nicira-action.yang @@ -30,10 +30,10 @@ module nicira-action { identity nxm-nx-multipath { base ofaction:experimenter-action-sub-type; } - identity nxm-nx-set-nsp { + identity nxm-nx-push-nsh { base ofaction:experimenter-action-sub-type; } - identity nxm-nx-set-nsi { + identity nxm-nx-pop-nsh { base ofaction:experimenter-action-sub-type; } identity nxm-nx-conntrack { @@ -173,58 +173,21 @@ module nicira-action { } } - grouping ofj-nx-action-set-nsp-grouping { - container nx-action-set-nsp { - leaf nsp { - type uint32; - } + grouping ofj-nx-action-push-nsh-grouping { + container nx-action-push-nsh { leaf experimenter-id { type oft:experimenter-id; } } } - - grouping ofj-nx-action-set-nsi-grouping { - container nx-action-set-nsi { - leaf nsi { - type uint8; - } + grouping ofj-nx-action-pop-nsh-grouping { + container nx-action-pop-nsh { leaf experimenter-id { type oft:experimenter-id; } } } - grouping ofj-nx-action-set-nshc-grouping { - leaf nshc { - type uint32; - } - leaf experimenter-id { - type oft:experimenter-id; - } - } - - grouping ofj-nx-action-set-nshc-1-grouping { - container nx-action-set-nshc-1 { - uses ofj-nx-action-set-nshc-grouping; - } - } - grouping ofj-nx-action-set-nshc-2-grouping { - container nx-action-set-nshc-2 { - uses ofj-nx-action-set-nshc-grouping; - } - } - grouping ofj-nx-action-set-nshc-3-grouping { - container nx-action-set-nshc-3 { - uses ofj-nx-action-set-nshc-grouping; - } - } - grouping ofj-nx-action-set-nshc-4-grouping { - container nx-action-set-nshc-4 { - uses ofj-nx-action-set-nshc-grouping; - } - } - grouping ofj-nx-action-conntrack-grouping { container nx-action-conntrack { leaf flags { @@ -262,23 +225,11 @@ module nicira-action { case action-multipath { uses ofj-nx-action-multipath-grouping; } - case action-set-nsp { - uses ofj-nx-action-set-nsp-grouping; - } - case action-set-nsi { - uses ofj-nx-action-set-nsi-grouping; - } - case action-set-nshc-1 { - uses ofj-nx-action-set-nshc-1-grouping; - } - case action-set-nshc-2 { - uses ofj-nx-action-set-nshc-2-grouping; - } - case action-set-nshc-3 { - uses ofj-nx-action-set-nshc-3-grouping; + case action-push-nsh { + uses ofj-nx-action-push-nsh-grouping; } - case action-set-nshc-4 { - uses ofj-nx-action-set-nshc-4-grouping; + case action-pop-nsh { + uses ofj-nx-action-pop-nsh-grouping; } case action-conntrack { uses ofj-nx-action-conntrack-grouping; diff --git a/extension/openflowjava-extension-nicira/src/main/yang/nicira-match.yang b/extension/openflowjava-extension-nicira/src/main/yang/nicira-match.yang index fdae1534fa..98bea96d97 100644 --- a/extension/openflowjava-extension-nicira/src/main/yang/nicira-match.yang +++ b/extension/openflowjava-extension-nicira/src/main/yang/nicira-match.yang @@ -123,6 +123,25 @@ module nicira-match { identity nxm-of-icmp-type { base ofoxm:match-field; } + identity nxm-nx-encap-eth-type { + base ofoxm:match-field; + } + identity nxm-nx-encap-eth-src { + base ofoxm:match-field; + } + identity nxm-nx-encap-eth-dst { + base ofoxm:match-field; + } + identity nxm-nx-nsh-mdtype { + base ofoxm:match-field; + } + identity nxm-nx-nsh-np { + base ofoxm:match-field; + } + identity nxm-nx-tun-gpe-np { + base ofoxm:match-field; + } + grouping ofj-nxm-nx-match-reg-grouping { container reg-values { @@ -329,6 +348,48 @@ module nicira-match { } } } + grouping ofj-nxm-nx-match-encap-eth-type-grouping { + container encap-eth-type-values { + leaf encap-eth-type { + type uint16; + } + } + } + grouping ofj-nxm-nx-match-encap-eth-src-grouping { + container encap-eth-src-values { + leaf mac-address { + type yang:mac-address; + } + } + } + grouping ofj-nxm-nx-match-encap-eth-dst-grouping { + container encap-eth-dst-values { + leaf mac-address { + type yang:mac-address; + } + } + } + grouping ofj-nxm-nx-match-nsh-mdtype-grouping { + container nsh-mdtype-values { + leaf value { + type uint8; + } + } + } + grouping ofj-nxm-nx-match-nsh-np-grouping { + container nsh-np-values { + leaf value { + type uint8; + } + } + } + grouping ofj-nxm-nx-match-tun-gpe-np-grouping { + container tun-gpe-np-values { + leaf value { + type uint8; + } + } + } augment "/ofoxm:oxm-container/ofoxm:match-entry-value" { ext:augment-identifier "ofj-aug-nx-match"; @@ -365,6 +426,24 @@ module nicira-match { case eth-dst-case-value { uses ofj-nxm-of-match-eth-dst-grouping; } + case encap-eth-type-case-value { + uses ofj-nxm-nx-match-encap-eth-type-grouping; + } + case encap-eth-src-case-value { + uses ofj-nxm-nx-match-encap-eth-src-grouping; + } + case encap-eth-dst-case-value { + uses ofj-nxm-nx-match-encap-eth-dst-grouping; + } + case nsh-mdtype-case-value { + uses ofj-nxm-nx-match-nsh-mdtype-grouping; + } + case nsh-np-case-value { + uses ofj-nxm-nx-match-nsh-np-grouping; + } + case tun-gpe-np-case-value { + uses ofj-nxm-nx-match-tun-gpe-np-grouping; + } case eth-type-case-value { uses ofj-nxm-of-match-eth-type-grouping; diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistratorTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistratorTest.java index 04c45f0684..68c85d5f84 100644 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistratorTest.java +++ b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/NiciraExtensionsRegistratorTest.java @@ -22,11 +22,8 @@ import org.opendaylight.openflowjava.nx.codec.action.OutputRegCodec; import org.opendaylight.openflowjava.nx.codec.action.RegLoadCodec; import org.opendaylight.openflowjava.nx.codec.action.RegMoveCodec; import org.opendaylight.openflowjava.nx.codec.action.ResubmitCodec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc1Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc3Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc4Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNsiCodec; -import org.opendaylight.openflowjava.nx.codec.action.SetNspCodec; +import org.opendaylight.openflowjava.nx.codec.action.PushNshCodec; +import org.opendaylight.openflowjava.nx.codec.action.PopNshCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpOpCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpShaCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpSpaCodec; @@ -70,11 +67,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev1 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionRegLoad; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionRegMove; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionResubmit; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPushNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPopNsh; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxArpSha; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxArpTha; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxCtState; @@ -135,16 +129,10 @@ public class NiciraExtensionsRegistratorTest { Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 14)), Matchers.any(ResubmitCodec.class)); Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionMultipath.class)), Matchers.any(MultipathCodec.class)); Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 10)), Matchers.any(MultipathCodec.class)); - Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 32)), Matchers.any(SetNspCodec.class)); - Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNsp.class)), Matchers.any(SetNspCodec.class)); - Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 34)), Matchers.any(SetNshc1Codec.class)); - Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc1.class)), Matchers.any(SetNshc1Codec.class)); - Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 36)), Matchers.any(SetNshc3Codec.class)); - Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc3.class)), Matchers.any(SetNshc3Codec.class)); - Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 37)), Matchers.any(SetNshc4Codec.class)); - Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc4.class)), Matchers.any(SetNshc4Codec.class)); - Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 33)), Matchers.any(SetNsiCodec.class)); - Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNsi.class)), Matchers.any(SetNsiCodec.class)); + Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 38)), Matchers.any(PushNshCodec.class)); + Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionPushNsh.class)), Matchers.any(PushNshCodec.class)); + Mockito.verify(registrator).registerActionDeserializer(Matchers.eq(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 39)), Matchers.any(PopNshCodec.class)); + Mockito.verify(registrator).registerActionSerializer(Matchers.eq(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionPopNsh.class)), Matchers.any(PopNshCodec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxReg0.class)), Matchers.any(Reg0Codec.class)); Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 0)), Matchers.any(Reg0Codec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxReg1.class)), Matchers.any(Reg1Codec.class)); @@ -180,17 +168,17 @@ public class NiciraExtensionsRegistratorTest { Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm0Class.class, NxmOfEthType.class)), Matchers.any(EthTypeCodec.class)); Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_0_CLASS, 3)), Matchers.any(EthTypeCodec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsp.class)), Matchers.any(NspCodec.class)); - Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 37)), Matchers.any(NspCodec.class)); + Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 113)), Matchers.any(NspCodec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc1.class)), Matchers.any(Nshc1Codec.class)); - Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 39)), Matchers.any(Nshc1Codec.class)); + Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 115)), Matchers.any(Nshc1Codec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc2.class)), Matchers.any(Nshc2Codec.class)); - Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 40)), Matchers.any(Nshc2Codec.class)); + Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 116)), Matchers.any(Nshc2Codec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc3.class)), Matchers.any(Nshc3Codec.class)); - Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 41)), Matchers.any(Nshc3Codec.class)); + Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 117)), Matchers.any(Nshc3Codec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc4.class)), Matchers.any(Nshc4Codec.class)); - Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 42)), Matchers.any(Nshc4Codec.class)); + Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 118)), Matchers.any(Nshc4Codec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsi.class)), Matchers.any(NsiCodec.class)); - Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 38)), Matchers.any(NsiCodec.class)); + Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 114)), Matchers.any(NsiCodec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxTunIpv4Dst.class)), Matchers.any(TunIpv4DstCodec.class)); Mockito.verify(registrator).registerMatchEntryDeserializer(Matchers.eq(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 32)), Matchers.any(TunIpv4DstCodec.class)); Mockito.verify(registrator).registerMatchEntrySerializer(Matchers.eq(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxTunIpv4Src.class)), Matchers.any(TunIpv4SrcCodec.class)); @@ -224,16 +212,10 @@ public class NiciraExtensionsRegistratorTest { Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionResubmit.class)); Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 10)); Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionMultipath.class)); - Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 33)); - Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNsi.class)); - Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 32)); - Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNsp.class)); - Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 34)); - Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc1.class)); - Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 36)); - Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc3.class)); - Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 37)); - Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionSetNshc4.class)); + Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 38)); + Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionPushNsh.class)); + Mockito.verify(registrator).unregisterActionDeserializer(new NiciraActionDeserializerKey(EncodeConstants.OF13_VERSION_ID, 39)); + Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionPopNsh.class)); Mockito.verify(registrator).unregisterActionSerializer(new NiciraActionSerializerKey(EncodeConstants.OF13_VERSION_ID, ActionConntrack.class)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxReg0.class)); Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 0)); @@ -270,17 +252,17 @@ public class NiciraExtensionsRegistratorTest { Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm0Class.class, NxmOfEthType.class)); Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_0_CLASS, 3)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsp.class)); - Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 37)); + Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 113)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNsi.class)); - Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 38)); + Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 114)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc1.class)); - Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 39)); + Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 115)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc2.class)); - Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 40)); + Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 116)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc3.class)); - Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 41)); + Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 117)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxNshc4.class)); - Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 42)); + Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 118)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxTunIpv4Dst.class)); Mockito.verify(registrator).unregisterMatchEntryDeserializer(new MatchEntryDeserializerKey(EncodeConstants.OF13_VERSION_ID, OxmMatchConstants.NXM_1_CLASS, 32)); Mockito.verify(registrator).unregisterMatchEntrySerializer(new MatchEntrySerializerKey<>(EncodeConstants.OF13_VERSION_ID, Nxm1Class.class, NxmNxTunIpv4Src.class)); diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1CodecTest.java deleted file mode 100644 index fbc0fb18b7..0000000000 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc1CodecTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import static org.junit.Assert.assertEquals; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufAllocator; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.openflowjava.nx.api.NiciraConstants; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._1.grouping.NxActionSetNshc1Builder; - -public class SetNshc1CodecTest { - - SetNshc1Codec setNshc1Codec; - ByteBuf buffer; - Action action; - - private final int LENGTH = 16; - private final byte NXAST_SET_NSC_SUBTYPE = 34; - private final int padding = 2; - - @Before - public void setUp() { - setNshc1Codec = new SetNshc1Codec(); - buffer = ByteBufAllocator.DEFAULT.buffer(); - } - - @Test - public void serializeTest() { - action = createAction(); - setNshc1Codec.serialize(action, buffer); - - assertEquals(LENGTH, buffer.readableBytes()); - - //SerializeHeader part - assertEquals(EncodeConstants.EXPERIMENTER_VALUE, buffer.readUnsignedShort()); - assertEquals(LENGTH, buffer.readUnsignedShort()); - assertEquals(NiciraConstants.NX_VENDOR_ID.intValue(), buffer.readUnsignedInt()); - assertEquals(NXAST_SET_NSC_SUBTYPE, buffer.readUnsignedShort()); - //Serialize part - buffer.skipBytes(padding); - assertEquals(1, buffer.readUnsignedInt()); - } - - @Test - public void deserializeTest() { - createBuffer(buffer); - - action = setNshc1Codec.deserialize(buffer); - - ActionSetNshc1 result = (ActionSetNshc1) action.getActionChoice(); - - assertEquals(1, result.getNxActionSetNshc1().getNshc().intValue()); - assertEquals(0, buffer.readableBytes()); - } - - private Action createAction() { - ExperimenterId experimenterId = new ExperimenterId(NiciraConstants.NX_VENDOR_ID); - ActionBuilder actionBuilder = new ActionBuilder(); - actionBuilder.setExperimenterId(experimenterId); - ActionSetNshc1Builder actionSetNshc1Builder = new ActionSetNshc1Builder(); - NxActionSetNshc1Builder nxActionSetNshc1Builder = new NxActionSetNshc1Builder(); - - nxActionSetNshc1Builder.setNshc((long)1); - - actionSetNshc1Builder.setNxActionSetNshc1(nxActionSetNshc1Builder.build()); - actionBuilder.setActionChoice(actionSetNshc1Builder.build()); - - return actionBuilder.build(); - } - - private void createBuffer(ByteBuf message) { - message.writeShort(EncodeConstants.EXPERIMENTER_VALUE); - message.writeShort(LENGTH); - message.writeInt(NiciraConstants.NX_VENDOR_ID.intValue()); - message.writeShort(NXAST_SET_NSC_SUBTYPE); - - message.writeZero(padding); - message.writeInt(1); - } - - -} \ No newline at end of file diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc2CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc2CodecTest.java deleted file mode 100644 index 32fd1e5a5a..0000000000 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc2CodecTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import static org.junit.Assert.assertEquals; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufAllocator; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.openflowjava.nx.api.NiciraConstants; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc2; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc2Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._2.grouping.NxActionSetNshc2Builder; - -public class SetNshc2CodecTest { - - SetNshc2Codec setNshc2Codec; - ByteBuf buffer; - Action action; - - private final int LENGTH = 16; - private final byte NXAST_SET_NSC_SUBTYPE = 35; - private final int padding = 2; - - @Before - public void setUp() { - setNshc2Codec = new SetNshc2Codec(); - buffer = ByteBufAllocator.DEFAULT.buffer(); - } - - @Test - public void serializeTest() { - action = createAction(); - setNshc2Codec.serialize(action, buffer); - - assertEquals(LENGTH, buffer.readableBytes()); - - //SerializeHeader part - assertEquals(EncodeConstants.EXPERIMENTER_VALUE, buffer.readUnsignedShort()); - assertEquals(LENGTH, buffer.readUnsignedShort()); - assertEquals(NiciraConstants.NX_VENDOR_ID.intValue(), buffer.readUnsignedInt()); - assertEquals(NXAST_SET_NSC_SUBTYPE, buffer.readUnsignedShort()); - //Serialize part - buffer.skipBytes(padding); - assertEquals(2, buffer.readUnsignedInt()); - } - - @Test - public void deserializeTest() { - createBuffer(buffer); - - action = setNshc2Codec.deserialize(buffer); - - ActionSetNshc2 result = (ActionSetNshc2) action.getActionChoice(); - - assertEquals(2, result.getNxActionSetNshc2().getNshc().intValue()); - assertEquals(0, buffer.readableBytes()); - } - - private Action createAction() { - ExperimenterId experimenterId = new ExperimenterId(NiciraConstants.NX_VENDOR_ID); - ActionBuilder actionBuilder = new ActionBuilder(); - actionBuilder.setExperimenterId(experimenterId); - ActionSetNshc2Builder actionSetNshc2Builder = new ActionSetNshc2Builder(); - NxActionSetNshc2Builder nxActionSetNshc2Builder = new NxActionSetNshc2Builder(); - - nxActionSetNshc2Builder.setNshc((long)2); - - actionSetNshc2Builder.setNxActionSetNshc2(nxActionSetNshc2Builder.build()); - actionBuilder.setActionChoice(actionSetNshc2Builder.build()); - - return actionBuilder.build(); - } - - private void createBuffer(ByteBuf message) { - message.writeShort(EncodeConstants.EXPERIMENTER_VALUE); - message.writeShort(LENGTH); - message.writeInt(NiciraConstants.NX_VENDOR_ID.intValue()); - message.writeShort(NXAST_SET_NSC_SUBTYPE); - - message.writeZero(padding); - message.writeInt(2); - } - -} \ No newline at end of file diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3CodecTest.java deleted file mode 100644 index de9b147708..0000000000 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc3CodecTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import static org.junit.Assert.assertEquals; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufAllocator; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.openflowjava.nx.api.NiciraConstants; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._3.grouping.NxActionSetNshc3Builder; - -public class SetNshc3CodecTest { - - SetNshc3Codec setNshc3Codec; - ByteBuf buffer; - Action action; - - private final int LENGTH = 16; - private final byte NXAST_SET_NSC_SUBTYPE = 36; - private final int padding = 2; - - @Before - public void setUp() { - setNshc3Codec= new SetNshc3Codec(); - buffer = ByteBufAllocator.DEFAULT.buffer(); - } - - @Test - public void serializeTest() { - action = createAction(); - setNshc3Codec.serialize(action, buffer); - - assertEquals(LENGTH, buffer.readableBytes()); - - //SerializeHeader part - assertEquals(EncodeConstants.EXPERIMENTER_VALUE, buffer.readUnsignedShort()); - assertEquals(LENGTH, buffer.readUnsignedShort()); - assertEquals(NiciraConstants.NX_VENDOR_ID.intValue(), buffer.readUnsignedInt()); - assertEquals(NXAST_SET_NSC_SUBTYPE, buffer.readUnsignedShort()); - //Serialize - buffer.skipBytes(padding); - assertEquals(3, buffer.readUnsignedInt()); - } - - @Test - public void deserializeTest() { - createBuffer(buffer); - - action = setNshc3Codec.deserialize(buffer); - - ActionSetNshc3 result = (ActionSetNshc3) action.getActionChoice(); - - assertEquals(3, result.getNxActionSetNshc3().getNshc().intValue()); - assertEquals(0, buffer.readableBytes()); - } - - private Action createAction() { - ExperimenterId experimenterId = new ExperimenterId(NiciraConstants.NX_VENDOR_ID); - ActionBuilder actionBuilder = new ActionBuilder(); - actionBuilder.setExperimenterId(experimenterId); - ActionSetNshc3Builder actionSetNshc3Builder = new ActionSetNshc3Builder(); - NxActionSetNshc3Builder nxActionSetNshc3Builder = new NxActionSetNshc3Builder(); - - nxActionSetNshc3Builder.setNshc((long)3); - - actionSetNshc3Builder.setNxActionSetNshc3(nxActionSetNshc3Builder.build()); - actionBuilder.setActionChoice(actionSetNshc3Builder.build()); - - return actionBuilder.build(); - } - - private void createBuffer(ByteBuf message) { - message.writeShort(EncodeConstants.EXPERIMENTER_VALUE); - message.writeShort(LENGTH); - message.writeInt(NiciraConstants.NX_VENDOR_ID.intValue()); - message.writeShort(NXAST_SET_NSC_SUBTYPE); - - message.writeZero(padding); - message.writeInt(3); - } - -} \ No newline at end of file diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4CodecTest.java deleted file mode 100644 index 98d71f3d6f..0000000000 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNshc4CodecTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import static org.junit.Assert.assertEquals; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufAllocator; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.openflowjava.nx.api.NiciraConstants; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._4.grouping.NxActionSetNshc4Builder; - -public class SetNshc4CodecTest { - - SetNshc4Codec setNshc4Codec; - ByteBuf buffer; - Action action; - - private final int LENGTH = 16; - private final byte NXAST_SET_NSC_SUBTYPE = 37; - private final int padding = 2; - - @Before - public void setUp() { - setNshc4Codec = new SetNshc4Codec(); - buffer = ByteBufAllocator.DEFAULT.buffer(); - } - - @Test - public void serializeTest() { - action = createAction(); - setNshc4Codec.serialize(action, buffer); - - assertEquals(LENGTH, buffer.readableBytes()); - - //SerializeHeader part - assertEquals(EncodeConstants.EXPERIMENTER_VALUE, buffer.readUnsignedShort()); - assertEquals(LENGTH, buffer.readUnsignedShort()); - assertEquals(NiciraConstants.NX_VENDOR_ID.intValue(), buffer.readUnsignedInt()); - assertEquals(NXAST_SET_NSC_SUBTYPE, buffer.readUnsignedShort()); - //Serialize - buffer.skipBytes(padding); - assertEquals(4, buffer.readUnsignedInt()); - } - - @Test - public void deserializeTest() { - createBuffer(buffer); - - action = setNshc4Codec.deserialize(buffer); - - ActionSetNshc4 result = (ActionSetNshc4) action.getActionChoice(); - - assertEquals(4, result.getNxActionSetNshc4().getNshc().intValue()); - assertEquals(0, buffer.readableBytes()); - } - - private Action createAction() { - ExperimenterId experimenterId = new ExperimenterId(NiciraConstants.NX_VENDOR_ID); - ActionBuilder actionBuilder = new ActionBuilder(); - actionBuilder.setExperimenterId(experimenterId); - ActionSetNshc4Builder actionSetNshc4Builder = new ActionSetNshc4Builder(); - NxActionSetNshc4Builder nxActionSetNshc4Builder = new NxActionSetNshc4Builder(); - - nxActionSetNshc4Builder.setNshc((long)4); - - actionSetNshc4Builder.setNxActionSetNshc4(nxActionSetNshc4Builder.build()); - actionBuilder.setActionChoice(actionSetNshc4Builder.build()); - - return actionBuilder.build(); - } - - private void createBuffer(ByteBuf message) { - message.writeShort(EncodeConstants.EXPERIMENTER_VALUE); - message.writeShort(LENGTH); - message.writeInt(NiciraConstants.NX_VENDOR_ID.intValue()); - message.writeShort(NXAST_SET_NSC_SUBTYPE); - - message.writeZero(padding); - message.writeInt(4); - } - -} \ No newline at end of file diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodecTest.java deleted file mode 100644 index 89b0b23e75..0000000000 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNsiCodecTest.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import static org.junit.Assert.assertEquals; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufAllocator; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.openflowjava.nx.api.NiciraConstants; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsiBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.NxActionSetNsiBuilder; - -public class SetNsiCodecTest { - - SetNsiCodec setNsiCodec; - ByteBuf buffer; - Action action; - - private final int LENGTH = 16; - private final byte NXAST_SET_NSC_SUBTYPE = 33; - private final int padding = 5; - - @Before - public void setUp() { - setNsiCodec = new SetNsiCodec(); - buffer = ByteBufAllocator.DEFAULT.buffer(); - } - - @Test - public void serializeTest() { - action = createAction(); - setNsiCodec.serialize(action, buffer); - - assertEquals(LENGTH, buffer.readableBytes()); - - //SerializeHeader part - assertEquals(EncodeConstants.EXPERIMENTER_VALUE, buffer.readUnsignedShort()); - assertEquals(LENGTH, buffer.readUnsignedShort()); - assertEquals(NiciraConstants.NX_VENDOR_ID.intValue(), buffer.readUnsignedInt()); - assertEquals(NXAST_SET_NSC_SUBTYPE, buffer.readUnsignedShort()); - //Serialize - assertEquals(1, buffer.readUnsignedByte()); - } - - @Test - public void deserializeTest() { - createBuffer(buffer); - - action = setNsiCodec.deserialize(buffer); - - ActionSetNsi result = (ActionSetNsi) action.getActionChoice(); - - assertEquals(1, result.getNxActionSetNsi().getNsi().intValue()); - assertEquals(0, buffer.readableBytes()); - } - - private Action createAction() { - ExperimenterId experimenterId = new ExperimenterId(NiciraConstants.NX_VENDOR_ID); - ActionBuilder actionBuilder = new ActionBuilder(); - actionBuilder.setExperimenterId(experimenterId); - ActionSetNsiBuilder actionSetNsiBuilder = new ActionSetNsiBuilder(); - NxActionSetNsiBuilder nxActionSetNsiBuilder = new NxActionSetNsiBuilder(); - - nxActionSetNsiBuilder.setNsi((short)1); - - actionSetNsiBuilder.setNxActionSetNsi(nxActionSetNsiBuilder.build()); - actionBuilder.setActionChoice(actionSetNsiBuilder.build()); - - return actionBuilder.build(); - } - - private void createBuffer(ByteBuf message) { - message.writeShort(EncodeConstants.EXPERIMENTER_VALUE); - message.writeShort(LENGTH); - message.writeInt(NiciraConstants.NX_VENDOR_ID.intValue()); - message.writeShort(NXAST_SET_NSC_SUBTYPE); - - message.writeByte(1); - message.writeZero(padding); - } - -} \ No newline at end of file diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNspCodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNspCodecTest.java deleted file mode 100644 index 521e3fdf80..0000000000 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/action/SetNspCodecTest.java +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowjava.nx.codec.action; - -import static org.junit.Assert.assertEquals; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufAllocator; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.openflowjava.nx.api.NiciraConstants; -import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNspBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.NxActionSetNspBuilder; - -public class SetNspCodecTest { - SetNspCodec setNspCodec; - ByteBuf buffer; - Action action; - - private final int LENGTH = 16; - private final byte NXAST_SET_NSC_SUBTYPE = 32; - private final int padding = 2; - - @Before - public void setUp() { - setNspCodec = new SetNspCodec(); - buffer = ByteBufAllocator.DEFAULT.buffer(); - } - - @Test - public void serializeTest() { - action = createAction(); - setNspCodec.serialize(action, buffer); - - assertEquals(LENGTH, buffer.readableBytes()); - - //SerializeHeader part - assertEquals(EncodeConstants.EXPERIMENTER_VALUE, buffer.readUnsignedShort()); - assertEquals(LENGTH, buffer.readUnsignedShort()); - assertEquals(NiciraConstants.NX_VENDOR_ID.intValue(), buffer.readUnsignedInt()); - assertEquals(NXAST_SET_NSC_SUBTYPE, buffer.readUnsignedShort()); - //Serialize - buffer.skipBytes(padding); - assertEquals(1, buffer.readUnsignedInt()); - } - - @Test - public void deserializeTest() { - createBuffer(buffer); - - action = setNspCodec.deserialize(buffer); - - ActionSetNsp result = (ActionSetNsp) action.getActionChoice(); - - assertEquals(1, result.getNxActionSetNsp().getNsp().intValue()); - assertEquals(0, buffer.readableBytes()); - } - - private Action createAction() { - ExperimenterId experimenterId = new ExperimenterId(NiciraConstants.NX_VENDOR_ID); - ActionBuilder actionBuilder = new ActionBuilder(); - actionBuilder.setExperimenterId(experimenterId); - ActionSetNspBuilder actionSetNsiBuilder = new ActionSetNspBuilder(); - NxActionSetNspBuilder nxActionSetNsiBuilder = new NxActionSetNspBuilder(); - - nxActionSetNsiBuilder.setNsp((long)1); - - actionSetNsiBuilder.setNxActionSetNsp(nxActionSetNsiBuilder.build()); - actionBuilder.setActionChoice(actionSetNsiBuilder.build()); - - return actionBuilder.build(); - } - - private void createBuffer(ByteBuf message) { - message.writeShort(EncodeConstants.EXPERIMENTER_VALUE); - message.writeShort(LENGTH); - message.writeInt(NiciraConstants.NX_VENDOR_ID.intValue()); - message.writeShort(NXAST_SET_NSC_SUBTYPE); - - message.writeZero(padding); - message.writeInt(1); - } -} \ No newline at end of file diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1CodecTest.java index 08d2f595ca..0cd19fa227 100644 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1CodecTest.java +++ b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc1CodecTest.java @@ -30,7 +30,7 @@ public class Nshc1CodecTest { MatchEntry input; private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 39; + private static final int NXM_FIELD_CODE = 115; @Before public void setUp(){ @@ -91,4 +91,4 @@ public class Nshc1CodecTest { message.writeInt(2); } -} \ No newline at end of file +} diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2CodecTest.java index d13ab51184..8ddc5ab237 100644 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2CodecTest.java +++ b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc2CodecTest.java @@ -30,7 +30,7 @@ public class Nshc2CodecTest { MatchEntry input; private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 40; + private static final int NXM_FIELD_CODE = 116; @Before @@ -90,4 +90,4 @@ public class Nshc2CodecTest { message.writeByte(VALUE_LENGTH); message.writeInt(2); } -} \ No newline at end of file +} diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3CodecTest.java index a3a3cbb990..50a1afff46 100644 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3CodecTest.java +++ b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc3CodecTest.java @@ -30,7 +30,7 @@ public class Nshc3CodecTest { MatchEntry input; private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 41; + private static final int NXM_FIELD_CODE = 117; @Before public void setUp() { @@ -90,4 +90,4 @@ public class Nshc3CodecTest { message.writeByte(VALUE_LENGTH); message.writeInt(2); } -} \ No newline at end of file +} diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4CodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4CodecTest.java index b564367f52..b5649c688a 100644 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4CodecTest.java +++ b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/Nshc4CodecTest.java @@ -30,7 +30,7 @@ public class Nshc4CodecTest { MatchEntry input; private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 42; + private static final int NXM_FIELD_CODE = 118; @Before public void setUp() { @@ -90,4 +90,4 @@ public class Nshc4CodecTest { message.writeByte(VALUE_LENGTH); message.writeInt(2); } -} \ No newline at end of file +} diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodecTest.java index 2230096576..a7e145b160 100644 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodecTest.java +++ b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NsiCodecTest.java @@ -30,7 +30,7 @@ public class NsiCodecTest { MatchEntry input; private static final int VALUE_LENGTH = 1; - private static final int NXM_FIELD_CODE = 38; + private static final int NXM_FIELD_CODE = 114; @Before public void setUp() { @@ -90,4 +90,4 @@ public class NsiCodecTest { message.writeByte(VALUE_LENGTH); message.writeByte(2); } -} \ No newline at end of file +} diff --git a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NspCodecTest.java b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NspCodecTest.java index bf9f0724d4..de50c402c8 100644 --- a/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NspCodecTest.java +++ b/extension/openflowjava-extension-nicira/src/test/java/org/opendaylight/openflowjava/nx/codec/match/NspCodecTest.java @@ -30,7 +30,7 @@ public class NspCodecTest { MatchEntry input; private static final int VALUE_LENGTH = 4; - private static final int NXM_FIELD_CODE = 37; + private static final int NXM_FIELD_CODE = 113; @Before public void setUp() { @@ -90,4 +90,4 @@ public class NspCodecTest { message.writeByte(VALUE_LENGTH); message.writeInt(2); } -} \ No newline at end of file +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/NiciraExtensionProvider.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/NiciraExtensionProvider.java index a7ec257fcd..f9a89ea926 100644 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/NiciraExtensionProvider.java +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/NiciraExtensionProvider.java @@ -21,12 +21,8 @@ import org.opendaylight.openflowjava.nx.codec.action.OutputRegCodec; import org.opendaylight.openflowjava.nx.codec.action.RegLoadCodec; import org.opendaylight.openflowjava.nx.codec.action.RegMoveCodec; import org.opendaylight.openflowjava.nx.codec.action.ResubmitCodec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc1Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc2Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc3Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNshc4Codec; -import org.opendaylight.openflowjava.nx.codec.action.SetNsiCodec; -import org.opendaylight.openflowjava.nx.codec.action.SetNspCodec; +import org.opendaylight.openflowjava.nx.codec.action.PushNshCodec; +import org.opendaylight.openflowjava.nx.codec.action.PopNshCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpOpCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpShaCodec; import org.opendaylight.openflowjava.nx.codec.match.ArpSpaCodec; @@ -55,6 +51,12 @@ import org.opendaylight.openflowjava.nx.codec.match.TcpSrcCodec; import org.opendaylight.openflowjava.nx.codec.match.TcpDstCodec; import org.opendaylight.openflowjava.nx.codec.match.TunIdCodec; import org.opendaylight.openflowjava.nx.codec.match.TunIpv4SrcCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthTypeCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthSrcCodec; +import org.opendaylight.openflowjava.nx.codec.match.EncapEthDstCodec; +import org.opendaylight.openflowjava.nx.codec.match.NshMdtypeCodec; +import org.opendaylight.openflowjava.nx.codec.match.NshNpCodec; +import org.opendaylight.openflowjava.nx.codec.match.TunGpeNpCodec; import org.opendaylight.openflowjava.nx.codec.match.UdpSrcCodec; import org.opendaylight.openflowjava.nx.codec.match.UdpDstCodec; import org.opendaylight.openflowjava.protocol.api.keys.ActionSerializerKey; @@ -71,12 +73,8 @@ import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action. import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.RegLoadConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.RegMoveConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.ResubmitConvertor; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.SetNshc1Convertor; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.SetNshc2Convertor; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.SetNshc3Convertor; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.SetNshc4Convertor; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.SetNsiConvertor; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.SetNspConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.PushNshConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action.PopNshConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.ArpOpConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.ArpShaConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.ArpSpaConvertor; @@ -98,6 +96,12 @@ import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.T import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.TcpSrcConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.TunIPv4SrcConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.TunIdConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.EncapEthTypeConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.EncapEthSrcConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.EncapEthDstConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.NshMdtypeConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.NshNpConvertor; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.TunGpeNpConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.UdpDstConvertor; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.UdpSrcConvertor; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action; @@ -108,116 +112,80 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev1 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionRegLoad; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionRegMove; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionResubmit; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPushNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPopNsh; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionConntrackRpcAddFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathRpcAddFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionOutputRegRpcAddFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadRpcAddFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegMoveRpcAddFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitRpcAddFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc1RpcAddFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc2RpcAddFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc3RpcAddFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc4RpcAddFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiRpcAddFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspRpcAddFlowApplyActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPushNshRpcAddFlowApplyActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPopNshRpcAddFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionConntrackRpcAddFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionMultipathRpcAddFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionOutputRegRpcAddFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionRegLoadRpcAddFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionRegMoveRpcAddFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionResubmitRpcAddFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc1RpcAddFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc2RpcAddFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc3RpcAddFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc4RpcAddFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiRpcAddFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspRpcAddFlowWriteActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPushNshRpcAddFlowWriteActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.flow.input.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPopNshRpcAddFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionConntrackRpcAddGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionMultipathRpcAddGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionOutputRegRpcAddGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionRegLoadRpcAddGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionRegMoveRpcAddGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionResubmitRpcAddGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNshc1RpcAddGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNshc2RpcAddGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNshc3RpcAddGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNshc4RpcAddGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNsiRpcAddGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionSetNspRpcAddGroupCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionPushNshRpcAddGroupCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionPopNshRpcAddGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionConntrackNodesNodeGroupBucketsBucketActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionMultipathNodesNodeGroupBucketsBucketActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionOutputRegNodesNodeGroupBucketsBucketActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionRegLoadNodesNodeGroupBucketsBucketActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionRegMoveNodesNodeGroupBucketsBucketActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionResubmitNodesNodeGroupBucketsBucketActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNshc1NodesNodeGroupBucketsBucketActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNshc2NodesNodeGroupBucketsBucketActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNshc3NodesNodeGroupBucketsBucketActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNshc4NodesNodeGroupBucketsBucketActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNsiNodesNodeGroupBucketsBucketActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionSetNspNodesNodeGroupBucketsBucketActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionPushNshNodesNodeGroupBucketsBucketActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.group.buckets.bucket.action.action.NxActionPopNshNodesNodeGroupBucketsBucketActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionConntrackNodesNodeTableFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionMultipathNodesNodeTableFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionOutputRegNodesNodeTableFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegMoveNodesNodeTableFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionResubmitNodesNodeTableFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc1NodesNodeTableFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc2NodesNodeTableFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc3NodesNodeTableFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc4NodesNodeTableFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiNodesNodeTableFlowApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspNodesNodeTableFlowApplyActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPushNshNodesNodeTableFlowApplyActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPopNshNodesNodeTableFlowApplyActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionConntrackNodesNodeTableFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionMultipathNodesNodeTableFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionOutputRegNodesNodeTableFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionRegLoadNodesNodeTableFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionRegMoveNodesNodeTableFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionResubmitNodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc1NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc2NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc3NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc4NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNodesNodeTableFlowWriteActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPushNshNodesNodeTableFlowWriteActionsCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPopNshNodesNodeTableFlowWriteActionsCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionConntrackRpcRemoveGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionMultipathRpcRemoveGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionOutputRegRpcRemoveGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionRegLoadRpcRemoveGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionRegMoveRpcRemoveGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionResubmitRpcRemoveGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNshc1RpcRemoveGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNshc2RpcRemoveGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNshc3RpcRemoveGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNshc4RpcRemoveGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNsiRpcRemoveGroupCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionSetNspRpcRemoveGroupCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionPushNshRpcRemoveGroupCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.remove.group.input.buckets.bucket.action.action.NxActionPopNshRpcRemoveGroupCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionConntrackRpcUpdateGroupOriginalCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionMultipathRpcUpdateGroupOriginalCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionOutputRegRpcUpdateGroupOriginalCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionRegLoadRpcUpdateGroupOriginalCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionRegMoveRpcUpdateGroupOriginalCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionResubmitRpcUpdateGroupOriginalCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNshc1RpcUpdateGroupOriginalCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNshc2RpcUpdateGroupOriginalCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNshc3RpcUpdateGroupOriginalCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNshc4RpcUpdateGroupOriginalCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNsiRpcUpdateGroupOriginalCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionSetNspRpcUpdateGroupOriginalCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionPushNshRpcUpdateGroupOriginalCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.original.group.buckets.bucket.action.action.NxActionPopNshRpcUpdateGroupOriginalCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionConntrackRpcUpdateGroupUpdatedCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionMultipathRpcUpdateGroupUpdatedCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionOutputRegRpcUpdateGroupUpdatedCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionRegLoadRpcUpdateGroupUpdatedCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionRegMoveRpcUpdateGroupUpdatedCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionResubmitRpcUpdateGroupUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNshc1RpcUpdateGroupUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNshc2RpcUpdateGroupUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNshc3RpcUpdateGroupUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNshc4RpcUpdateGroupUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNsiRpcUpdateGroupUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionSetNspRpcUpdateGroupUpdatedCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionPushNshRpcUpdateGroupUpdatedCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.update.group.input.updated.group.buckets.bucket.action.action.NxActionPopNshRpcUpdateGroupUpdatedCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxArpShaKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxArpThaKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtStateKey; @@ -238,6 +206,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg7Key; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunIdKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunIpv4SrcKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthTypeKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthSrcKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthDstKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshMdtypeKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshNpKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunGpeNpKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpOpKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpSpaKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpTpaKey; @@ -278,12 +252,8 @@ public class NiciraExtensionProvider implements AutoCloseable { private final static EthTypeConvertor ETH_TYPE_CONVERTOR = new EthTypeConvertor(); private final static ResubmitConvertor RESUBMIT_CONVERTOR = new ResubmitConvertor(); private final static MultipathConvertor MULTIPATH_CONVERTOR = new MultipathConvertor(); - private final static SetNspConvertor SET_NSP_CONVERTOR = new SetNspConvertor(); - private final static SetNshc1Convertor SET_NSC1_CONVERTOR = new SetNshc1Convertor(); - private final static SetNshc2Convertor SET_NSC2_CONVERTOR = new SetNshc2Convertor(); - private final static SetNshc3Convertor SET_NSC3_CONVERTOR = new SetNshc3Convertor(); - private final static SetNshc4Convertor SET_NSC4_CONVERTOR = new SetNshc4Convertor(); - private final static SetNsiConvertor SET_NSI_CONVERTOR = new SetNsiConvertor(); + private final static PushNshConvertor PUSH_NSH_CONVERTOR = new PushNshConvertor(); + private final static PopNshConvertor POP_NSH_CONVERTOR = new PopNshConvertor(); private final static NspConvertor NSP_CONVERTOR = new NspConvertor(); private final static NsiConvertor NSI_CONVERTOR = new NsiConvertor(); private final static Nshc1Convertor NSC1_CONVERTOR = new Nshc1Convertor(); @@ -292,6 +262,12 @@ public class NiciraExtensionProvider implements AutoCloseable { private final static Nshc4Convertor NSC4_CONVERTOR = new Nshc4Convertor(); private final static TunIPv4SrcConvertor TUN_IPV4_SRC_CONVERTOR = new TunIPv4SrcConvertor(); private final static TunIPv4DstConvertor TUN_IPV4_DST_CONVERTOR = new TunIPv4DstConvertor(); + private final static EncapEthTypeConvertor ENCAP_ETH_TYPE_CONVERTOR = new EncapEthTypeConvertor(); + private final static EncapEthSrcConvertor ENCAP_ETH_SRC_CONVERTOR = new EncapEthSrcConvertor(); + private final static EncapEthDstConvertor ENCAP_ETH_DST_CONVERTOR = new EncapEthDstConvertor(); + private final static NshMdtypeConvertor NSH_MDTYPE_CONVERTOR = new NshMdtypeConvertor(); + private final static NshNpConvertor NSH_NP_CONVERTOR = new NshNpConvertor(); + private final static TunGpeNpConvertor TUN_GPE_NP_CONVERTOR = new TunGpeNpConvertor(); private final static TcpSrcConvertor TCP_SRC_CONVERTOR = new TcpSrcConvertor(); private final static TcpDstConvertor TCP_DST_CONVERTOR = new TcpDstConvertor(); private final static UdpSrcConvertor UDP_SRC_CONVERTOR = new UdpSrcConvertor(); @@ -332,12 +308,8 @@ public class NiciraExtensionProvider implements AutoCloseable { registerAction13(NxActionOutputRegNodesNodeTableFlowApplyActionsCase.class, OUTPUT_REG_CONVERTOR); registerAction13(NxActionResubmitNodesNodeTableFlowApplyActionsCase.class, RESUBMIT_CONVERTOR); registerAction13(NxActionMultipathNodesNodeTableFlowApplyActionsCase.class, MULTIPATH_CONVERTOR); - registerAction13(NxActionSetNspNodesNodeTableFlowApplyActionsCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNsiNodesNodeTableFlowApplyActionsCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNshc1NodesNodeTableFlowApplyActionsCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc2NodesNodeTableFlowApplyActionsCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc3NodesNodeTableFlowApplyActionsCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc4NodesNodeTableFlowApplyActionsCase.class, SET_NSC4_CONVERTOR); + registerAction13(NxActionPushNshNodesNodeTableFlowApplyActionsCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPopNshNodesNodeTableFlowApplyActionsCase.class, POP_NSH_CONVERTOR); registerAction13(NxActionConntrackNodesNodeTableFlowApplyActionsCase.class, CONNTRACK_CONVERTOR); registerAction13(NxActionRegLoadNodesNodeTableFlowWriteActionsCase.class, REG_LOAD_CONVERTOR); @@ -345,12 +317,8 @@ public class NiciraExtensionProvider implements AutoCloseable { registerAction13(NxActionOutputRegNodesNodeTableFlowWriteActionsCase.class, OUTPUT_REG_CONVERTOR); registerAction13(NxActionResubmitNodesNodeTableFlowWriteActionsCase.class, RESUBMIT_CONVERTOR); registerAction13(NxActionMultipathNodesNodeTableFlowWriteActionsCase.class, MULTIPATH_CONVERTOR); - registerAction13(NxActionSetNspNodesNodeTableFlowWriteActionsCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNsiNodesNodeTableFlowWriteActionsCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNshc1NodesNodeTableFlowWriteActionsCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc2NodesNodeTableFlowWriteActionsCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc3NodesNodeTableFlowWriteActionsCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc4NodesNodeTableFlowWriteActionsCase.class, SET_NSC4_CONVERTOR); + registerAction13(NxActionPushNshNodesNodeTableFlowWriteActionsCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPopNshNodesNodeTableFlowWriteActionsCase.class, POP_NSH_CONVERTOR); registerAction13(NxActionConntrackNodesNodeTableFlowWriteActionsCase.class, CONNTRACK_CONVERTOR); registerAction13(NxActionRegLoadNodesNodeGroupBucketsBucketActionsCase.class, REG_LOAD_CONVERTOR); @@ -358,12 +326,8 @@ public class NiciraExtensionProvider implements AutoCloseable { registerAction13(NxActionOutputRegNodesNodeGroupBucketsBucketActionsCase.class, OUTPUT_REG_CONVERTOR); registerAction13(NxActionResubmitNodesNodeGroupBucketsBucketActionsCase.class, RESUBMIT_CONVERTOR); registerAction13(NxActionMultipathNodesNodeGroupBucketsBucketActionsCase.class, MULTIPATH_CONVERTOR); - registerAction13(NxActionSetNspNodesNodeGroupBucketsBucketActionsCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNsiNodesNodeGroupBucketsBucketActionsCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNshc1NodesNodeGroupBucketsBucketActionsCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc2NodesNodeGroupBucketsBucketActionsCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc3NodesNodeGroupBucketsBucketActionsCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc4NodesNodeGroupBucketsBucketActionsCase.class, SET_NSC4_CONVERTOR); + registerAction13(NxActionPushNshNodesNodeGroupBucketsBucketActionsCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPopNshNodesNodeGroupBucketsBucketActionsCase.class, POP_NSH_CONVERTOR); registerAction13(NxActionConntrackNodesNodeGroupBucketsBucketActionsCase.class, CONNTRACK_CONVERTOR); // src=rpc-addFlow @@ -372,12 +336,8 @@ public class NiciraExtensionProvider implements AutoCloseable { registerAction13(NxActionOutputRegRpcAddFlowApplyActionsCase.class, OUTPUT_REG_CONVERTOR); registerAction13(NxActionResubmitRpcAddFlowApplyActionsCase.class, RESUBMIT_CONVERTOR); registerAction13(NxActionMultipathRpcAddFlowApplyActionsCase.class, MULTIPATH_CONVERTOR); - registerAction13(NxActionSetNspRpcAddFlowApplyActionsCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNsiRpcAddFlowApplyActionsCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNshc1RpcAddFlowApplyActionsCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc2RpcAddFlowApplyActionsCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc3RpcAddFlowApplyActionsCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc4RpcAddFlowApplyActionsCase.class, SET_NSC4_CONVERTOR); + registerAction13(NxActionPushNshRpcAddFlowApplyActionsCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPopNshRpcAddFlowApplyActionsCase.class, POP_NSH_CONVERTOR); registerAction13(NxActionConntrackRpcAddFlowApplyActionsCase.class, CONNTRACK_CONVERTOR); registerAction13(NxActionRegLoadRpcAddFlowWriteActionsCase.class, REG_LOAD_CONVERTOR); @@ -385,12 +345,8 @@ public class NiciraExtensionProvider implements AutoCloseable { registerAction13(NxActionOutputRegRpcAddFlowWriteActionsCase.class, OUTPUT_REG_CONVERTOR); registerAction13(NxActionResubmitRpcAddFlowWriteActionsCase.class, RESUBMIT_CONVERTOR); registerAction13(NxActionMultipathRpcAddFlowWriteActionsCase.class, MULTIPATH_CONVERTOR); - registerAction13(NxActionSetNspRpcAddFlowWriteActionsCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNsiRpcAddFlowWriteActionsCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNshc1RpcAddFlowWriteActionsCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc2RpcAddFlowWriteActionsCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc3RpcAddFlowWriteActionsCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc4RpcAddFlowWriteActionsCase.class, SET_NSC4_CONVERTOR); + registerAction13(NxActionPushNshRpcAddFlowWriteActionsCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPopNshRpcAddFlowWriteActionsCase.class, POP_NSH_CONVERTOR); registerAction13(NxActionConntrackRpcAddFlowWriteActionsCase.class, CONNTRACK_CONVERTOR); registerAction13(NxActionRegLoadRpcAddGroupCase.class, REG_LOAD_CONVERTOR); @@ -413,30 +369,14 @@ public class NiciraExtensionProvider implements AutoCloseable { registerAction13(NxActionMultipathRpcRemoveGroupCase.class, MULTIPATH_CONVERTOR); registerAction13(NxActionMultipathRpcUpdateGroupOriginalCase.class, MULTIPATH_CONVERTOR); registerAction13(NxActionMultipathRpcUpdateGroupUpdatedCase.class, MULTIPATH_CONVERTOR); - registerAction13(NxActionSetNspRpcAddGroupCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNspRpcRemoveGroupCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNspRpcUpdateGroupOriginalCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNspRpcUpdateGroupUpdatedCase.class, SET_NSP_CONVERTOR); - registerAction13(NxActionSetNsiRpcAddGroupCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNsiRpcRemoveGroupCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNsiRpcUpdateGroupOriginalCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNsiRpcUpdateGroupUpdatedCase.class, SET_NSI_CONVERTOR); - registerAction13(NxActionSetNshc1RpcAddGroupCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc1RpcRemoveGroupCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc1RpcUpdateGroupOriginalCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc1RpcUpdateGroupUpdatedCase.class, SET_NSC1_CONVERTOR); - registerAction13(NxActionSetNshc2RpcAddGroupCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc2RpcRemoveGroupCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc2RpcUpdateGroupOriginalCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc2RpcUpdateGroupUpdatedCase.class, SET_NSC2_CONVERTOR); - registerAction13(NxActionSetNshc3RpcAddGroupCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc3RpcRemoveGroupCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc3RpcUpdateGroupOriginalCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc3RpcUpdateGroupUpdatedCase.class, SET_NSC3_CONVERTOR); - registerAction13(NxActionSetNshc4RpcAddGroupCase.class, SET_NSC4_CONVERTOR); - registerAction13(NxActionSetNshc4RpcRemoveGroupCase.class, SET_NSC4_CONVERTOR); - registerAction13(NxActionSetNshc4RpcUpdateGroupOriginalCase.class, SET_NSC4_CONVERTOR); - registerAction13(NxActionSetNshc4RpcUpdateGroupUpdatedCase.class, SET_NSC4_CONVERTOR); + registerAction13(NxActionPushNshRpcAddGroupCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPushNshRpcRemoveGroupCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPushNshRpcUpdateGroupOriginalCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPushNshRpcUpdateGroupUpdatedCase.class, PUSH_NSH_CONVERTOR); + registerAction13(NxActionPopNshRpcAddGroupCase.class, POP_NSH_CONVERTOR); + registerAction13(NxActionPopNshRpcRemoveGroupCase.class, POP_NSH_CONVERTOR); + registerAction13(NxActionPopNshRpcUpdateGroupOriginalCase.class, POP_NSH_CONVERTOR); + registerAction13(NxActionPopNshRpcUpdateGroupUpdatedCase.class, POP_NSH_CONVERTOR); registerAction13(NxActionConntrackRpcAddGroupCase.class, CONNTRACK_CONVERTOR); registerAction13(NxActionConntrackRpcRemoveGroupCase.class, CONNTRACK_CONVERTOR); registerAction13(NxActionConntrackRpcUpdateGroupOriginalCase.class, CONNTRACK_CONVERTOR); @@ -448,8 +388,8 @@ public class NiciraExtensionProvider implements AutoCloseable { registerAction13(ActionOutputReg.class, OUTPUT_REG_CONVERTOR); registerAction13(ActionResubmit.class, RESUBMIT_CONVERTOR); registerAction13(ActionMultipath.class, MULTIPATH_CONVERTOR); - registerAction13(ActionSetNsp.class, SET_NSP_CONVERTOR); - registerAction13(ActionSetNsi.class, SET_NSI_CONVERTOR); + registerAction13(ActionPushNsh.class, PUSH_NSH_CONVERTOR); + registerAction13(ActionPopNsh.class, POP_NSH_CONVERTOR); registerAction13(ActionConntrack.class, CONNTRACK_CONVERTOR); registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(RegLoadCodec.SERIALIZER_KEY), REG_LOAD_CONVERTOR)); @@ -457,12 +397,8 @@ public class NiciraExtensionProvider implements AutoCloseable { registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(OutputRegCodec.SERIALIZER_KEY), OUTPUT_REG_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(ResubmitCodec.SERIALIZER_KEY), RESUBMIT_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(MultipathCodec.SERIALIZER_KEY), MULTIPATH_CONVERTOR)); - registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNspCodec.SERIALIZER_KEY), SET_NSP_CONVERTOR)); - registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNsiCodec.SERIALIZER_KEY), SET_NSI_CONVERTOR)); - registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNshc1Codec.SERIALIZER_KEY), SET_NSC1_CONVERTOR)); - registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNshc2Codec.SERIALIZER_KEY), SET_NSC2_CONVERTOR)); - registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNshc3Codec.SERIALIZER_KEY), SET_NSC3_CONVERTOR)); - registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(SetNshc4Codec.SERIALIZER_KEY), SET_NSC4_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(PushNshCodec.SERIALIZER_KEY), PUSH_NSH_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(PopNshCodec.SERIALIZER_KEY), POP_NSH_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerActionConvertor(NiciraUtil.createOfJavaKeyFrom(ConntrackCodec.SERIALIZER_KEY), CONNTRACK_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxReg0Key.class, EncodeConstants.OF13_VERSION_ID), REG_CONVERTOR)); @@ -516,6 +452,18 @@ public class NiciraExtensionProvider implements AutoCloseable { registrations.add(extensionConverterRegistrator.registerMatchConvertor(TunIpv4SrcCodec.SERIALIZER_KEY, TUN_IPV4_SRC_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxTunIpv4DstKey.class, EncodeConstants.OF13_VERSION_ID), TUN_IPV4_DST_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerMatchConvertor(TunIpv4DstCodec.SERIALIZER_KEY, TUN_IPV4_DST_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxEncapEthTypeKey.class, EncodeConstants.OF13_VERSION_ID), ENCAP_ETH_TYPE_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(EncapEthTypeCodec.SERIALIZER_KEY, ENCAP_ETH_TYPE_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxEncapEthSrcKey.class, EncodeConstants.OF13_VERSION_ID), ENCAP_ETH_SRC_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(EncapEthSrcCodec.SERIALIZER_KEY, ENCAP_ETH_SRC_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxEncapEthDstKey.class, EncodeConstants.OF13_VERSION_ID), ENCAP_ETH_DST_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(EncapEthDstCodec.SERIALIZER_KEY, ENCAP_ETH_DST_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxNshMdtypeKey.class, EncodeConstants.OF13_VERSION_ID), NSH_MDTYPE_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(NshMdtypeCodec.SERIALIZER_KEY, NSH_MDTYPE_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxNshNpKey.class, EncodeConstants.OF13_VERSION_ID), NSH_NP_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(NshMdtypeCodec.SERIALIZER_KEY, NSH_NP_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmNxTunGpeNpKey.class, EncodeConstants.OF13_VERSION_ID), TUN_GPE_NP_CONVERTOR)); + registrations.add(extensionConverterRegistrator.registerMatchConvertor(TunGpeNpCodec.SERIALIZER_KEY, TUN_GPE_NP_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmOfTcpSrcKey.class, EncodeConstants.OF13_VERSION_ID), TCP_SRC_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerMatchConvertor(TcpSrcCodec.SERIALIZER_KEY, TCP_SRC_CONVERTOR)); registrations.add(extensionConverterRegistrator.registerMatchConvertor(new ConverterExtensionKey<>(NxmOfTcpDstKey.class, EncodeConstants.OF13_VERSION_ID), TCP_DST_CONVERTOR)); diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNsiConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/PopNshConvertor.java similarity index 64% rename from extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNsiConvertor.java rename to extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/PopNshConvertor.java index 25762a730d..0480bd607e 100644 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNsiConvertor.java +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/PopNshConvertor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved. + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -14,40 +14,39 @@ import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava; import org.opendaylight.openflowplugin.extension.api.path.ActionPath; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsiBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.NxActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.NxActionSetNsiBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionSetNsiGrouping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiNotifFlowsStatisticsUpdateApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNotifFlowsStatisticsUpdateWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNsiNotifGroupDescStatsUpdatedCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNodesNodeTableFlowWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsi.grouping.NxSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsi.grouping.NxSetNsiBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPopNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPopNshBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.pop.nsh.grouping.NxActionPopNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.pop.nsh.grouping.NxActionPopNshBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionPopNshGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPopNshNotifFlowsStatisticsUpdateApplyActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPopNshNotifFlowsStatisticsUpdateWriteActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionPopNshNotifGroupDescStatsUpdatedCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPopNshNodesNodeTableFlowWriteActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.pop.nsh.grouping.NxPopNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.pop.nsh.grouping.NxPopNshBuilder; -public class SetNsiConvertor implements +public class PopNshConvertor implements ConvertorActionToOFJava, ConvertorActionFromOFJava { @Override public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) { - NxActionSetNsi action = ((ActionSetNsi) input.getActionChoice()).getNxActionSetNsi(); - NxSetNsiBuilder builder = new NxSetNsiBuilder(); - builder.setNsi(action.getNsi()); + NxActionPopNsh action = ((ActionPopNsh) input.getActionChoice()).getNxActionPopNsh(); + NxPopNshBuilder builder = new NxPopNshBuilder(); return resolveAction(builder.build(), path); } - private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNsi value, ActionPath path) { + private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxPopNsh value, ActionPath path) { switch (path) { case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION: - return new NxActionSetNsiNodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNsi(value).build(); + return new NxActionPopNshNodesNodeTableFlowWriteActionsCaseBuilder().setNxPopNsh(value).build(); case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION: - return new NxActionSetNsiNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNsi(value).build(); + return new NxActionPopNshNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxPopNsh(value).build(); case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION: - return new NxActionSetNsiNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNsi(value).build(); + return new NxActionPopNshNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxPopNsh(value).build(); case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION: - return new NxActionSetNsiNotifGroupDescStatsUpdatedCaseBuilder().setNxSetNsi(value).build(); + return new NxActionPopNshNotifGroupDescStatsUpdatedCaseBuilder().setNxPopNsh(value).build(); default: throw new CodecPreconditionException(path); } @@ -55,15 +54,12 @@ public class SetNsiConvertor implements @Override public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { - Preconditions.checkArgument(nxActionArg instanceof NxActionSetNsiGrouping); - NxActionSetNsiGrouping nxAction = (NxActionSetNsiGrouping) nxActionArg; - ActionSetNsiBuilder builder = new ActionSetNsiBuilder(); - NxActionSetNsiBuilder nxActionSetNsi = new NxActionSetNsiBuilder(); - - nxActionSetNsi.setNsi(nxAction.getNxSetNsi().getNsi()); - builder.setNxActionSetNsi(nxActionSetNsi.build()); - + Preconditions.checkArgument(nxActionArg instanceof NxActionPopNshGrouping); + NxActionPopNshGrouping nxAction = (NxActionPopNshGrouping) nxActionArg; + ActionPopNshBuilder builder = new ActionPopNshBuilder(); + NxActionPopNshBuilder nxActionPopNshBuilder = new NxActionPopNshBuilder(); + builder.setNxActionPopNsh(nxActionPopNshBuilder.build()); return ActionUtil.createAction(builder.build()); } -} \ No newline at end of file +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNspConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/PushNshConvertor.java similarity index 60% rename from extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNspConvertor.java rename to extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/PushNshConvertor.java index bc45a5544d..b8ac8934b2 100644 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNspConvertor.java +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/PushNshConvertor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved. + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -14,40 +14,39 @@ import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava; import org.opendaylight.openflowplugin.extension.api.path.ActionPath; import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNspBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.NxActionSetNsp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.NxActionSetNspBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionSetNspGrouping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspNotifFlowsStatisticsUpdateApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNotifFlowsStatisticsUpdateWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNspNotifGroupDescStatsUpdatedCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNodesNodeTableFlowWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsp.grouping.NxSetNsp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsp.grouping.NxSetNspBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPushNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionPushNshBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.push.nsh.grouping.NxActionPushNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.push.nsh.grouping.NxActionPushNshBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionPushNshGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionPushNshNotifFlowsStatisticsUpdateApplyActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPushNshNotifFlowsStatisticsUpdateWriteActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionPushNshNotifGroupDescStatsUpdatedCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionPushNshNodesNodeTableFlowWriteActionsCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.push.nsh.grouping.NxPushNsh; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.push.nsh.grouping.NxPushNshBuilder; -public class SetNspConvertor implements +public class PushNshConvertor implements ConvertorActionToOFJava, ConvertorActionFromOFJava { @Override public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) { - NxActionSetNsp action = ((ActionSetNsp) input.getActionChoice()).getNxActionSetNsp(); - NxSetNspBuilder builder = new NxSetNspBuilder(); - builder.setNsp(action.getNsp()); + NxActionPushNsh action = ((ActionPushNsh) input.getActionChoice()).getNxActionPushNsh(); + NxPushNshBuilder builder = new NxPushNshBuilder(); return resolveAction(builder.build(), path); } - private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNsp value, ActionPath path) { + private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxPushNsh value, ActionPath path) { switch (path) { case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION: - return new NxActionSetNspNodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNsp(value).build(); + return new NxActionPushNshNodesNodeTableFlowWriteActionsCaseBuilder().setNxPushNsh(value).build(); case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION: - return new NxActionSetNspNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNsp(value).build(); + return new NxActionPushNshNotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxPushNsh(value).build(); case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION: - return new NxActionSetNspNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNsp(value).build(); + return new NxActionPushNshNotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxPushNsh(value).build(); case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION: - return new NxActionSetNspNotifGroupDescStatsUpdatedCaseBuilder().setNxSetNsp(value).build(); + return new NxActionPushNshNotifGroupDescStatsUpdatedCaseBuilder().setNxPushNsh(value).build(); default: throw new CodecPreconditionException(path); } @@ -55,13 +54,12 @@ public class SetNspConvertor implements @Override public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { - Preconditions.checkArgument(nxActionArg instanceof NxActionSetNspGrouping); - NxActionSetNspGrouping nxAction = (NxActionSetNspGrouping) nxActionArg; - ActionSetNspBuilder builder = new ActionSetNspBuilder(); - NxActionSetNspBuilder nxActionSetNspBuilder = new NxActionSetNspBuilder(); - nxActionSetNspBuilder.setNsp(nxAction.getNxSetNsp().getNsp()); - builder.setNxActionSetNsp(nxActionSetNspBuilder.build()); + Preconditions.checkArgument(nxActionArg instanceof NxActionPushNshGrouping); + NxActionPushNshGrouping nxAction = (NxActionPushNshGrouping) nxActionArg; + ActionPushNshBuilder builder = new ActionPushNshBuilder(); + NxActionPushNshBuilder nxActionPushNshBuilder = new NxActionPushNshBuilder(); + builder.setNxActionPushNsh(nxActionPushNshBuilder.build()); return ActionUtil.createAction(builder.build()); } -} \ No newline at end of file +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/RegMoveConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/RegMoveConvertor.java index 958a7cc062..e323af57f1 100644 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/RegMoveConvertor.java +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/RegMoveConvertor.java @@ -45,6 +45,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNsiCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNspCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNspCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxEncapEthSrcCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxEncapEthSrcCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxEncapEthDstCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxEncapEthDstCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshMdtypeCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshMdtypeCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshNpCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxNshNpCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxTunGpeNpCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxTunGpeNpCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxTunIdCase; @@ -96,6 +106,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNsiCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNspCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNspCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxEncapEthSrcCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxEncapEthSrcCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxEncapEthDstCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxEncapEthDstCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNshMdtypeCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNshMdtypeCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNshNpCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxNshNpCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxTunGpeNpCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxTunGpeNpCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxRegCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxRegCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxTunIdCase; @@ -202,6 +222,21 @@ public class RegMoveConvertor implements if (dstValue == NiciraMatchCodecs.NSC4_CODEC.getHeaderWithoutHasMask().toLong()) { return new DstNxNshc4CaseBuilder().setNxNshc4Dst(true).build(); } + if (dstValue == NiciraMatchCodecs.ENCAP_ETH_SRC_CODEC.getHeaderWithoutHasMask().toLong()) { + return new DstNxEncapEthSrcCaseBuilder().setNxEncapEthSrc(true).build(); + } + if (dstValue == NiciraMatchCodecs.ENCAP_ETH_DST_CODEC.getHeaderWithoutHasMask().toLong()) { + return new DstNxEncapEthDstCaseBuilder().setNxEncapEthDst(true).build(); + } + if (dstValue == NiciraMatchCodecs.NSH_MDTYPE_CODEC.getHeaderWithoutHasMask().toLong()) { + return new DstNxNshMdtypeCaseBuilder().setNxNshMdtype(true).build(); + } + if (dstValue == NiciraMatchCodecs.NSH_NP_CODEC.getHeaderWithoutHasMask().toLong()) { + return new DstNxNshNpCaseBuilder().setNxNshNp(true).build(); + } + if (dstValue == NiciraMatchCodecs.TUN_GPE_NP_CODEC.getHeaderWithoutHasMask().toLong()) { + return new DstNxTunGpeNpCaseBuilder().setNxTunGpeNp(true).build(); + } if (dstValue == NiciraMatchCodecs.IP_SRC_CODEC.getHeaderWithoutHasMask().toLong()) { return new DstOfIpSrcCaseBuilder().setOfIpSrc(true).build(); } @@ -271,6 +306,21 @@ public class RegMoveConvertor implements if (srcValue == NiciraMatchCodecs.NSC4_CODEC.getHeaderWithoutHasMask().toLong()) { return new SrcNxNshc4CaseBuilder().setNxNshc4Dst(true).build(); } + if (srcValue == NiciraMatchCodecs.ENCAP_ETH_SRC_CODEC.getHeaderWithoutHasMask().toLong()) { + return new SrcNxEncapEthSrcCaseBuilder().setNxEncapEthSrc(true).build(); + } + if (srcValue == NiciraMatchCodecs.ENCAP_ETH_DST_CODEC.getHeaderWithoutHasMask().toLong()) { + return new SrcNxEncapEthDstCaseBuilder().setNxEncapEthDst(true).build(); + } + if (srcValue == NiciraMatchCodecs.NSH_MDTYPE_CODEC.getHeaderWithoutHasMask().toLong()) { + return new SrcNxNshMdtypeCaseBuilder().setNxNshMdtype(true).build(); + } + if (srcValue == NiciraMatchCodecs.NSH_NP_CODEC.getHeaderWithoutHasMask().toLong()) { + return new SrcNxNshNpCaseBuilder().setNxNshNp(true).build(); + } + if (srcValue == NiciraMatchCodecs.TUN_GPE_NP_CODEC.getHeaderWithoutHasMask().toLong()) { + return new SrcNxTunGpeNpCaseBuilder().setNxTunGpeNp(true).build(); + } if (srcValue == NiciraMatchCodecs.IP_DST_CODEC.getHeaderWithoutHasMask().toLong()) { return new SrcOfIpDstCaseBuilder().setOfIpDst(true).build(); } @@ -411,6 +461,21 @@ public class RegMoveConvertor implements if (dstChoice instanceof DstOfIcmpTypeCase) { return NiciraMatchCodecs.ICMP_TYPE_CODEC.getHeaderWithoutHasMask().toLong(); } + if (dstChoice instanceof DstNxEncapEthSrcCase) { + return NiciraMatchCodecs.ENCAP_ETH_SRC_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (dstChoice instanceof DstNxEncapEthDstCase) { + return NiciraMatchCodecs.ENCAP_ETH_DST_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (dstChoice instanceof DstNxNshMdtypeCase) { + return NiciraMatchCodecs.NSH_MDTYPE_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (dstChoice instanceof DstNxNshNpCase) { + return NiciraMatchCodecs.NSH_NP_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (dstChoice instanceof DstNxTunGpeNpCase) { + return NiciraMatchCodecs.TUN_GPE_NP_CODEC.getHeaderWithoutHasMask().toLong(); + } throw new CodecPreconditionException("Missing implementation of a case in dst-choice? " + dstChoice.getClass()); @@ -483,6 +548,21 @@ public class RegMoveConvertor implements if (srcChoice instanceof SrcOfIpDstCase) { return NiciraMatchCodecs.IP_DST_CODEC.getHeaderWithoutHasMask().toLong(); } + if (srcChoice instanceof SrcNxEncapEthSrcCase) { + return NiciraMatchCodecs.ENCAP_ETH_SRC_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (srcChoice instanceof SrcNxEncapEthDstCase) { + return NiciraMatchCodecs.ENCAP_ETH_DST_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (srcChoice instanceof SrcNxNshMdtypeCase) { + return NiciraMatchCodecs.NSH_MDTYPE_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (srcChoice instanceof SrcNxNshNpCase) { + return NiciraMatchCodecs.NSH_NP_CODEC.getHeaderWithoutHasMask().toLong(); + } + if (srcChoice instanceof SrcNxTunGpeNpCase) { + return NiciraMatchCodecs.TUN_GPE_NP_CODEC.getHeaderWithoutHasMask().toLong(); + } throw new CodecPreconditionException("Missing implementation of a case in src-choice? " + srcChoice.getClass()); } diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1Convertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1Convertor.java deleted file mode 100644 index 29eabc4200..0000000000 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1Convertor.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava; -import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._1.grouping.NxActionSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._1.grouping.NxActionSetNshc1Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionSetNshc1Grouping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc1NotifFlowsStatisticsUpdateApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc1NotifFlowsStatisticsUpdateWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc1NotifGroupDescStatsUpdatedCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc1NodesNodeTableFlowWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._1.grouping.NxSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._1.grouping.NxSetNshc1Builder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Preconditions; - -public class SetNshc1Convertor implements - ConvertorActionToOFJava, - ConvertorActionFromOFJava { - private static final Logger LOG = LoggerFactory.getLogger(SetNshc1Convertor.class); - - - @Override - public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) { - NxActionSetNshc1 action = ((ActionSetNshc1) input.getActionChoice()).getNxActionSetNshc1(); - NxSetNshc1Builder builder = new NxSetNshc1Builder(); - builder.setNshc(action.getNshc()); - return resolveAction(builder.build(), path); - } - - private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNshc1 value, ActionPath path) { - switch (path) { - case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION: - return new NxActionSetNshc1NodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNshc1(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION: - return new NxActionSetNshc1NotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNshc1(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION: - return new NxActionSetNshc1NotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNshc1(value).build(); - case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION: - return new NxActionSetNshc1NotifGroupDescStatsUpdatedCaseBuilder().setNxSetNshc1(value).build(); - default: - throw new CodecPreconditionException(path); - } - } - - @Override - public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { - Preconditions.checkArgument(nxActionArg instanceof NxActionSetNshc1Grouping); - NxActionSetNshc1Grouping nxAction = (NxActionSetNshc1Grouping) nxActionArg; - ActionSetNshc1Builder builder = new ActionSetNshc1Builder(); - NxActionSetNshc1Builder nxActionSetnsc1Builder = new NxActionSetNshc1Builder(); - nxActionSetnsc1Builder.setNshc(nxAction.getNxSetNshc1().getNshc()); - builder.setNxActionSetNshc1(nxActionSetnsc1Builder.build()); - return ActionUtil.createAction(builder.build()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2Convertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2Convertor.java deleted file mode 100644 index 80f5c33c1e..0000000000 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2Convertor.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava; -import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc2; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc2Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._2.grouping.NxActionSetNshc2; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._2.grouping.NxActionSetNshc2Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionSetNshc2Grouping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc2NotifFlowsStatisticsUpdateApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc2NotifFlowsStatisticsUpdateWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc2NotifGroupDescStatsUpdatedCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc2NodesNodeTableFlowWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._2.grouping.NxSetNshc2; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._2.grouping.NxSetNshc2Builder; - -import com.google.common.base.Preconditions; - -public class SetNshc2Convertor implements - ConvertorActionToOFJava, - ConvertorActionFromOFJava { - - @Override - public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) { - NxActionSetNshc2 action = ((ActionSetNshc2) input.getActionChoice()).getNxActionSetNshc2(); - NxSetNshc2Builder builder = new NxSetNshc2Builder(); - builder.setNshc(action.getNshc()); - return resolveAction(builder.build(), path); - } - - private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNshc2 value, ActionPath path) { - switch (path) { - case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION: - return new NxActionSetNshc2NodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNshc2(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION: - return new NxActionSetNshc2NotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNshc2(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION: - return new NxActionSetNshc2NotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNshc2(value).build(); - case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION: - return new NxActionSetNshc2NotifGroupDescStatsUpdatedCaseBuilder().setNxSetNshc2(value).build(); - default: - throw new CodecPreconditionException(path); - } - } - - @Override - public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { - Preconditions.checkArgument(nxActionArg instanceof NxActionSetNshc2Grouping); - NxActionSetNshc2Grouping nxAction = (NxActionSetNshc2Grouping) nxActionArg; - ActionSetNshc2Builder builder = new ActionSetNshc2Builder(); - NxActionSetNshc2Builder nxActionSetnsc2Builder = new NxActionSetNshc2Builder(); - nxActionSetnsc2Builder.setNshc(nxAction.getNxSetNshc2().getNshc()); - builder.setNxActionSetNshc2(nxActionSetnsc2Builder.build()); - return ActionUtil.createAction(builder.build()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3Convertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3Convertor.java deleted file mode 100644 index f487b11e78..0000000000 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3Convertor.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava; -import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._3.grouping.NxActionSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._3.grouping.NxActionSetNshc3Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionSetNshc3Grouping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc3NotifFlowsStatisticsUpdateApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc3NotifFlowsStatisticsUpdateWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc3NotifGroupDescStatsUpdatedCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc3NodesNodeTableFlowWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._3.grouping.NxSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._3.grouping.NxSetNshc3Builder; - -import com.google.common.base.Preconditions; - -public class SetNshc3Convertor implements - ConvertorActionToOFJava, - ConvertorActionFromOFJava { - - @Override - public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) { - NxActionSetNshc3 action = ((ActionSetNshc3) input.getActionChoice()).getNxActionSetNshc3(); - NxSetNshc3Builder builder = new NxSetNshc3Builder(); - builder.setNshc(action.getNshc()); - return resolveAction(builder.build(), path); - } - - private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNshc3 value, ActionPath path) { - switch (path) { - case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION: - return new NxActionSetNshc3NodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNshc3(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION: - return new NxActionSetNshc3NotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNshc3(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION: - return new NxActionSetNshc3NotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNshc3(value).build(); - case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION: - return new NxActionSetNshc3NotifGroupDescStatsUpdatedCaseBuilder().setNxSetNshc3(value).build(); - default: - throw new CodecPreconditionException(path); - } - } - - @Override - public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { - Preconditions.checkArgument(nxActionArg instanceof NxActionSetNshc3Grouping); - NxActionSetNshc3Grouping nxAction = (NxActionSetNshc3Grouping) nxActionArg; - ActionSetNshc3Builder builder = new ActionSetNshc3Builder(); - NxActionSetNshc3Builder nxActionSetnsc3Builder = new NxActionSetNshc3Builder(); - nxActionSetnsc3Builder.setNshc(nxAction.getNxSetNshc3().getNshc()); - builder.setNxActionSetNshc3(nxActionSetnsc3Builder.build()); - return ActionUtil.createAction(builder.build()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4Convertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4Convertor.java deleted file mode 100644 index 2231fc4e1a..0000000000 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4Convertor.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import org.opendaylight.openflowplugin.extension.api.ConvertorActionFromOFJava; -import org.opendaylight.openflowplugin.extension.api.ConvertorActionToOFJava; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._4.grouping.NxActionSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._4.grouping.NxActionSetNshc4Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionSetNshc4Grouping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc4NotifFlowsStatisticsUpdateApplyActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc4NotifFlowsStatisticsUpdateWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc4NotifGroupDescStatsUpdatedCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc4NodesNodeTableFlowWriteActionsCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._4.grouping.NxSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._4.grouping.NxSetNshc4Builder; - -import com.google.common.base.Preconditions; - -public class SetNshc4Convertor implements - ConvertorActionToOFJava, - ConvertorActionFromOFJava { - - @Override - public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) { - NxActionSetNshc4 action = ((ActionSetNshc4) input.getActionChoice()).getNxActionSetNshc4(); - NxSetNshc4Builder builder = new NxSetNshc4Builder(); - builder.setNshc(action.getNshc()); - return resolveAction(builder.build(), path); - } - - private static org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action resolveAction(NxSetNshc4 value, ActionPath path) { - switch (path) { - case NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION: - return new NxActionSetNshc4NodesNodeTableFlowWriteActionsCaseBuilder().setNxSetNshc4(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION: - return new NxActionSetNshc4NotifFlowsStatisticsUpdateWriteActionsCaseBuilder().setNxSetNshc4(value).build(); - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION: - return new NxActionSetNshc4NotifFlowsStatisticsUpdateApplyActionsCaseBuilder().setNxSetNshc4(value).build(); - case GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION: - return new NxActionSetNshc4NotifGroupDescStatsUpdatedCaseBuilder().setNxSetNshc4(value).build(); - default: - throw new CodecPreconditionException(path); - } - } - - @Override - public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { - Preconditions.checkArgument(nxActionArg instanceof NxActionSetNshc4Grouping); - NxActionSetNshc4Grouping nxAction = (NxActionSetNshc4Grouping) nxActionArg; - ActionSetNshc4Builder builder = new ActionSetNshc4Builder(); - NxActionSetNshc4Builder nxActionSetnsc4Builder = new NxActionSetNshc4Builder(); - nxActionSetnsc4Builder.setNshc(nxAction.getNxSetNshc4().getNshc()); - builder.setNxActionSetNshc4(nxActionSetnsc4Builder.build()); - return ActionUtil.createAction(builder.build()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthDstConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthDstConvertor.java new file mode 100644 index 0000000000..33c3a5ccef --- /dev/null +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthDstConvertor.java @@ -0,0 +1,94 @@ +/** + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match; + +import com.google.common.base.Optional; +import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava; +import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava; +import org.opendaylight.openflowplugin.extension.api.ExtensionAugment; +import org.opendaylight.openflowplugin.extension.api.path.MatchPath; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.encap.eth.dst.grouping.EncapEthDstValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthDstCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthDstCaseValueBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketIn; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketInBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemoved; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStats; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthDstGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthDstKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.encap.eth.dst.grouping.NxmNxEncapEthDst; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.encap.eth.dst.grouping.NxmNxEncapEthDstBuilder; +import org.opendaylight.yangtools.yang.binding.Augmentation; + +public class EncapEthDstConvertor implements ConvertorToOFJava, ConvertorFromOFJava { + + /* + * (non-Javadoc) + * + * @see + * org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava#convert + * (org.opendaylight.yangtools.yang.binding.DataContainer, + * org.opendaylight.openflowplugin.extension.api.path.AugmentationPath) + */ + @Override + public ExtensionAugment> convert(MatchEntry input, MatchPath path) { + EncapEthDstCaseValue encapEthDstCaseValue = ((EncapEthDstCaseValue) input.getMatchEntryValue()); + return resolveAugmentation(new NxmNxEncapEthDstBuilder().setMacAddress(encapEthDstCaseValue.getEncapEthDstValues().getMacAddress()).build(), path, + NxmNxEncapEthDstKey.class); + } + + private static ExtensionAugment> resolveAugmentation(NxmNxEncapEthDst value, + MatchPath path, Class key) { + switch (path) { + case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class, + new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxEncapEthDst(value).build(), key); + case PACKETRECEIVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder() + .setNxmNxEncapEthDst(value).build(), key); + case SWITCHFLOWREMOVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class, + new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxEncapEthDst(value).build(), key); + default: + throw new CodecPreconditionException(path); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava#convert + * (org + * .opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general + * .rev140714.general.extension.grouping.Extension) + */ + @Override + public MatchEntry convert(Extension extension) { + Optional matchGrouping = MatchUtil.encapEthDstResolver.getExtension(extension); + if (!matchGrouping.isPresent()) { + throw new CodecPreconditionException(extension); + } + MacAddress macAddress = matchGrouping.get().getNxmNxEncapEthDst().getMacAddress(); + EncapEthDstCaseValueBuilder encapEthDstCaseValueBuilder = new EncapEthDstCaseValueBuilder(); + encapEthDstCaseValueBuilder.setEncapEthDstValues(new EncapEthDstValuesBuilder() + .setMacAddress(macAddress).build()); + return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxEncapEthDst.class, + Nxm1Class.class, + encapEthDstCaseValueBuilder.build()).build(); + } + +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthSrcConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthSrcConvertor.java new file mode 100644 index 0000000000..63e18076fa --- /dev/null +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthSrcConvertor.java @@ -0,0 +1,94 @@ +/** + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match; + +import com.google.common.base.Optional; +import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava; +import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava; +import org.opendaylight.openflowplugin.extension.api.ExtensionAugment; +import org.opendaylight.openflowplugin.extension.api.path.MatchPath; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.encap.eth.src.grouping.EncapEthSrcValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthSrcCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthSrcCaseValueBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketIn; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketInBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemoved; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStats; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthSrcGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthSrcKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.encap.eth.src.grouping.NxmNxEncapEthSrc; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.encap.eth.src.grouping.NxmNxEncapEthSrcBuilder; +import org.opendaylight.yangtools.yang.binding.Augmentation; + +public class EncapEthSrcConvertor implements ConvertorToOFJava, ConvertorFromOFJava { + + /* + * (non-Javadoc) + * + * @see + * org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava#convert + * (org.opendaylight.yangtools.yang.binding.DataContainer, + * org.opendaylight.openflowplugin.extension.api.path.AugmentationPath) + */ + @Override + public ExtensionAugment> convert(MatchEntry input, MatchPath path) { + EncapEthSrcCaseValue encapEthSrcCaseValue = ((EncapEthSrcCaseValue) input.getMatchEntryValue()); + return resolveAugmentation(new NxmNxEncapEthSrcBuilder().setMacAddress(encapEthSrcCaseValue.getEncapEthSrcValues().getMacAddress()).build(), path, + NxmNxEncapEthSrcKey.class); + } + + private static ExtensionAugment> resolveAugmentation(NxmNxEncapEthSrc value, + MatchPath path, Class key) { + switch (path) { + case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class, + new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxEncapEthSrc(value).build(), key); + case PACKETRECEIVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder() + .setNxmNxEncapEthSrc(value).build(), key); + case SWITCHFLOWREMOVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class, + new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxEncapEthSrc(value).build(), key); + default: + throw new CodecPreconditionException(path); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava#convert + * (org + * .opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general + * .rev140714.general.extension.grouping.Extension) + */ + @Override + public MatchEntry convert(Extension extension) { + Optional matchGrouping = MatchUtil.encapEthSrcResolver.getExtension(extension); + if (!matchGrouping.isPresent()) { + throw new CodecPreconditionException(extension); + } + MacAddress macAddress = matchGrouping.get().getNxmNxEncapEthSrc().getMacAddress(); + EncapEthSrcCaseValueBuilder encapEthSrcCaseValueBuilder = new EncapEthSrcCaseValueBuilder(); + encapEthSrcCaseValueBuilder.setEncapEthSrcValues(new EncapEthSrcValuesBuilder() + .setMacAddress(macAddress).build()); + return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxEncapEthSrc.class, + Nxm1Class.class, + encapEthSrcCaseValueBuilder.build()).build(); + } + +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthTypeConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthTypeConvertor.java new file mode 100644 index 0000000000..2b5c3e89d5 --- /dev/null +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EncapEthTypeConvertor.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match; + +import com.google.common.base.Optional; +import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava; +import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava; +import org.opendaylight.openflowplugin.extension.api.ExtensionAugment; +import org.opendaylight.openflowplugin.extension.api.path.MatchPath; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.encap.eth.type.grouping.EncapEthTypeValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthTypeCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.EncapEthTypeCaseValueBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketIn; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketInBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemoved; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStats; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthTypeGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthTypeKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.encap.eth.type.grouping.NxmNxEncapEthType; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.encap.eth.type.grouping.NxmNxEncapEthTypeBuilder; +import org.opendaylight.yangtools.yang.binding.Augmentation; + +public class EncapEthTypeConvertor implements ConvertorToOFJava, ConvertorFromOFJava { + @Override + public ExtensionAugment> convert(MatchEntry input, MatchPath path) { + EncapEthTypeCaseValue encapEthTypeCaseValue = ((EncapEthTypeCaseValue) input.getMatchEntryValue()); + + return resolveAugmentation(new NxmNxEncapEthTypeBuilder().setValue(encapEthTypeCaseValue.getEncapEthTypeValues().getEncapEthType()).build(), path, + NxmNxEncapEthTypeKey.class); + } + + private static ExtensionAugment> resolveAugmentation(NxmNxEncapEthType value, + MatchPath path, Class key) { + switch (path) { + case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class, + new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxEncapEthType(value).build(), key); + case PACKETRECEIVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder() + .setNxmNxEncapEthType(value).build(), key); + case SWITCHFLOWREMOVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class, + new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxEncapEthType(value).build(), key); + default: + throw new CodecPreconditionException(path); + } + } + + @Override + public MatchEntry convert(Extension extension) { + Optional matchGrouping = MatchUtil.encapEthTypeResolver.getExtension(extension); + if (!matchGrouping.isPresent()) { + throw new CodecPreconditionException(extension); + } + Integer value = matchGrouping.get().getNxmNxEncapEthType().getValue(); + EncapEthTypeCaseValueBuilder encapEthTypeCaseValueBuilder = new EncapEthTypeCaseValueBuilder(); + encapEthTypeCaseValueBuilder.setEncapEthTypeValues(new EncapEthTypeValuesBuilder() + .setEncapEthType(value).build()); + + + return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxEncapEthType.class, + Nxm1Class.class, + encapEthTypeCaseValueBuilder.build()).build(); + } + +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/MatchUtil.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/MatchUtil.java index ce07b15cc4..01eb79b1ee 100644 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/MatchUtil.java +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/MatchUtil.java @@ -50,6 +50,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthDstGrouping; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthSrcGrouping; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthTypeGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthTypeGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthSrcGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxEncapEthDstGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshMdtypeGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshNpGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunGpeNpGrouping; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfTcpDstGrouping; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfTcpSrcGrouping; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfUdpDstGrouping; @@ -101,6 +107,18 @@ public class MatchUtil { NxmNxNshc3Grouping.class); public final static GroupingResolver nsc4Resolver = new GroupingResolver<>( NxmNxNshc4Grouping.class); + public final static GroupingResolver encapEthTypeResolver = new GroupingResolver<>( + NxmNxEncapEthTypeGrouping.class); + public final static GroupingResolver encapEthSrcResolver = new GroupingResolver<>( + NxmNxEncapEthSrcGrouping.class); + public final static GroupingResolver encapEthDstResolver = new GroupingResolver<>( + NxmNxEncapEthDstGrouping.class); + public final static GroupingResolver nshMdtypeResolver = new GroupingResolver<>( + NxmNxNshMdtypeGrouping.class); + public final static GroupingResolver nshNpResolver = new GroupingResolver<>( + NxmNxNshNpGrouping.class); + public final static GroupingResolver tunGpeNpResolver = new GroupingResolver<>( + NxmNxTunGpeNpGrouping.class); public final static GroupingResolver tcpSrcResolver = new GroupingResolver<>( NxmOfTcpSrcGrouping.class); public final static GroupingResolver tcpDstResolver = new GroupingResolver<>( @@ -142,6 +160,12 @@ public class MatchUtil { nsc2Resolver.setAugmentations(augmentationsOfExtension); nsc3Resolver.setAugmentations(augmentationsOfExtension); nsc4Resolver.setAugmentations(augmentationsOfExtension); + encapEthTypeResolver.setAugmentations(augmentationsOfExtension); + encapEthSrcResolver.setAugmentations(augmentationsOfExtension); + encapEthDstResolver.setAugmentations(augmentationsOfExtension); + nshMdtypeResolver.setAugmentations(augmentationsOfExtension); + nshNpResolver.setAugmentations(augmentationsOfExtension); + tunGpeNpResolver.setAugmentations(augmentationsOfExtension); tcpSrcResolver.setAugmentations(augmentationsOfExtension); tcpDstResolver.setAugmentations(augmentationsOfExtension); udpSrcResolver.setAugmentations(augmentationsOfExtension); diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshMdtypeConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshMdtypeConvertor.java new file mode 100644 index 0000000000..072a4356cc --- /dev/null +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshMdtypeConvertor.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match; + +import com.google.common.base.Optional; +import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava; +import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava; +import org.opendaylight.openflowplugin.extension.api.ExtensionAugment; +import org.opendaylight.openflowplugin.extension.api.path.MatchPath; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsh.mdtype.grouping.NshMdtypeValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshMdtypeCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshMdtypeCaseValueBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketIn; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketInBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemoved; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStats; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshMdtypeGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshMdtypeKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.mdtype.grouping.NxmNxNshMdtype; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.mdtype.grouping.NxmNxNshMdtypeBuilder; +import org.opendaylight.yangtools.yang.binding.Augmentation; + +public class NshMdtypeConvertor implements ConvertorToOFJava, ConvertorFromOFJava { + @Override + public ExtensionAugment> convert(MatchEntry input, MatchPath path) { + NshMdtypeCaseValue nshMdtypeCaseValue = ((NshMdtypeCaseValue) input.getMatchEntryValue()); + + return resolveAugmentation(new NxmNxNshMdtypeBuilder().setValue(nshMdtypeCaseValue.getNshMdtypeValues().getValue()).build(), path, + NxmNxNshMdtypeKey.class); + } + + private static ExtensionAugment> resolveAugmentation(NxmNxNshMdtype value, + MatchPath path, Class key) { + switch (path) { + case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class, + new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxNshMdtype(value).build(), key); + case PACKETRECEIVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder() + .setNxmNxNshMdtype(value).build(), key); + case SWITCHFLOWREMOVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class, + new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshMdtype(value).build(), key); + default: + throw new CodecPreconditionException(path); + } + } + + @Override + public MatchEntry convert(Extension extension) { + Optional matchGrouping = MatchUtil.nshMdtypeResolver.getExtension(extension); + if (!matchGrouping.isPresent()) { + throw new CodecPreconditionException(extension); + } + Short value = matchGrouping.get().getNxmNxNshMdtype().getValue(); + NshMdtypeCaseValueBuilder nshMdtypeCaseValueBuilder = new NshMdtypeCaseValueBuilder(); + nshMdtypeCaseValueBuilder.setNshMdtypeValues(new NshMdtypeValuesBuilder() + .setValue(value).build()); + + + return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshMdtype.class, + Nxm1Class.class, + nshMdtypeCaseValueBuilder.build()).build(); + } + +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshNpConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshNpConvertor.java new file mode 100644 index 0000000000..95688b980c --- /dev/null +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshNpConvertor.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match; + +import com.google.common.base.Optional; +import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava; +import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava; +import org.opendaylight.openflowplugin.extension.api.ExtensionAugment; +import org.opendaylight.openflowplugin.extension.api.path.MatchPath; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsh.np.grouping.NshNpValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshNpCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshNpCaseValueBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketIn; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketInBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemoved; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStats; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshNpGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshNpKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.np.grouping.NxmNxNshNp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.np.grouping.NxmNxNshNpBuilder; +import org.opendaylight.yangtools.yang.binding.Augmentation; + +public class NshNpConvertor implements ConvertorToOFJava, ConvertorFromOFJava { + @Override + public ExtensionAugment> convert(MatchEntry input, MatchPath path) { + NshNpCaseValue nshNpCaseValue = ((NshNpCaseValue) input.getMatchEntryValue()); + + return resolveAugmentation(new NxmNxNshNpBuilder().setValue(nshNpCaseValue.getNshNpValues().getValue()).build(), path, + NxmNxNshNpKey.class); + } + + private static ExtensionAugment> resolveAugmentation(NxmNxNshNp value, + MatchPath path, Class key) { + switch (path) { + case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class, + new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxNshNp(value).build(), key); + case PACKETRECEIVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder() + .setNxmNxNshNp(value).build(), key); + case SWITCHFLOWREMOVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class, + new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshNp(value).build(), key); + default: + throw new CodecPreconditionException(path); + } + } + + @Override + public MatchEntry convert(Extension extension) { + Optional matchGrouping = MatchUtil.nshNpResolver.getExtension(extension); + if (!matchGrouping.isPresent()) { + throw new CodecPreconditionException(extension); + } + Short value = matchGrouping.get().getNxmNxNshNp().getValue(); + NshNpCaseValueBuilder nshNpCaseValueBuilder = new NshNpCaseValueBuilder(); + nshNpCaseValueBuilder.setNshNpValues(new NshNpValuesBuilder() + .setValue(value).build()); + + + return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshNp.class, + Nxm1Class.class, + nshNpCaseValueBuilder.build()).build(); + } + +} diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/TunGpeNpConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/TunGpeNpConvertor.java new file mode 100644 index 0000000000..c872ca7115 --- /dev/null +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/TunGpeNpConvertor.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2015 Intel, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match; + +import com.google.common.base.Optional; +import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava; +import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava; +import org.opendaylight.openflowplugin.extension.api.ExtensionAugment; +import org.opendaylight.openflowplugin.extension.api.path.MatchPath; +import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.tun.gpe.np.grouping.TunGpeNpValuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.TunGpeNpCaseValue; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.TunGpeNpCaseValueBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketIn; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketInBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemoved; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemovedBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStats; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunGpeNpGrouping; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunGpeNpKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.tun.gpe.np.grouping.NxmNxTunGpeNp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.tun.gpe.np.grouping.NxmNxTunGpeNpBuilder; +import org.opendaylight.yangtools.yang.binding.Augmentation; + +public class TunGpeNpConvertor implements ConvertorToOFJava, ConvertorFromOFJava { + @Override + public ExtensionAugment> convert(MatchEntry input, MatchPath path) { + TunGpeNpCaseValue tunGpeNpCaseValue = ((TunGpeNpCaseValue) input.getMatchEntryValue()); + + return resolveAugmentation(new NxmNxTunGpeNpBuilder().setValue(tunGpeNpCaseValue.getTunGpeNpValues().getValue()).build(), path, + NxmNxTunGpeNpKey.class); + } + + private static ExtensionAugment> resolveAugmentation(NxmNxTunGpeNp value, + MatchPath path, Class key) { + switch (path) { + case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifUpdateFlowStats.class, + new NxAugMatchNotifUpdateFlowStatsBuilder().setNxmNxTunGpeNp(value).build(), key); + case PACKETRECEIVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder() + .setNxmNxTunGpeNp(value).build(), key); + case SWITCHFLOWREMOVED_MATCH: + return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class, + new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxTunGpeNp(value).build(), key); + default: + throw new CodecPreconditionException(path); + } + } + + @Override + public MatchEntry convert(Extension extension) { + Optional matchGrouping = MatchUtil.tunGpeNpResolver.getExtension(extension); + if (!matchGrouping.isPresent()) { + throw new CodecPreconditionException(extension); + } + Short value = matchGrouping.get().getNxmNxTunGpeNp().getValue(); + TunGpeNpCaseValueBuilder tunGpeNpCaseValueBuilder = new TunGpeNpCaseValueBuilder(); + tunGpeNpCaseValueBuilder.setTunGpeNpValues(new TunGpeNpValuesBuilder() + .setValue(value).build()); + + + return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxTunGpeNp.class, + Nxm1Class.class, + tunGpeNpCaseValueBuilder.build()).build(); + } + +} diff --git a/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-action.yang b/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-action.yang index ceeddeedcc..48f807bffe 100644 --- a/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-action.yang +++ b/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-action.yang @@ -138,6 +138,31 @@ module openflowplugin-extension-nicira-action { type empty; } } + grouping nxm-nx-encap-eth-src-grouping { + leaf nx-encap-eth-src { + type empty; + } + } + grouping nxm-nx-encap-eth-dst-grouping { + leaf nx-encap-eth-dst { + type empty; + } + } + grouping nxm-nx-nsh-mdtype-grouping { + leaf nx-nsh-mdtype { + type empty; + } + } + grouping nxm-nx-nsh-np-grouping { + leaf nx-nsh-np { + type empty; + } + } + grouping nxm-nx-tun-gpe-np-grouping { + leaf nx-tun-gpe-np { + type empty; + } + } grouping dst-choice-grouping { choice dst-choice { @@ -201,6 +226,21 @@ module openflowplugin-extension-nicira-action { case dst-of-icmp-type-case { uses nxm-of-icmp-type-grouping; } + case dst-nx-encap-eth-src-case { + uses nxm-nx-encap-eth-src-grouping; + } + case dst-nx-encap-eth-dst-case { + uses nxm-nx-encap-eth-dst-grouping; + } + case dst-nx-nsh-mdtype-case { + uses nxm-nx-nsh-mdtype-grouping; + } + case dst-nx-nsh-np-case { + uses nxm-nx-nsh-np-grouping; + } + case dst-nx-tun-gpe-np-case { + uses nxm-nx-tun-gpe-np-grouping; + } } } @@ -266,6 +306,21 @@ module openflowplugin-extension-nicira-action { case src-of-ip-dst-case { uses nxm-of-ip-dst-grouping; } + case src-nx-encap-eth-src-case { + uses nxm-nx-encap-eth-src-grouping; + } + case src-nx-encap-eth-dst-case { + uses nxm-nx-encap-eth-dst-grouping; + } + case src-nx-nsh-mdtype-case { + uses nxm-nx-nsh-mdtype-grouping; + } + case src-nx-nsh-np-case { + uses nxm-nx-nsh-np-grouping; + } + case src-nx-tun-gpe-np-case { + uses nxm-nx-tun-gpe-np-grouping; + } } } @@ -367,56 +422,16 @@ bits specified from the register."; } } - grouping nx-action-set-nsp-grouping { - container nx-set-nsp { - description "Sets NSP header" - + " Sets NSH Service Path ID (NSP) header"; - leaf nsp { - type uint32; - } + grouping nx-action-push-nsh-grouping { + container nx-push-nsh { + presence "no content action"; + description "Push NSH header"; } } - - grouping nx-action-set-nsi-grouping { - container nx-set-nsi { - description "Sets NSH Service Index (NSI) header"; - leaf nsi { - type uint8; - } - } - } - - grouping nx-action-set-nshc-grouping { - leaf nshc { - type uint32; - } - } - - grouping nx-action-set-nshc-1-grouping { - container nx-set-nshc-1 { - description "Sets NSC1 header"; - uses nx-action-set-nshc-grouping; - } - } - - grouping nx-action-set-nshc-2-grouping { - container nx-set-nshc-2 { - description "Sets NSC2 header"; - uses nx-action-set-nshc-grouping; - } - } - - grouping nx-action-set-nshc-3-grouping { - container nx-set-nshc-3 { - description "Sets NSC3 header"; - uses nx-action-set-nshc-grouping; - } - } - - grouping nx-action-set-nshc-4-grouping { - container nx-set-nshc-4 { - description "Sets NSC4 header"; - uses nx-action-set-nshc-grouping; + grouping nx-action-pop-nsh-grouping { + container nx-pop-nsh { + presence "no content action"; + description "Pop NSH header"; } } @@ -464,33 +479,13 @@ bits specified from the register."; } } augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsp-rpc-add-flow-write-actions-case { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-1-rpc-add-flow-write-actions-case { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-2-rpc-add-flow-write-actions-case { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-3-rpc-add-flow-write-actions-case { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-4-rpc-add-flow-write-actions-case { - uses nx-action-set-nshc-4-grouping; + case nx-action-push-nsh-rpc-add-flow-write-actions-case { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsi-rpc-add-flow-write-actions-case { - uses nx-action-set-nsi-grouping; + case nx-action-pop-nsh-rpc-add-flow-write-actions-case { + uses nx-action-pop-nsh-grouping; } } augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { @@ -525,43 +520,22 @@ bits specified from the register."; } } augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsp-rpc-add-flow-apply-actions-case { - uses nx-action-set-nsp-grouping; + case nx-action-push-nsh-rpc-add-flow-apply-actions-case { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-1-rpc-add-flow-apply-actions-case { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-2-rpc-add-flow-apply-actions-case { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-3-rpc-add-flow-apply-actions-case { - uses nx-action-set-nshc-3-grouping; + case nx-action-pop-nsh-rpc-add-flow-apply-actions-case { + uses nx-action-pop-nsh-grouping; } } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-4-rpc-add-flow-apply-actions-case { - uses nx-action-set-nshc-4-grouping; - } - } augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { case nx-action-conntrack-rpc-add-flow-apply-actions-case { uses nx-action-conntrack-grouping; } } - augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsi-rpc-add-flow-apply-actions-case { - uses nx-action-set-nsi-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { case "nx-action-reg-load-rpc-remove-flow-write-actions-case" { uses nx-action-reg-load-grouping; @@ -588,33 +562,13 @@ bits specified from the register."; } } augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsp-rpc-remove-flow-write-actions-case { - uses nx-action-set-nsp-grouping; + case nx-action-push-nsh-rpc-remove-flow-write-actions-case { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-1-rpc-remove-flow-write-actions-case { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-2-rpc-remove-flow-write-actions-case { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-3-rpc-remove-flow-write-actions-case { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-4-rpc-remove-flow-write-actions-case { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsi-rpc-remove-flow-write-actions-case { - uses nx-action-set-nsi-grouping; + case nx-action-pop-nsh-rpc-remove-flow-write-actions-case { + uses nx-action-pop-nsh-grouping; } } augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { @@ -649,33 +603,13 @@ bits specified from the register."; } } augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsp-rpc-remove-flow-apply-actions-case { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-1-rpc-remove-flow-apply-actions-case { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-2-rpc-remove-flow-apply-actions-case { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-3-rpc-remove-flow-apply-actions-case { - uses nx-action-set-nshc-3-grouping; + case nx-action-push-nsh-rpc-remove-flow-apply-actions-case { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nshc-4-rpc-remove-flow-apply-actions-case { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case nx-action-set-nsi-rpc-remove-flow-apply-actions-case { - uses nx-action-set-nsi-grouping; + case nx-action-pop-nsh-rpc-remove-flow-apply-actions-case { + uses nx-action-pop-nsh-grouping; } } augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { @@ -710,33 +644,13 @@ bits specified from the register."; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsp-rpc-update-flow-original-write-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-1-rpc-update-flow-original-write-actions-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-2-rpc-update-flow-original-write-actions-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-3-rpc-update-flow-original-write-actions-case" { - uses nx-action-set-nshc-3-grouping; + case "nx-action-push-nsh-rpc-update-flow-original-write-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-4-rpc-update-flow-original-write-actions-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsi-rpc-update-flow-original-write-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-update-flow-original-write-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { @@ -771,33 +685,13 @@ bits specified from the register."; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsp-rpc-update-flow-original-apply-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-1-rpc-update-flow-original-apply-actions-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-2-rpc-update-flow-original-apply-actions-case" { - uses nx-action-set-nshc-2-grouping; + case "nx-action-push-nsh-rpc-update-flow-original-apply-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-3-rpc-update-flow-original-apply-actions-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-4-rpc-update-flow-original-apply-actions-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsi-rpc-update-flow-original-apply-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-update-flow-original-apply-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { @@ -832,33 +726,13 @@ bits specified from the register."; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsp-rpc-update-flow-updated-write-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-1-rpc-update-flow-updated-write-actions-case" { - uses nx-action-set-nshc-1-grouping; + case "nx-action-push-nsh-rpc-update-flow-updated-write-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-2-rpc-update-flow-updated-write-actions-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-3-rpc-update-flow-updated-write-actions-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-4-rpc-update-flow-updated-write-actions-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsi-rpc-update-flow-updated-write-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-update-flow-updated-write-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" { @@ -893,33 +767,13 @@ bits specified from the register."; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsp-rpc-update-flow-updated-apply-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-1-rpc-update-flow-updated-apply-actions-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-2-rpc-update-flow-updated-apply-actions-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-3-rpc-update-flow-updated-apply-actions-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nshc-4-rpc-update-flow-updated-apply-actions-case" { - uses nx-action-set-nshc-4-grouping; + case "nx-action-push-nsh-rpc-update-flow-updated-apply-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { - case "nx-action-set-nsi-rpc-update-flow-updated-apply-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-update-flow-updated-apply-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" { @@ -954,33 +808,13 @@ bits specified from the register."; } } augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsp-rpc-add-group-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-1-rpc-add-group-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-2-rpc-add-group-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-3-rpc-add-group-case" { - uses nx-action-set-nshc-3-grouping; + case "nx-action-push-nsh-rpc-add-group-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-4-rpc-add-group-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsi-rpc-add-group-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-add-group-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { @@ -1015,33 +849,13 @@ bits specified from the register."; } } augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsp-rpc-remove-group-case" { - uses nx-action-set-nsp-grouping; + case "nx-action-push-nsh-rpc-remove-group-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-1-rpc-remove-group-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-2-rpc-remove-group-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-3-rpc-remove-group-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-4-rpc-remove-group-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsi-rpc-remove-group-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-remove-group-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { @@ -1076,33 +890,13 @@ bits specified from the register."; } } augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsp-rpc-update-group-original-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-1-rpc-update-group-original-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-2-rpc-update-group-original-case" { - uses nx-action-set-nshc-2-grouping; + case "nx-action-push-nsh-rpc-update-group-original-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-3-rpc-update-group-original-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-4-rpc-update-group-original-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsi-rpc-update-group-original-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-update-group-original-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { @@ -1137,33 +931,13 @@ bits specified from the register."; } } augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsp-rpc-update-group-updated-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-1-rpc-update-group-updated-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-2-rpc-update-group-updated-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-3-rpc-update-group-updated-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nshc-4-rpc-update-group-updated-case" { - uses nx-action-set-nshc-4-grouping; + case "nx-action-push-nsh-rpc-update-group-updated-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { - case "nx-action-set-nsi-rpc-update-group-updated-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-update-group-updated-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" { @@ -1198,33 +972,13 @@ bits specified from the register."; } } augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" { - case "nx-action-set-nsp-rpc-transmit-packet-case" { - uses nx-action-set-nsp-grouping; + case "nx-action-push-nsh-rpc-transmit-packet-case" { + uses nx-action-push-nsh-grouping; } } augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" { - case "nx-action-set-nshc-1-rpc-transmit-packet-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" { - case "nx-action-set-nshc-2-rpc-transmit-packet-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" { - case "nx-action-set-nshc-3-rpc-transmit-packet-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" { - case "nx-action-set-nshc-4-rpc-transmit-packet-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" { - case "nx-action-set-nsi-rpc-transmit-packet-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-rpc-transmit-packet-case" { + uses nx-action-pop-nsh-grouping; } } augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" { @@ -1260,33 +1014,13 @@ bits specified from the register."; } } augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" { - case "nx-action-set-nsp-nodes-node-table-flow-write-actions-case" { - uses nx-action-set-nsp-grouping; + case "nx-action-push-nsh-nodes-node-table-flow-write-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" { - case "nx-action-set-nshc-1-nodes-node-table-flow-write-actions-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" { - case "nx-action-set-nshc-2-nodes-node-table-flow-write-actions-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" { - case "nx-action-set-nshc-3-nodes-node-table-flow-write-actions-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" { - case "nx-action-set-nshc-4-nodes-node-table-flow-write-actions-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" { - case "nx-action-set-nsi-nodes-node-table-flow-write-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-nodes-node-table-flow-write-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" { @@ -1321,33 +1055,13 @@ bits specified from the register."; } } augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" { - case "nx-action-set-nsp-nodes-node-table-flow-apply-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" { - case "nx-action-set-nshc-1-nodes-node-table-flow-apply-actions-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" { - case "nx-action-set-nshc-2-nodes-node-table-flow-apply-actions-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" { - case "nx-action-set-nshc-3-nodes-node-table-flow-apply-actions-case" { - uses nx-action-set-nshc-3-grouping; + case "nx-action-push-nsh-nodes-node-table-flow-apply-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" { - case "nx-action-set-nshc-4-nodes-node-table-flow-apply-actions-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" { - case "nx-action-set-nsi-nodes-node-table-flow-apply-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-nodes-node-table-flow-apply-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" { @@ -1382,33 +1096,13 @@ bits specified from the register."; } } augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" { - case "nx-action-set-nsp-nodes-node-group-buckets-bucket-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" { - case "nx-action-set-nshc-1-nodes-node-group-buckets-bucket-actions-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" { - case "nx-action-set-nshc-2-nodes-node-group-buckets-bucket-actions-case" { - uses nx-action-set-nshc-2-grouping; + case "nx-action-push-nsh-nodes-node-group-buckets-bucket-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" { - case "nx-action-set-nshc-3-nodes-node-group-buckets-bucket-actions-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" { - case "nx-action-set-nshc-4-nodes-node-group-buckets-bucket-actions-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" { - case "nx-action-set-nsi-nodes-node-group-buckets-bucket-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-nodes-node-group-buckets-bucket-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" { @@ -1444,33 +1138,13 @@ bits specified from the register."; } } augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nsp-notif-flows-statistics-update-write-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-1-notif-flows-statistics-update-write-actions-case" { - uses nx-action-set-nshc-1-grouping; + case "nx-action-push-nsh-notif-flows-statistics-update-write-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-2-notif-flows-statistics-update-write-actions-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-3-notif-flows-statistics-update-write-actions-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-4-notif-flows-statistics-update-write-actions-case" { - uses nx-action-set-nshc-4-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nsi-notif-flows-statistics-update-write-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-notif-flows-statistics-update-write-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" { @@ -1505,33 +1179,13 @@ bits specified from the register."; } } augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nsp-notif-flows-statistics-update-apply-actions-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-1-notif-flows-statistics-update-apply-actions-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-2-notif-flows-statistics-update-apply-actions-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-3-notif-flows-statistics-update-apply-actions-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nshc-4-notif-flows-statistics-update-apply-actions-case" { - uses nx-action-set-nshc-4-grouping; + case "nx-action-push-nsh-notif-flows-statistics-update-apply-actions-case" { + uses nx-action-push-nsh-grouping; } } augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" { - case "nx-action-set-nsi-notif-flows-statistics-update-apply-actions-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-notif-flows-statistics-update-apply-actions-case" { + uses nx-action-pop-nsh-grouping; } } augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" { @@ -1566,33 +1220,13 @@ bits specified from the register."; } } augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" { - case "nx-action-set-nsp-notif-group-desc-stats-updated-case" { - uses nx-action-set-nsp-grouping; - } - } - augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" { - case "nx-action-set-nshc-1-notif-group-desc-stats-updated-case" { - uses nx-action-set-nshc-1-grouping; - } - } - augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" { - case "nx-action-set-nshc-2-notif-group-desc-stats-updated-case" { - uses nx-action-set-nshc-2-grouping; - } - } - augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" { - case "nx-action-set-nshc-3-notif-group-desc-stats-updated-case" { - uses nx-action-set-nshc-3-grouping; - } - } - augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" { - case "nx-action-set-nshc-4-notif-group-desc-stats-updated-case" { - uses nx-action-set-nshc-4-grouping; + case "nx-action-push-nsh-notif-group-desc-stats-updated-case" { + uses nx-action-push-nsh-grouping; } } augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" { - case "nx-action-set-nsi-notif-group-desc-stats-updated-case" { - uses nx-action-set-nsi-grouping; + case "nx-action-pop-nsh-notif-group-desc-stats-updated-case" { + uses nx-action-pop-nsh-grouping; } } augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" { diff --git a/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-match.yang b/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-match.yang index 64022cde05..8acbf61d0f 100644 --- a/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-match.yang +++ b/extension/openflowplugin-extension-nicira/src/main/yang/openflowplugin-extension-nicira-match.yang @@ -124,6 +124,24 @@ module openflowplugin-extension-nicira-match { identity nxm-of-icmp-type-key { base ext-gen:extension-key; } + identity nxm-nx-encap-eth-type-key { + base ext-gen:extension-key; + } + identity nxm-nx-encap-eth-src-key { + base ext-gen:extension-key; + } + identity nxm-nx-encap-eth-dst-key { + base ext-gen:extension-key; + } + identity nxm-nx-nsh-mdtype-key { + base ext-gen:extension-key; + } + identity nxm-nx-nsh-np-key { + base ext-gen:extension-key; + } + identity nxm-nx-tun-gpe-np-key { + base ext-gen:extension-key; + } grouping ipv4-address-grouping { leaf ipv4-address { type inet:ipv4-address; @@ -327,6 +345,44 @@ module openflowplugin-extension-nicira-match { } } } + grouping nxm-nx-encap-eth-type-grouping { + container nxm-nx-encap-eth-type { + leaf value { + type uint16; + } + } + } + grouping nxm-nx-encap-eth-src-grouping { + container nxm-nx-encap-eth-src { + uses mac-address-grouping; + } + } + grouping nxm-nx-encap-eth-dst-grouping { + container nxm-nx-encap-eth-dst { + uses mac-address-grouping; + } + } + grouping nxm-nx-nsh-mdtype-grouping { + container nxm-nx-nsh-mdtype { + leaf value { + type uint8; + } + } + } + grouping nxm-nx-nsh-np-grouping { + container nxm-nx-nsh-np { + leaf value { + type uint8; + } + } + } + grouping nxm-nx-tun-gpe-np-grouping { + container nxm-nx-tun-gpe-np { + leaf value { + type uint8; + } + } + } grouping all-matches-grouping { @@ -348,6 +404,12 @@ module openflowplugin-extension-nicira-match { uses nxm-nx-nshc-2-grouping; uses nxm-nx-nshc-3-grouping; uses nxm-nx-nshc-4-grouping; + uses nxm-nx-encap-eth-type-grouping; + uses nxm-nx-encap-eth-src-grouping; + uses nxm-nx-encap-eth-dst-grouping; + uses nxm-nx-nsh-mdtype-grouping; + uses nxm-nx-nsh-np-grouping; + uses nxm-nx-tun-gpe-np-grouping; uses nxm-of-tcp-src-grouping; uses nxm-of-tcp-dst-grouping; uses nxm-of-udp-src-grouping; diff --git a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1ConvertorTest.java b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1ConvertorTest.java deleted file mode 100644 index bba0edfd7f..0000000000 --- a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc1ConvertorTest.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import static org.mockito.Mockito.when; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._1.grouping.NxActionSetNshc1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc1NotifFlowsStatisticsUpdateApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc1NotifFlowsStatisticsUpdateWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc1NotifGroupDescStatsUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc1NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._1.grouping.NxSetNshc1; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Test for {@link SetNshc1Convertor}. - */ -@RunWith(MockitoJUnitRunner.class) -public class SetNshc1ConvertorTest { - - private static final Logger LOG = LoggerFactory.getLogger(SetNshc1ConvertorTest.class); - - @Mock - private NxActionSetNshc1NodesNodeTableFlowWriteActionsCase actionsCase; - - @Mock - private Action action; - - private SetNshc1Convertor setNshc1Convertor; - - @Before - public void setUp() throws Exception { - final NxSetNshc1 nxSetNshc1 = Mockito.mock(NxSetNshc1.class); - when(actionsCase.getNxSetNshc1()).thenReturn(nxSetNshc1); - when(nxSetNshc1.getNshc()).thenReturn(1L); - - final ActionSetNshc1 actionSetNshc1 = Mockito.mock(ActionSetNshc1.class); - final NxActionSetNshc1 nxActionSetNshc1 = Mockito.mock(NxActionSetNshc1.class); - when(nxActionSetNshc1.getNshc()).thenReturn(3L); - when(actionSetNshc1.getNxActionSetNshc1()).thenReturn(nxActionSetNshc1); - when(action.getActionChoice()).thenReturn(actionSetNshc1); - - setNshc1Convertor = new SetNshc1Convertor(); - } - - @Test - public void testConvert() throws Exception { - final ActionSetNshc1 actionSetNshc1 = (ActionSetNshc1) setNshc1Convertor.convert(actionsCase).getActionChoice(); - Assert.assertEquals(Long.valueOf(1L), actionSetNshc1.getNxActionSetNshc1().getNshc()); - } - - @Test - public void testConvert1() throws Exception { - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult - = setNshc1Convertor.convert(action, ActionPath.NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult1 - = setNshc1Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult2 - = setNshc1Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult3 - = setNshc1Convertor.convert(action, ActionPath.GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION); - - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc1NodesNodeTableFlowWriteActionsCase) actionResult).getNxSetNshc1().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc1NotifFlowsStatisticsUpdateWriteActionsCase) actionResult1).getNxSetNshc1().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc1NotifFlowsStatisticsUpdateApplyActionsCase) actionResult2).getNxSetNshc1().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc1NotifGroupDescStatsUpdatedCase) actionResult3).getNxSetNshc1().getNshc()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2ConvertorTest.java b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2ConvertorTest.java deleted file mode 100644 index b25c51a237..0000000000 --- a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc2ConvertorTest.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import static org.mockito.Mockito.when; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc2; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._2.grouping.NxActionSetNshc2; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc2NotifFlowsStatisticsUpdateApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc2NotifFlowsStatisticsUpdateWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc2NotifGroupDescStatsUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc2NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._2.grouping.NxSetNshc2; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Test for {@link SetNshc2Convertor}. - */ -@RunWith(MockitoJUnitRunner.class) -public class SetNshc2ConvertorTest { - - private static final Logger LOG = LoggerFactory.getLogger(SetNshc2ConvertorTest.class); - - @Mock - private NxActionSetNshc2NodesNodeTableFlowWriteActionsCase actionsCase; - @Mock - private Action action; - private SetNshc2Convertor setNshc2Convertor; - - @Before - public void setUp() throws Exception { - final NxSetNshc2 nxSetNshc2 = Mockito.mock(NxSetNshc2.class); - when(actionsCase.getNxSetNshc2()).thenReturn(nxSetNshc2); - when(nxSetNshc2.getNshc()).thenReturn(1L); - - final ActionSetNshc2 actionSetNshc2 = Mockito.mock(ActionSetNshc2.class); - final NxActionSetNshc2 nxActionSetNshc2 = Mockito.mock(NxActionSetNshc2.class); - when(nxActionSetNshc2.getNshc()).thenReturn(3L); - when(actionSetNshc2.getNxActionSetNshc2()).thenReturn(nxActionSetNshc2); - when(action.getActionChoice()).thenReturn(actionSetNshc2); - - setNshc2Convertor = new SetNshc2Convertor(); - } - - @Test - public void testConvert() throws Exception { - final ActionSetNshc2 actionSetNshc2 = (ActionSetNshc2) setNshc2Convertor.convert(actionsCase).getActionChoice(); - Assert.assertEquals(Long.valueOf(1L), actionSetNshc2.getNxActionSetNshc2().getNshc()); - } - - @Test - public void testConvert1() throws Exception { - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult - = setNshc2Convertor.convert(action, ActionPath.NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult1 - = setNshc2Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult2 - = setNshc2Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult3 - = setNshc2Convertor.convert(action, ActionPath.GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION); - - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc2NodesNodeTableFlowWriteActionsCase) actionResult).getNxSetNshc2().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc2NotifFlowsStatisticsUpdateWriteActionsCase) actionResult1).getNxSetNshc2().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc2NotifFlowsStatisticsUpdateApplyActionsCase) actionResult2).getNxSetNshc2().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc2NotifGroupDescStatsUpdatedCase) actionResult3).getNxSetNshc2().getNshc()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3ConvertorTest.java b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3ConvertorTest.java deleted file mode 100644 index f5bf2fa880..0000000000 --- a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc3ConvertorTest.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import static org.mockito.Mockito.when; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._3.grouping.NxActionSetNshc3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc3NotifFlowsStatisticsUpdateApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc3NotifFlowsStatisticsUpdateWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc3NotifGroupDescStatsUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc3NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._3.grouping.NxSetNshc3; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Test for {@link SetNshc3Convertor}. - */ -@RunWith(MockitoJUnitRunner.class) -public class SetNshc3ConvertorTest { - - private static final Logger LOG = LoggerFactory.getLogger(SetNshc3ConvertorTest.class); - - @Mock - private NxActionSetNshc3NodesNodeTableFlowWriteActionsCase actionsCase; - @Mock - private Action action; - private SetNshc3Convertor setNshc3Convertor; - - @Before - public void setUp() throws Exception { - final NxSetNshc3 nxSetNshc3 = Mockito.mock(NxSetNshc3.class); - when(actionsCase.getNxSetNshc3()).thenReturn(nxSetNshc3); - when(nxSetNshc3.getNshc()).thenReturn(1L); - - final ActionSetNshc3 actionSetNshc3 = Mockito.mock(ActionSetNshc3.class); - final NxActionSetNshc3 nxActionSetNshc3 = Mockito.mock(NxActionSetNshc3.class); - when(nxActionSetNshc3.getNshc()).thenReturn(3L); - when(actionSetNshc3.getNxActionSetNshc3()).thenReturn(nxActionSetNshc3); - when(action.getActionChoice()).thenReturn(actionSetNshc3); - - setNshc3Convertor = new SetNshc3Convertor(); - } - - @Test - public void testConvert() throws Exception { - final ActionSetNshc3 actionSetNshc3 = (ActionSetNshc3) setNshc3Convertor.convert(actionsCase).getActionChoice(); - Assert.assertEquals(Long.valueOf(1L), actionSetNshc3.getNxActionSetNshc3().getNshc()); - } - - @Test - public void testConvert1() throws Exception { - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult - = setNshc3Convertor.convert(action, ActionPath.NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult1 - = setNshc3Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult2 - = setNshc3Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult3 - = setNshc3Convertor.convert(action, ActionPath.GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION); - - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc3NodesNodeTableFlowWriteActionsCase) actionResult).getNxSetNshc3().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc3NotifFlowsStatisticsUpdateWriteActionsCase) actionResult1).getNxSetNshc3().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc3NotifFlowsStatisticsUpdateApplyActionsCase) actionResult2).getNxSetNshc3().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc3NotifGroupDescStatsUpdatedCase) actionResult3).getNxSetNshc3().getNshc()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4ConvertorTest.java b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4ConvertorTest.java deleted file mode 100644 index 4c19b87268..0000000000 --- a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNshc4ConvertorTest.java +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import static org.mockito.Mockito.when; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nshc._4.grouping.NxActionSetNshc4; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNshc4NotifFlowsStatisticsUpdateApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc4NotifFlowsStatisticsUpdateWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNshc4NotifGroupDescStatsUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNshc4NodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nshc._4.grouping.NxSetNshc4; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Test for {@link SetNshc4Convertor}. - */ -@RunWith(MockitoJUnitRunner.class) -public class SetNshc4ConvertorTest { - - private static final Logger LOG = LoggerFactory.getLogger(SetNshc4ConvertorTest.class); - - @Mock - private NxActionSetNshc4NodesNodeTableFlowWriteActionsCase actionsCase; - @Mock - private Action action; - private SetNshc4Convertor setNshc4Convertor; - - @Before - public void setUp() throws Exception { - final NxSetNshc4 nxSetNshc4 = Mockito.mock(NxSetNshc4.class); - when(actionsCase.getNxSetNshc4()).thenReturn(nxSetNshc4); - when(nxSetNshc4.getNshc()).thenReturn(1L); - - final ActionSetNshc4 actionSetNshc4 = Mockito.mock(ActionSetNshc4.class); - final NxActionSetNshc4 nxActionSetNshc4 = Mockito.mock(NxActionSetNshc4.class); - when(nxActionSetNshc4.getNshc()).thenReturn(3L); - when(actionSetNshc4.getNxActionSetNshc4()).thenReturn(nxActionSetNshc4); - when(action.getActionChoice()).thenReturn(actionSetNshc4); - - setNshc4Convertor = new SetNshc4Convertor(); - } - - @Test - public void testConvert() throws Exception { - final ActionSetNshc4 actionSetNshc4 = (ActionSetNshc4) setNshc4Convertor.convert(actionsCase).getActionChoice(); - Assert.assertEquals(Long.valueOf(1L), actionSetNshc4.getNxActionSetNshc4().getNshc()); - } - - @Test - public void testConvert1() throws Exception { - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult - = setNshc4Convertor.convert(action, ActionPath.NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult1 - = setNshc4Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult2 - = setNshc4Convertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult3 - = setNshc4Convertor.convert(action, ActionPath.GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION); - - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc4NodesNodeTableFlowWriteActionsCase) actionResult).getNxSetNshc4().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc4NotifFlowsStatisticsUpdateWriteActionsCase) actionResult1).getNxSetNshc4().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc4NotifFlowsStatisticsUpdateApplyActionsCase) actionResult2).getNxSetNshc4().getNshc()); - Assert.assertEquals(Long.valueOf(3), ((NxActionSetNshc4NotifGroupDescStatsUpdatedCase) actionResult3).getNxSetNshc4().getNshc()); - } -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNsiConvertorTest.java b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNsiConvertorTest.java deleted file mode 100644 index 9ff7a2bdbf..0000000000 --- a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNsiConvertorTest.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import static org.mockito.Mockito.when; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsi.grouping.NxActionSetNsi; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNsiNotifFlowsStatisticsUpdateApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNotifFlowsStatisticsUpdateWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNsiNotifGroupDescStatsUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNsiNodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsi.grouping.NxSetNsi; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Test for {@link SetNsiConvertor}. - */ -@RunWith(MockitoJUnitRunner.class) -public class SetNsiConvertorTest { - - private static final Logger LOG = LoggerFactory.getLogger(SetNsiConvertorTest.class); - - @Mock - private NxActionSetNsiNodesNodeTableFlowWriteActionsCase actionsCase; - @Mock - private Action action; - private SetNsiConvertor setNsiConvertor; - - @Before - public void setUp() throws Exception { - final NxSetNsi nxSetNsi = Mockito.mock(NxSetNsi.class); - when(actionsCase.getNxSetNsi()).thenReturn(nxSetNsi); - when(nxSetNsi.getNsi()).thenReturn((short) 1); - - final ActionSetNsi actionSetNsi = Mockito.mock(ActionSetNsi.class); - final NxActionSetNsi nxActionSetNsi = Mockito.mock(NxActionSetNsi.class); - when(nxActionSetNsi.getNsi()).thenReturn((short) 3); - when(actionSetNsi.getNxActionSetNsi()).thenReturn(nxActionSetNsi); - when(action.getActionChoice()).thenReturn(actionSetNsi); - - setNsiConvertor = new SetNsiConvertor(); - } - - @Test - public void testConvert() throws Exception { - final ActionSetNsi actionSetNsi = (ActionSetNsi) setNsiConvertor.convert(actionsCase).getActionChoice(); - Assert.assertEquals(1, actionSetNsi.getNxActionSetNsi().getNsi().intValue()); - } - - @Test - public void testConvert1() throws Exception { - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult - = setNsiConvertor.convert(action, ActionPath.NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult1 - = setNsiConvertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult2 - = setNsiConvertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult3 - = setNsiConvertor.convert(action, ActionPath.GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION); - - Assert.assertEquals(3, ((NxActionSetNsiNodesNodeTableFlowWriteActionsCase) actionResult).getNxSetNsi().getNsi().intValue()); - Assert.assertEquals(3, ((NxActionSetNsiNotifFlowsStatisticsUpdateWriteActionsCase) actionResult1).getNxSetNsi().getNsi().intValue()); - Assert.assertEquals(3, ((NxActionSetNsiNotifFlowsStatisticsUpdateApplyActionsCase) actionResult2).getNxSetNsi().getNsi().intValue()); - Assert.assertEquals(3, ((NxActionSetNsiNotifGroupDescStatsUpdatedCase) actionResult3).getNxSetNsi().getNsi().intValue()); - } - -} \ No newline at end of file diff --git a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNspConvertorTest.java b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNspConvertorTest.java deleted file mode 100644 index 70ca29b979..0000000000 --- a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/action/SetNspConvertorTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.action; - -import static org.mockito.Mockito.when; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; -import org.opendaylight.openflowplugin.extension.api.path.ActionPath; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionSetNsp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.set.nsp.grouping.NxActionSetNsp; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionSetNspNotifFlowsStatisticsUpdateApplyActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flows.statistics.update.flow.and.statistics.map.list.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNotifFlowsStatisticsUpdateWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.group.desc.stats.updated.group.desc.stats.buckets.bucket.action.action.NxActionSetNspNotifGroupDescStatsUpdatedCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.write.actions._case.write.actions.action.action.NxActionSetNspNodesNodeTableFlowWriteActionsCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.set.nsp.grouping.NxSetNsp; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Test for {@link SetNspConvertor}. - */ -@RunWith(MockitoJUnitRunner.class) -public class SetNspConvertorTest { - - private static final Logger LOG = LoggerFactory.getLogger(SetNspConvertorTest.class); - - @Mock - private NxActionSetNspNodesNodeTableFlowWriteActionsCase actionsCase; - @Mock - private Action action; - - private SetNspConvertor setNspConvertor; - - @Before - public void setUp() throws Exception { - final NxSetNsp nxSetNsp = Mockito.mock(NxSetNsp.class); - when(actionsCase.getNxSetNsp()).thenReturn(nxSetNsp); - when(nxSetNsp.getNsp()).thenReturn(1L); - - final ActionSetNsp actionSetNsp = Mockito.mock(ActionSetNsp.class); - final NxActionSetNsp nxActionSetNsp = Mockito.mock(NxActionSetNsp.class); - when(nxActionSetNsp.getNsp()).thenReturn(3L); - when(actionSetNsp.getNxActionSetNsp()).thenReturn(nxActionSetNsp); - when(action.getActionChoice()).thenReturn(actionSetNsp); - - setNspConvertor = new SetNspConvertor(); - } - - @Test - public void testConvert() throws Exception { - final ActionSetNsp actionSetNsp = (ActionSetNsp) setNspConvertor.convert(actionsCase).getActionChoice(); - Assert.assertEquals(Long.valueOf(1L), actionSetNsp.getNxActionSetNsp().getNsp()); - } - - @Test - public void testConvert1() throws Exception { - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult - = setNspConvertor.convert(action, ActionPath.NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult1 - = setNspConvertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult2 - = setNspConvertor.convert(action, ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION); - final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action actionResult3 - = setNspConvertor.convert(action, ActionPath.GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION); - - Assert.assertEquals(Long.valueOf(3L), ((NxActionSetNspNodesNodeTableFlowWriteActionsCase) actionResult).getNxSetNsp().getNsp()); - Assert.assertEquals(Long.valueOf(3L), ((NxActionSetNspNotifFlowsStatisticsUpdateWriteActionsCase) actionResult1).getNxSetNsp().getNsp()); - Assert.assertEquals(Long.valueOf(3L), ((NxActionSetNspNotifFlowsStatisticsUpdateApplyActionsCase) actionResult2).getNxSetNsp().getNsp()); - Assert.assertEquals(Long.valueOf(3L), ((NxActionSetNspNotifGroupDescStatsUpdatedCase) actionResult3).getNxSetNsp().getNsp()); - } - -} \ No newline at end of file -- 2.36.6