+ .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+\r
+ final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
+ Assert.assertEquals("Wrong ipv4 src address", "10.1.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4SourceAddressNoMask().getValue());\r
+ Assert.assertEquals("Wrong ipv4 dst address", "10.0.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4DestinationAddressNoMask().getValue());\r
+ }\r
+\r
+ /**\r
+ * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
+ * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+ */\r
+ @Test\r
+ public void testWithMatchEntryWithSrcCidrMaskAndDstArbitraryBitMask() {\r
+ final MatchBuilder builder = new MatchBuilder();\r
+ builder.setType(OxmMatchType.class);\r
+ final List<MatchEntry> entries = new ArrayList<>();\r
+ MatchEntryBuilder entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Metadata.class);\r
+ entriesBuilder.setHasMask(true);\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Src.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4SrcCaseBuilder ipv4SrcCaseBuilder = new Ipv4SrcCaseBuilder();\r
+ final Ipv4SrcBuilder ipv4SrcBuilder = new Ipv4SrcBuilder();\r
+ ipv4SrcBuilder.setIpv4Address(new Ipv4Address("10.1.1.1"));\r
+ ipv4SrcBuilder.setMask(new byte[]{(byte) 255, (byte) 255, (byte) 255, 0});\r
+ ipv4SrcCaseBuilder.setIpv4Src(ipv4SrcBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4SrcCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Dst.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4DstCaseBuilder ipv4DstCaseBuilder = new Ipv4DstCaseBuilder();\r
+ final Ipv4DstBuilder ipv4AddressBuilder = new Ipv4DstBuilder();\r
+ ipv4AddressBuilder.setIpv4Address(new Ipv4Address("10.0.1.1"));\r
+ ipv4AddressBuilder.setMask(new byte[]{(byte) 255, 0, (byte) 240, 0});\r
+ ipv4DstCaseBuilder.setIpv4Dst(ipv4AddressBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4DstCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ builder.setMatchEntry(entries);\r
+ final Match match = builder.build();\r
+\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
+ .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+\r
+ final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
+ Assert.assertEquals("Wrong ipv4 src address", "10.1.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4SourceAddressNoMask().getValue());\r
+ Assert.assertEquals("Wrong ipv4 dst address", "10.0.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4DestinationAddressNoMask().getValue());\r
+ }\r
+\r
+ /**\r
+ * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
+ * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+ */\r
+ @Test\r
+ public void testWithMatchEntryWithSrcArbitraryBitMaskAndDstCidrMask() {\r
+ final MatchBuilder builder = new MatchBuilder();\r
+ builder.setType(OxmMatchType.class);\r
+ final List<MatchEntry> entries = new ArrayList<>();\r
+ MatchEntryBuilder entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Metadata.class);\r
+ entriesBuilder.setHasMask(true);\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Src.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4SrcCaseBuilder ipv4SrcCaseBuilder = new Ipv4SrcCaseBuilder();\r
+ final Ipv4SrcBuilder ipv4SrcBuilder = new Ipv4SrcBuilder();\r
+ ipv4SrcBuilder.setIpv4Address(new Ipv4Address("10.1.1.1"));\r
+ ipv4SrcBuilder.setMask(new byte[]{(byte) 255, (byte) 0, (byte) 255, 0});\r
+ ipv4SrcCaseBuilder.setIpv4Src(ipv4SrcBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4SrcCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Dst.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4DstCaseBuilder ipv4DstCaseBuilder = new Ipv4DstCaseBuilder();\r
+ final Ipv4DstBuilder ipv4AddressBuilder = new Ipv4DstBuilder();\r
+ ipv4AddressBuilder.setIpv4Address(new Ipv4Address("10.0.1.1"));\r
+ ipv4AddressBuilder.setMask(new byte[]{(byte) 255, (byte) 255, (byte) 240, 0});\r
+ ipv4DstCaseBuilder.setIpv4Dst(ipv4AddressBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4DstCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ builder.setMatchEntry(entries);\r
+ final Match match = builder.build();\r
+\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
+ .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+\r
+ final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
+ Assert.assertEquals("Wrong ipv4 src address", "10.1.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4SourceAddressNoMask().getValue());\r
+ Assert.assertEquals("Wrong ipv4 dst address", "10.0.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4DestinationAddressNoMask().getValue());\r
+ }\r
+\r
+\r
+ /**\r
+ * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
+ * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+ */\r
+ @Test\r
+ public void testWithMatchEntryWithDstArbitraryBitMaskAndSrcCidrMask() {\r
+ final MatchBuilder builder = new MatchBuilder();\r
+ builder.setType(OxmMatchType.class);\r
+ final List<MatchEntry> entries = new ArrayList<>();\r
+ MatchEntryBuilder entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Metadata.class);\r
+ entriesBuilder.setHasMask(true);\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Dst.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4DstCaseBuilder ipv4DstCaseBuilder = new Ipv4DstCaseBuilder();\r
+ final Ipv4DstBuilder ipv4AddressBuilder = new Ipv4DstBuilder();\r
+ ipv4AddressBuilder.setIpv4Address(new Ipv4Address("10.0.1.1"));\r
+ ipv4AddressBuilder.setMask(new byte[]{(byte) 255, 0, (byte) 240, 0});\r
+ ipv4DstCaseBuilder.setIpv4Dst(ipv4AddressBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4DstCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Src.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4SrcCaseBuilder ipv4SrcCaseBuilder = new Ipv4SrcCaseBuilder();\r
+ final Ipv4SrcBuilder ipv4SrcBuilder = new Ipv4SrcBuilder();\r
+ ipv4SrcBuilder.setIpv4Address(new Ipv4Address("10.1.1.1"));\r
+ ipv4SrcBuilder.setMask(new byte[]{(byte) 255, (byte) 255, (byte) 255, 0});\r
+ ipv4SrcCaseBuilder.setIpv4Src(ipv4SrcBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4SrcCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ builder.setMatchEntry(entries);\r
+ final Match match = builder.build();\r
+\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
+ .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+\r
+ final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
+ Assert.assertEquals("Wrong ipv4 src address", "10.1.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4SourceAddressNoMask().getValue());\r
+ Assert.assertEquals("Wrong ipv4 dst address", "10.0.1.1",\r
+ ipv4MatchArbitraryBitMask.getIpv4DestinationAddressNoMask().getValue());\r
+ }\r
+\r
+ /**\r
+ * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
+ * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
+ * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+ */\r
+ @Test\r
+ public void testWithMatchEntryWithDstCidrMaskAndSrcArbitraryBitMask() {\r
+ final MatchBuilder builder = new MatchBuilder();\r
+ builder.setType(OxmMatchType.class);\r
+ final List<MatchEntry> entries = new ArrayList<>();\r
+ MatchEntryBuilder entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Metadata.class);\r
+ entriesBuilder.setHasMask(true);\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Dst.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4DstCaseBuilder ipv4DstCaseBuilder = new Ipv4DstCaseBuilder();\r
+ final Ipv4DstBuilder ipv4AddressBuilder = new Ipv4DstBuilder();\r
+ ipv4AddressBuilder.setIpv4Address(new Ipv4Address("10.0.1.1"));\r
+ ipv4AddressBuilder.setMask(new byte[]{(byte) 255, (byte) 255, (byte) 240, 0});\r
+ ipv4DstCaseBuilder.setIpv4Dst(ipv4AddressBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4DstCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ entriesBuilder = new MatchEntryBuilder();\r
+ entriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
+ entriesBuilder.setOxmMatchField(Ipv4Src.class);\r
+ entriesBuilder.setHasMask(true);\r
+ final Ipv4SrcCaseBuilder ipv4SrcCaseBuilder = new Ipv4SrcCaseBuilder();\r
+ final Ipv4SrcBuilder ipv4SrcBuilder = new Ipv4SrcBuilder();\r
+ ipv4SrcBuilder.setIpv4Address(new Ipv4Address("10.1.1.1"));\r
+ ipv4SrcBuilder.setMask(new byte[]{(byte) 255, (byte) 0, (byte) 255, 0});\r
+ ipv4SrcCaseBuilder.setIpv4Src(ipv4SrcBuilder.build());\r
+ entriesBuilder.setMatchEntryValue(ipv4SrcCaseBuilder.build());\r
+ entries.add(entriesBuilder.build());\r
+\r
+ builder.setMatchEntry(entries);\r
+ final Match match = builder.build();\r
+\r
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
+ .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r