Search in sources :

Example 36 with EtherType

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType in project openflowplugin by opendaylight.

the class MultipartReplyMessageFactoryTest method testFlowBody.

private static void testFlowBody(MultipartReplyBody body, ByteBuf output) {
    MultipartReplyFlowCase flowCase = (MultipartReplyFlowCase) body;
    MultipartReplyFlow flow = flowCase.getMultipartReplyFlow();
    FlowStats flowStats = flow.getFlowStats().get(0);
    Assert.assertEquals("Wrong length", 176, output.readShort());
    Assert.assertEquals("Wrong Table ID", flowStats.getTableId().intValue(), output.readUnsignedByte());
    output.skipBytes(1);
    Assert.assertEquals("Wrong duration sec", flowStats.getDurationSec().intValue(), output.readInt());
    Assert.assertEquals("Wrong duration nsec", flowStats.getDurationNsec().intValue(), output.readInt());
    Assert.assertEquals("Wrong priority", flowStats.getPriority().intValue(), output.readShort());
    Assert.assertEquals("Wrong idle timeout", flowStats.getIdleTimeout().intValue(), output.readShort());
    Assert.assertEquals("Wrong hard timeout", flowStats.getHardTimeout().intValue(), output.readShort());
    output.skipBytes(6);
    Assert.assertEquals("Wrong cookie", flowStats.getCookie().longValue(), output.readLong());
    Assert.assertEquals("Wrong Packet count", flowStats.getPacketCount().longValue(), output.readLong());
    Assert.assertEquals("Wrong Byte count", flowStats.getByteCount().longValue(), output.readLong());
    Assert.assertEquals("Wrong match type", 1, output.readUnsignedShort());
    output.skipBytes(EncodeConstants.SIZE_OF_SHORT_IN_BYTES);
    Assert.assertEquals("Wrong oxm class", 0x8000, output.readUnsignedShort());
    short fieldAndMask = output.readUnsignedByte();
    Assert.assertEquals("Wrong oxm hasMask", 0, fieldAndMask & 1);
    Assert.assertEquals("Wrong oxm field", 1, fieldAndMask >> 1);
    output.skipBytes(EncodeConstants.SIZE_OF_BYTE_IN_BYTES);
    Assert.assertEquals("Wrong oxm value", 42, output.readUnsignedInt());
    Assert.assertEquals("Wrong oxm class", 0x8000, output.readUnsignedShort());
    fieldAndMask = output.readUnsignedByte();
    Assert.assertEquals("Wrong oxm hasMask", 0, fieldAndMask & 1);
    Assert.assertEquals("Wrong oxm field", 9, fieldAndMask >> 1);
    output.skipBytes(EncodeConstants.SIZE_OF_BYTE_IN_BYTES);
    Assert.assertEquals("Wrong oxm value", 4, output.readUnsignedByte());
    output.skipBytes(7);
    Assert.assertEquals("Wrong instruction type", 1, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction length", 8, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction table-id", 5, output.readUnsignedByte());
    output.skipBytes(3);
    Assert.assertEquals("Wrong instruction type", 2, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction length", 24, output.readUnsignedShort());
    output.skipBytes(4);
    byte[] actual = new byte[8];
    output.readBytes(actual);
    Assert.assertEquals("Wrong instruction metadata", "00 01 02 03 04 05 06 07", ByteBufUtils.bytesToHexString(actual));
    actual = new byte[8];
    output.readBytes(actual);
    Assert.assertEquals("Wrong instruction metadata-mask", "07 06 05 04 03 02 01 00", ByteBufUtils.bytesToHexString(actual));
    Assert.assertEquals("Wrong instruction type", 5, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction length", 8, output.readUnsignedShort());
    output.skipBytes(4);
    Assert.assertEquals("Wrong instruction type", 6, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction length", 8, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction meter-id", 42, output.readUnsignedInt());
    Assert.assertEquals("Wrong instruction type", 3, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction length", 32, output.readUnsignedShort());
    output.skipBytes(4);
    Assert.assertEquals("Wrong action type", 0, output.readUnsignedShort());
    Assert.assertEquals("Wrong action length", 16, output.readUnsignedShort());
    Assert.assertEquals("Wrong action type", 45, output.readUnsignedInt());
    Assert.assertEquals("Wrong action type", 55, output.readUnsignedShort());
    output.skipBytes(6);
    Assert.assertEquals("Wrong action type", 23, output.readUnsignedShort());
    Assert.assertEquals("Wrong action length", 8, output.readUnsignedShort());
    Assert.assertEquals("Wrong action type", 64, output.readUnsignedByte());
    output.skipBytes(3);
    Assert.assertEquals("Wrong instruction type", 4, output.readUnsignedShort());
    Assert.assertEquals("Wrong instruction length", 24, output.readUnsignedShort());
    output.skipBytes(4);
    Assert.assertEquals("Wrong action type", 17, output.readUnsignedShort());
    Assert.assertEquals("Wrong action length", 8, output.readUnsignedShort());
    Assert.assertEquals("Wrong action ethertype", 14, output.readUnsignedShort());
    output.skipBytes(2);
    Assert.assertEquals("Wrong action type", 27, output.readUnsignedShort());
    Assert.assertEquals("Wrong action length", 8, output.readUnsignedShort());
    output.skipBytes(4);
    Assert.assertTrue("Not all data were read", output.readableBytes() == 0);
}
Also used : FlowStats(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.multipart.reply.flow.FlowStats) MultipartReplyFlow(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.MultipartReplyFlow) MultipartReplyFlowCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowCase)

Example 37 with EtherType

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType in project openflowplugin by opendaylight.

the class FlowCreatorUtilTest method createMatch.

/**
 * Create a flow match that specifies ethernet type.
 *
 * @param etherType An ethernet type value.
 * @return A flow match that specifies the given ethernet type.
 */
private static org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match createMatch(final long etherType) {
    final EthernetTypeBuilder ethType = new EthernetTypeBuilder().setType(new EtherType(etherType));
    final EthernetMatchBuilder ether = new EthernetMatchBuilder().setEthernetType(ethType.build());
    return new MatchBuilder().setEthernetMatch(ether.build()).build();
}
Also used : EthernetTypeBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder) EtherType(org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType) MatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder) EthernetMatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder) EthernetMatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder)

Example 38 with EtherType

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType in project openflowplugin by opendaylight.

the class OFPluginFlowTest method createMatch1.

private static MatchBuilder createMatch1() {
    MatchBuilder match = new MatchBuilder();
    Ipv4MatchBuilder ipv4Match = new Ipv4MatchBuilder();
    Ipv4Prefix prefix = new Ipv4Prefix("10.0.0.1/24");
    ipv4Match.setIpv4Destination(prefix);
    Ipv4Match i4m = ipv4Match.build();
    match.setLayer3Match(i4m);
    EthernetMatchBuilder eth = new EthernetMatchBuilder();
    EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder();
    ethTypeBuilder.setType(new EtherType(0x0800L));
    eth.setEthernetType(ethTypeBuilder.build());
    match.setEthernetMatch(eth.build());
    return match;
}
Also used : Ipv4MatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder) EthernetTypeBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder) EtherType(org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType) EthernetMatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder) Ipv4MatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder) MatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder) Ipv4Prefix(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix) Ipv4Match(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4Match) EthernetMatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder)

Example 39 with EtherType

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType in project openflowplugin by opendaylight.

the class ActionConvertorTest method outputActions.

// TODO - check if this method is needed (private and never used locally) - see line 94
private static void outputActions(final List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action> ofActionsList) {
    for (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action action : ofActionsList) {
        if (action.getActionChoice() instanceof OutputActionCase) {
            OutputActionCase outputActionCase = (OutputActionCase) action.getActionChoice();
            Assert.assertEquals((Integer) 10, outputActionCase.getOutputAction().getMaxLength());
            long port = 4294967293L;
            Assert.assertEquals(port, (long) outputActionCase.getOutputAction().getPort().getValue());
        }
        if (action.getActionChoice() instanceof CopyTtlInCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), CopyTtlInCase.class.getName());
        }
        if (action.getActionChoice() instanceof CopyTtlOutCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), CopyTtlOutCase.class.getName());
        }
        if (action.getActionChoice() instanceof SetMplsTtlCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), SetMplsTtlCase.class.getName());
        }
        if (action.getActionChoice() instanceof DecMplsTtlCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), DecMplsTtlCase.class.getName());
        }
        if (action.getActionChoice() instanceof PushMplsCase) {
            PushMplsCase pushMplsCase = (PushMplsCase) action.getActionChoice();
            EtherType etherType = pushMplsCase.getPushMplsAction().getEthertype();
            if (etherType != null) {
                Assert.assertEquals((Integer) 10, etherType.getValue());
            }
        }
        if (action.getActionChoice() instanceof PopMplsCase) {
            PopMplsCase popMplsCase = (PopMplsCase) action.getActionChoice();
            Assert.assertEquals((Integer) 10, popMplsCase.getPopMplsAction().getEthertype().getValue());
        }
        if (action.getActionChoice() instanceof SetQueueCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), SetQueueCase.class.getName());
        }
        if (action.getActionChoice() instanceof GroupCase) {
            GroupCase groupCase = (GroupCase) action.getActionChoice();
            Assert.assertEquals(98, (long) groupCase.getGroupAction().getGroupId());
        }
        if (action.getActionChoice() instanceof PushVlanCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), PushVlanCase.class.getName());
        }
        if (action.getActionChoice() instanceof PopVlanCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), PopVlanCase.class.getName());
        }
        if (action.getActionChoice() instanceof SetNwTtlCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), SetNwTtlCase.class.getName());
        }
        if (action.getActionChoice() instanceof DecNwTtlCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), DecNwTtlCase.class.getName());
        }
        if (action.getActionChoice() instanceof PushPbbCase) {
            PushPbbCase pushPbbCase = (PushPbbCase) action.getActionChoice();
            if (pushPbbCase.getPushPbbAction().getEthertype() != null) {
                Assert.assertEquals((Integer) 10, pushPbbCase.getPushPbbAction().getEthertype().getValue());
            }
        }
        if (action.getActionChoice() instanceof PopMplsCase) {
            Assert.assertEquals(action.getActionChoice().getImplementedInterface().getName(), PopMplsCase.class.getName());
        }
        if (action.getActionChoice() instanceof SetFieldCase) {
            SetFieldCase setFieldCase = (SetFieldCase) action.getActionChoice();
            Assert.assertNotNull(setFieldCase.getSetFieldAction());
        /*
                Assert.assertEquals(OpenflowBasicClass.class, sf.getMatchEntry().get(0).getOxmClass());

                if (sf.getMatchEntry().get(0).getOxmMatchField().equals(InPort.class)) {
                    InPortCase inPortCase = ((InPortCase) sf.getMatchEntry().get(0).getMatchEntryValue());
                    Assert.assertEquals(2125, inPortCase.getInPort().getPortNumber().getValue().intValue());

                }
*/
        }
    }
}
Also used : PushVlanCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PushVlanCase) SetFieldCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) SetMplsTtlCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetMplsTtlCase) EtherType(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType) PushPbbCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PushPbbCase) DecNwTtlCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.DecNwTtlCase) PushMplsCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PushMplsCase) OutputActionCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.OutputActionCase) CopyTtlInCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.CopyTtlInCase) SetQueueCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetQueueCase) GroupCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.GroupCase) CopyTtlOutCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.CopyTtlOutCase) DecMplsTtlCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.DecMplsTtlCase) PopVlanCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopVlanCase) SetNwTtlCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetNwTtlCase) PopMplsCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopMplsCase)

Example 40 with EtherType

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType in project netvirt by opendaylight.

the class AclMatchesTest method buildIpv4UdpMatchTest.

@Test
public void buildIpv4UdpMatchTest() {
    AceIpBuilder aceIpBuilder = new AceIpBuilder();
    aceIpBuilder.setAceIpVersion(new AceIpv4Builder().build());
    aceIpBuilder.setProtocol(IPProtocols.UDP.shortValue());
    SourcePortRangeBuilder srcPortRange = new SourcePortRangeBuilder();
    srcPortRange.setLowerPort(new PortNumber(UDP_SRC_LOWER_PORT));
    srcPortRange.setUpperPort(new PortNumber(UDP_SRC_UPPER_PORT));
    aceIpBuilder.setSourcePortRange(srcPortRange.build());
    DestinationPortRangeBuilder dstPortRange = new DestinationPortRangeBuilder();
    dstPortRange.setLowerPort(new PortNumber(UDP_DST_LOWER_PORT));
    dstPortRange.setUpperPort(new PortNumber(UDP_DST_UPPER_PORT));
    aceIpBuilder.setDestinationPortRange(dstPortRange.build());
    MatchesBuilder matchesBuilder = new MatchesBuilder();
    matchesBuilder.setAceType(aceIpBuilder.build());
    // Create the aclMatches that is the object to be tested
    AclMatches aclMatches = new AclMatches(matchesBuilder.build());
    MatchBuilder matchBuilder = aclMatches.buildMatch();
    // There should be an IPv4 etherType set
    EthernetMatch ethMatch = matchBuilder.getEthernetMatch();
    assertNotNull(ethMatch);
    assertEquals(ethMatch.getEthernetType().getType().getValue(), Long.valueOf(NwConstants.ETHTYPE_IPV4));
    // Make sure its UDP
    IpMatch ipMatch = matchBuilder.getIpMatch();
    assertNotNull(ipMatch);
    assertEquals(ipMatch.getIpProtocol(), Short.valueOf(IPProtocols.UDP.shortValue()));
    // Currently ranges arent supported, only the lower port is used
    UdpMatch udpMatch = (UdpMatch) matchBuilder.getLayer4Match();
    assertEquals(udpMatch.getUdpSourcePort().getValue(), Integer.valueOf(UDP_SRC_LOWER_PORT));
    assertEquals(udpMatch.getUdpDestinationPort().getValue(), Integer.valueOf(UDP_DST_LOWER_PORT));
    // The layer3 match should be null
    assertNull(matchBuilder.getLayer3Match());
}
Also used : EthernetMatch(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatch) DestinationPortRangeBuilder(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.packet.fields.rev160218.acl.transport.header.fields.DestinationPortRangeBuilder) AceIpBuilder(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.matches.ace.type.AceIpBuilder) UdpMatch(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.UdpMatch) AceIpv4Builder(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.matches.ace.type.ace.ip.ace.ip.version.AceIpv4Builder) PortNumber(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber) MatchesBuilder(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.MatchesBuilder) SourcePortRangeBuilder(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.packet.fields.rev160218.acl.transport.header.fields.SourcePortRangeBuilder) MatchBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder) IpMatch(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatch) Test(org.junit.Test)

Aggregations

MatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder)45 EtherType (org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType)41 EthernetTypeBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder)41 EthernetMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder)41 Ipv4MatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder)34 IpMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatchBuilder)27 Icmpv6MatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Icmpv6MatchBuilder)25 Ipv6MatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6MatchBuilder)25 EtherType (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType)23 Icmpv4MatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.Icmpv4MatchBuilder)20 VlanMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.VlanMatchBuilder)20 TcpMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.TcpMatchBuilder)20 UdpMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.UdpMatchBuilder)20 ArpMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.ArpMatchBuilder)18 TunnelIpv4MatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.TunnelIpv4MatchBuilder)18 SctpMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.SctpMatchBuilder)18 TcpFlagsMatchBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.TcpFlagsMatchBuilder)17 ArrayList (java.util.ArrayList)15 Ipv4Prefix (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix)15 Test (org.junit.Test)14