Search in sources :

Example 6 with TcpPortCriterion

use of org.onosproject.net.flow.criteria.TcpPortCriterion in project fabric-tna by stratum.

the class FabricIntProgrammable method buildCollectorSelector.

private TrafficSelector buildCollectorSelector(Set<Criterion> criteria) {
    TrafficSelector.Builder builder = DefaultTrafficSelector.builder();
    // We always match packets with valid IPv4 header
    PiCriterion.Builder piBuilder = PiCriterion.builder().matchExact(P4InfoConstants.HDR_IPV4_VALID, 1);
    for (Criterion criterion : criteria) {
        switch(criterion.type()) {
            case IP_PROTO:
                builder.matchIPProtocol((byte) ((IPProtocolCriterion) criterion).protocol());
                break;
            case IPV4_SRC:
                builder.matchIPSrc(((IPCriterion) criterion).ip());
                break;
            case IPV4_DST:
                builder.matchIPDst(((IPCriterion) criterion).ip());
                break;
            case TCP_SRC:
                // TODO: Match a range of TCP port
                piBuilder.matchRange(P4InfoConstants.HDR_L4_SPORT, ((TcpPortCriterion) criterion).tcpPort().toInt(), ((TcpPortCriterion) criterion).tcpPort().toInt());
                break;
            case UDP_SRC:
                // TODO: Match a range of UDP port
                piBuilder.matchRange(P4InfoConstants.HDR_L4_SPORT, ((UdpPortCriterion) criterion).udpPort().toInt(), ((UdpPortCriterion) criterion).udpPort().toInt());
                break;
            case TCP_DST:
                // TODO: Match a range of TCP port
                piBuilder.matchRange(P4InfoConstants.HDR_L4_DPORT, ((TcpPortCriterion) criterion).tcpPort().toInt(), ((TcpPortCriterion) criterion).tcpPort().toInt());
                break;
            case UDP_DST:
                // TODO: Match a range of UDP port
                piBuilder.matchRange(P4InfoConstants.HDR_L4_DPORT, ((UdpPortCriterion) criterion).udpPort().toInt(), ((UdpPortCriterion) criterion).udpPort().toInt());
                break;
            default:
                log.warn("Unsupported criterion type: {}", criterion.type());
        }
    }
    return builder.matchPi(piBuilder.build()).build();
}
Also used : PiCriterion(org.onosproject.net.flow.criteria.PiCriterion) IPProtocolCriterion(org.onosproject.net.flow.criteria.IPProtocolCriterion) PiCriterion(org.onosproject.net.flow.criteria.PiCriterion) IPCriterion(org.onosproject.net.flow.criteria.IPCriterion) TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) Criterion(org.onosproject.net.flow.criteria.Criterion) UdpPortCriterion(org.onosproject.net.flow.criteria.UdpPortCriterion) TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) IPProtocolCriterion(org.onosproject.net.flow.criteria.IPProtocolCriterion) UdpPortCriterion(org.onosproject.net.flow.criteria.UdpPortCriterion) TrafficSelector(org.onosproject.net.flow.TrafficSelector) DefaultTrafficSelector(org.onosproject.net.flow.DefaultTrafficSelector)

Example 7 with TcpPortCriterion

use of org.onosproject.net.flow.criteria.TcpPortCriterion in project onos by opennetworkinglab.

the class FabricIntProgrammable method buildWatchlistEntry.

private FlowRule buildWatchlistEntry(IntObjective obj) {
    int instructionBitmap = buildInstructionBitmap(obj.metadataTypes());
    PiActionParam maxHopParam = new PiActionParam(FabricConstants.MAX_HOP, copyFrom(MAXHOP));
    PiActionParam instCntParam = new PiActionParam(FabricConstants.INS_CNT, copyFrom(Integer.bitCount(instructionBitmap)));
    PiActionParam inst0003Param = new PiActionParam(FabricConstants.INS_MASK0003, copyFrom((instructionBitmap >> 12) & 0xF));
    PiActionParam inst0407Param = new PiActionParam(FabricConstants.INS_MASK0407, copyFrom((instructionBitmap >> 8) & 0xF));
    PiAction intSourceAction = PiAction.builder().withId(FabricConstants.FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_INT_SOURCE_DSCP).withParameter(maxHopParam).withParameter(instCntParam).withParameter(inst0003Param).withParameter(inst0407Param).build();
    TrafficTreatment instTreatment = DefaultTrafficTreatment.builder().piTableAction(intSourceAction).build();
    TrafficSelector.Builder sBuilder = DefaultTrafficSelector.builder();
    for (Criterion criterion : obj.selector().criteria()) {
        switch(criterion.type()) {
            case IPV4_SRC:
                sBuilder.matchIPSrc(((IPCriterion) criterion).ip());
                break;
            case IPV4_DST:
                sBuilder.matchIPDst(((IPCriterion) criterion).ip());
                break;
            case TCP_SRC:
                sBuilder.matchPi(PiCriterion.builder().matchTernary(FabricConstants.HDR_L4_SPORT, ((TcpPortCriterion) criterion).tcpPort().toInt(), PORTMASK).build());
                break;
            case UDP_SRC:
                sBuilder.matchPi(PiCriterion.builder().matchTernary(FabricConstants.HDR_L4_SPORT, ((UdpPortCriterion) criterion).udpPort().toInt(), PORTMASK).build());
                break;
            case TCP_DST:
                sBuilder.matchPi(PiCriterion.builder().matchTernary(FabricConstants.HDR_L4_DPORT, ((TcpPortCriterion) criterion).tcpPort().toInt(), PORTMASK).build());
                break;
            case UDP_DST:
                sBuilder.matchPi(PiCriterion.builder().matchTernary(FabricConstants.HDR_L4_DPORT, ((UdpPortCriterion) criterion).udpPort().toInt(), PORTMASK).build());
                break;
            default:
                log.warn("Unsupported criterion type: {}", criterion.type());
        }
    }
    return DefaultFlowRule.builder().forDevice(deviceId).withSelector(sBuilder.build()).withTreatment(instTreatment).withPriority(DEFAULT_PRIORITY).forTable(FabricConstants.FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_TB_INT_SOURCE).fromApp(appId).makePermanent().build();
}
Also used : PiCriterion(org.onosproject.net.flow.criteria.PiCriterion) TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) IPCriterion(org.onosproject.net.flow.criteria.IPCriterion) Criterion(org.onosproject.net.flow.criteria.Criterion) UdpPortCriterion(org.onosproject.net.flow.criteria.UdpPortCriterion) TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) UdpPortCriterion(org.onosproject.net.flow.criteria.UdpPortCriterion) TrafficSelector(org.onosproject.net.flow.TrafficSelector) DefaultTrafficSelector(org.onosproject.net.flow.DefaultTrafficSelector) PiActionParam(org.onosproject.net.pi.runtime.PiActionParam) DefaultTrafficTreatment(org.onosproject.net.flow.DefaultTrafficTreatment) TrafficTreatment(org.onosproject.net.flow.TrafficTreatment) PiAction(org.onosproject.net.pi.runtime.PiAction)

Example 8 with TcpPortCriterion

use of org.onosproject.net.flow.criteria.TcpPortCriterion in project onos by opennetworkinglab.

the class PiCriterionTranslatorsTest method testTcpPortCriterion.

@Test
public void testTcpPortCriterion() throws Exception {
    TpPort value1 = TpPort.tpPort(random.nextInt(1 << 16));
    TpPort value2 = TpPort.tpPort(random.nextInt(1 << 16));
    TpPort mask = TpPort.tpPort(random.nextInt(1 << 16));
    int bitWidth = 16;
    TcpPortCriterion criterion = (TcpPortCriterion) Criteria.matchTcpDst(value1);
    PiExactFieldMatch exactMatch = (PiExactFieldMatch) translateCriterion(criterion, fieldId, EXACT, bitWidth);
    TcpPortCriterion maskedCriterion = (TcpPortCriterion) Criteria.matchTcpDstMasked(value2, mask);
    PiTernaryFieldMatch ternaryMatch = (PiTernaryFieldMatch) translateCriterion(maskedCriterion, fieldId, TERNARY, bitWidth);
    assertThat(exactMatch.value().asReadOnlyBuffer().getShort(), is((short) criterion.tcpPort().toInt()));
    assertThat(ternaryMatch.value().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.tcpPort().toInt()));
    assertThat(ternaryMatch.mask().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.mask().toInt()));
}
Also used : TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) TpPort(org.onlab.packet.TpPort) PiExactFieldMatch(org.onosproject.net.pi.runtime.PiExactFieldMatch) PiTernaryFieldMatch(org.onosproject.net.pi.runtime.PiTernaryFieldMatch) Test(org.junit.Test)

Example 9 with TcpPortCriterion

use of org.onosproject.net.flow.criteria.TcpPortCriterion in project onos by opennetworkinglab.

the class FlowRuleCodecTest method codecCriteriaFlowTest.

/**
 * Checks that a rule with one of each kind of criterion decodes properly.
 *
 * @throws IOException if the resource cannot be processed
 */
@Test
public void codecCriteriaFlowTest() throws Exception {
    FlowRule rule = getRule("criteria-flow.json");
    checkCommonData(rule);
    assertThat(rule.selector().criteria().size(), is(35));
    rule.selector().criteria().forEach(criterion -> criteria.put(criterion.type().name(), criterion));
    Criterion criterion;
    criterion = getCriterion(Criterion.Type.ETH_TYPE);
    assertThat(((EthTypeCriterion) criterion).ethType(), is(new EthType(2054)));
    criterion = getCriterion(Criterion.Type.ETH_DST);
    assertThat(((EthCriterion) criterion).mac(), is(MacAddress.valueOf("00:11:22:33:44:55")));
    criterion = getCriterion(Criterion.Type.ETH_SRC);
    assertThat(((EthCriterion) criterion).mac(), is(MacAddress.valueOf("00:11:22:33:44:55")));
    criterion = getCriterion(Criterion.Type.IN_PORT);
    assertThat(((PortCriterion) criterion).port(), is(PortNumber.portNumber(23)));
    criterion = getCriterion(Criterion.Type.IN_PHY_PORT);
    assertThat(((PortCriterion) criterion).port(), is(PortNumber.portNumber(44)));
    criterion = getCriterion(Criterion.Type.VLAN_VID);
    assertThat(((VlanIdCriterion) criterion).vlanId(), is(VlanId.vlanId((short) 777)));
    criterion = getCriterion(Criterion.Type.VLAN_PCP);
    assertThat(((VlanPcpCriterion) criterion).priority(), is(((byte) 3)));
    criterion = getCriterion(Criterion.Type.IP_DSCP);
    assertThat(((IPDscpCriterion) criterion).ipDscp(), is(((byte) 2)));
    criterion = getCriterion(Criterion.Type.IP_ECN);
    assertThat(((IPEcnCriterion) criterion).ipEcn(), is(((byte) 1)));
    criterion = getCriterion(Criterion.Type.IP_PROTO);
    assertThat(((IPProtocolCriterion) criterion).protocol(), is(((short) 4)));
    criterion = getCriterion(Criterion.Type.IPV4_SRC);
    assertThat(((IPCriterion) criterion).ip(), is((IpPrefix.valueOf("1.2.0.0/32"))));
    criterion = getCriterion(Criterion.Type.IPV4_DST);
    assertThat(((IPCriterion) criterion).ip(), is((IpPrefix.valueOf("2.2.0.0/32"))));
    criterion = getCriterion(Criterion.Type.IPV6_SRC);
    assertThat(((IPCriterion) criterion).ip(), is((IpPrefix.valueOf("3.2.0.0/32"))));
    criterion = getCriterion(Criterion.Type.IPV6_DST);
    assertThat(((IPCriterion) criterion).ip(), is((IpPrefix.valueOf("4.2.0.0/32"))));
    criterion = getCriterion(Criterion.Type.TCP_SRC);
    assertThat(((TcpPortCriterion) criterion).tcpPort().toInt(), is(80));
    criterion = getCriterion(Criterion.Type.TCP_DST);
    assertThat(((TcpPortCriterion) criterion).tcpPort().toInt(), is(443));
    criterion = getCriterion(Criterion.Type.UDP_SRC);
    assertThat(((UdpPortCriterion) criterion).udpPort().toInt(), is(180));
    criterion = getCriterion(Criterion.Type.UDP_DST);
    assertThat(((UdpPortCriterion) criterion).udpPort().toInt(), is(1443));
    criterion = getCriterion(Criterion.Type.SCTP_SRC);
    assertThat(((SctpPortCriterion) criterion).sctpPort().toInt(), is(280));
    criterion = getCriterion(Criterion.Type.SCTP_DST);
    assertThat(((SctpPortCriterion) criterion).sctpPort().toInt(), is(2443));
    criterion = getCriterion(Criterion.Type.ICMPV4_TYPE);
    assertThat(((IcmpTypeCriterion) criterion).icmpType(), is((short) 24));
    criterion = getCriterion(Criterion.Type.ICMPV4_CODE);
    assertThat(((IcmpCodeCriterion) criterion).icmpCode(), is((short) 16));
    criterion = getCriterion(Criterion.Type.ICMPV6_TYPE);
    assertThat(((Icmpv6TypeCriterion) criterion).icmpv6Type(), is((short) 14));
    criterion = getCriterion(Criterion.Type.ICMPV6_CODE);
    assertThat(((Icmpv6CodeCriterion) criterion).icmpv6Code(), is((short) 6));
    criterion = getCriterion(Criterion.Type.IPV6_FLABEL);
    assertThat(((IPv6FlowLabelCriterion) criterion).flowLabel(), is(8));
    criterion = getCriterion(Criterion.Type.IPV6_ND_TARGET);
    assertThat(((IPv6NDTargetAddressCriterion) criterion).targetAddress().toString(), is("1111:2222:3333:4444:5555:6666:7777:8888"));
    criterion = getCriterion(Criterion.Type.IPV6_ND_SLL);
    assertThat(((IPv6NDLinkLayerAddressCriterion) criterion).mac(), is(MacAddress.valueOf("00:11:22:33:44:56")));
    criterion = getCriterion(Criterion.Type.IPV6_ND_TLL);
    assertThat(((IPv6NDLinkLayerAddressCriterion) criterion).mac(), is(MacAddress.valueOf("00:11:22:33:44:57")));
    criterion = getCriterion(Criterion.Type.MPLS_LABEL);
    assertThat(((MplsCriterion) criterion).label(), is(MplsLabel.mplsLabel(123)));
    criterion = getCriterion(Criterion.Type.IPV6_EXTHDR);
    assertThat(((IPv6ExthdrFlagsCriterion) criterion).exthdrFlags(), is(99));
    criterion = getCriterion(Criterion.Type.TUNNEL_ID);
    assertThat(((TunnelIdCriterion) criterion).tunnelId(), is(100L));
    criterion = getCriterion(Criterion.Type.OCH_SIGTYPE);
    assertThat(((OchSignalTypeCriterion) criterion).signalType(), is(OchSignalType.FIXED_GRID));
    criterion = getCriterion(Criterion.Type.ODU_SIGTYPE);
    assertThat(((OduSignalTypeCriterion) criterion).signalType(), is(OduSignalType.ODU4));
    criterion = getCriterion(Criterion.Type.ODU_SIGID);
    assertThat(((OduSignalIdCriterion) criterion).oduSignalId().tributaryPortNumber(), is(1));
    assertThat(((OduSignalIdCriterion) criterion).oduSignalId().tributarySlotLength(), is(80));
    assertThat(((OduSignalIdCriterion) criterion).oduSignalId().tributarySlotBitmap(), is(new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }));
}
Also used : EthType(org.onlab.packet.EthType) IPDscpCriterion(org.onosproject.net.flow.criteria.IPDscpCriterion) VlanPcpCriterion(org.onosproject.net.flow.criteria.VlanPcpCriterion) IPProtocolCriterion(org.onosproject.net.flow.criteria.IPProtocolCriterion) PortCriterion(org.onosproject.net.flow.criteria.PortCriterion) IcmpTypeCriterion(org.onosproject.net.flow.criteria.IcmpTypeCriterion) OchSignalCriterion(org.onosproject.net.flow.criteria.OchSignalCriterion) IPCriterion(org.onosproject.net.flow.criteria.IPCriterion) IcmpCodeCriterion(org.onosproject.net.flow.criteria.IcmpCodeCriterion) IPv6NDTargetAddressCriterion(org.onosproject.net.flow.criteria.IPv6NDTargetAddressCriterion) Icmpv6TypeCriterion(org.onosproject.net.flow.criteria.Icmpv6TypeCriterion) SctpPortCriterion(org.onosproject.net.flow.criteria.SctpPortCriterion) TunnelIdCriterion(org.onosproject.net.flow.criteria.TunnelIdCriterion) MplsCriterion(org.onosproject.net.flow.criteria.MplsCriterion) IPv6NDLinkLayerAddressCriterion(org.onosproject.net.flow.criteria.IPv6NDLinkLayerAddressCriterion) EthCriterion(org.onosproject.net.flow.criteria.EthCriterion) IPEcnCriterion(org.onosproject.net.flow.criteria.IPEcnCriterion) OduSignalTypeCriterion(org.onosproject.net.flow.criteria.OduSignalTypeCriterion) TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) Criterion(org.onosproject.net.flow.criteria.Criterion) EthTypeCriterion(org.onosproject.net.flow.criteria.EthTypeCriterion) OduSignalIdCriterion(org.onosproject.net.flow.criteria.OduSignalIdCriterion) UdpPortCriterion(org.onosproject.net.flow.criteria.UdpPortCriterion) Icmpv6CodeCriterion(org.onosproject.net.flow.criteria.Icmpv6CodeCriterion) OchSignalTypeCriterion(org.onosproject.net.flow.criteria.OchSignalTypeCriterion) IPv6FlowLabelCriterion(org.onosproject.net.flow.criteria.IPv6FlowLabelCriterion) IPv6ExthdrFlagsCriterion(org.onosproject.net.flow.criteria.IPv6ExthdrFlagsCriterion) VlanIdCriterion(org.onosproject.net.flow.criteria.VlanIdCriterion) TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) IPv6NDTargetAddressCriterion(org.onosproject.net.flow.criteria.IPv6NDTargetAddressCriterion) UdpPortCriterion(org.onosproject.net.flow.criteria.UdpPortCriterion) OduSignalIdCriterion(org.onosproject.net.flow.criteria.OduSignalIdCriterion) DefaultFlowRule(org.onosproject.net.flow.DefaultFlowRule) FlowRule(org.onosproject.net.flow.FlowRule) SctpPortCriterion(org.onosproject.net.flow.criteria.SctpPortCriterion) Test(org.junit.Test)

Example 10 with TcpPortCriterion

use of org.onosproject.net.flow.criteria.TcpPortCriterion in project onos by opennetworkinglab.

the class StatsFlowRuleManager method getOverlayFlowInfos.

@Override
public Set<FlowInfo> getOverlayFlowInfos() {
    Set<FlowInfo> flowInfos = Sets.newConcurrentHashSet();
    // obtain all flow rule entries installed by telemetry app
    for (FlowEntry entry : flowRuleService.getFlowEntriesById(telemetryAppId)) {
        FlowInfo.Builder fBuilder = new DefaultFlowInfo.DefaultBuilder();
        TrafficSelector selector = entry.selector();
        IPCriterion srcIp = (IPCriterion) selector.getCriterion(IPV4_SRC);
        IPCriterion dstIp = (IPCriterion) selector.getCriterion(IPV4_DST);
        IPProtocolCriterion ipProtocol = (IPProtocolCriterion) selector.getCriterion(IP_PROTO);
        fBuilder.withFlowType(FLOW_TYPE_SONA).withSrcIp(srcIp.ip()).withDstIp(dstIp.ip());
        if (ipProtocol != null) {
            fBuilder.withProtocol((byte) ipProtocol.protocol());
            if (ipProtocol.protocol() == PROTOCOL_TCP) {
                TcpPortCriterion tcpSrc = (TcpPortCriterion) selector.getCriterion(TCP_SRC);
                TcpPortCriterion tcpDst = (TcpPortCriterion) selector.getCriterion(TCP_DST);
                fBuilder.withSrcPort(tcpSrc.tcpPort());
                fBuilder.withDstPort(tcpDst.tcpPort());
            } else if (ipProtocol.protocol() == PROTOCOL_UDP) {
                UdpPortCriterion udpSrc = (UdpPortCriterion) selector.getCriterion(UDP_SRC);
                UdpPortCriterion udpDst = (UdpPortCriterion) selector.getCriterion(UDP_DST);
                fBuilder.withSrcPort(udpSrc.udpPort());
                fBuilder.withDstPort(udpDst.udpPort());
            } else {
                log.debug("Other protocol: {}", ipProtocol.protocol());
            }
        }
        fBuilder.withSrcMac(getMacAddress(srcIp.ip().address())).withDstMac(getMacAddress(dstIp.ip().address())).withInputInterfaceId(getInterfaceId(srcIp.ip().address())).withOutputInterfaceId(getInterfaceId(dstIp.ip().address())).withVlanId(getVlanId(srcIp.ip().address())).withDeviceId(entry.deviceId());
        StatsInfo.Builder sBuilder = new DefaultStatsInfo.DefaultBuilder();
        sBuilder.withStartupTime(System.currentTimeMillis()).withFstPktArrTime(System.currentTimeMillis()).withLstPktOffset((int) (REFRESH_INTERVAL * MILLISECONDS)).withCurrAccPkts((int) entry.packets()).withCurrAccBytes(entry.bytes()).withErrorPkts((short) 0).withDropPkts((short) 0);
        fBuilder.withStatsInfo(sBuilder.build());
        FlowInfo flowInfo = mergeFlowInfo(fBuilder.build(), fBuilder, sBuilder);
        flowInfos.add(flowInfo);
        log.debug("FlowInfo: \n{}", flowInfo.toString());
    }
    return flowInfos;
}
Also used : FlowInfo(org.onosproject.openstacktelemetry.api.FlowInfo) DefaultFlowInfo(org.onosproject.openstacktelemetry.api.DefaultFlowInfo) StatsInfo(org.onosproject.openstacktelemetry.api.StatsInfo) DefaultStatsInfo(org.onosproject.openstacktelemetry.api.DefaultStatsInfo) IPCriterion(org.onosproject.net.flow.criteria.IPCriterion) TcpPortCriterion(org.onosproject.net.flow.criteria.TcpPortCriterion) IPProtocolCriterion(org.onosproject.net.flow.criteria.IPProtocolCriterion) UdpPortCriterion(org.onosproject.net.flow.criteria.UdpPortCriterion) TrafficSelector(org.onosproject.net.flow.TrafficSelector) DefaultTrafficSelector(org.onosproject.net.flow.DefaultTrafficSelector) FlowEntry(org.onosproject.net.flow.FlowEntry)

Aggregations

TcpPortCriterion (org.onosproject.net.flow.criteria.TcpPortCriterion)10 UdpPortCriterion (org.onosproject.net.flow.criteria.UdpPortCriterion)9 IPCriterion (org.onosproject.net.flow.criteria.IPCriterion)8 Criterion (org.onosproject.net.flow.criteria.Criterion)7 TrafficSelector (org.onosproject.net.flow.TrafficSelector)6 IPProtocolCriterion (org.onosproject.net.flow.criteria.IPProtocolCriterion)6 DefaultTrafficSelector (org.onosproject.net.flow.DefaultTrafficSelector)5 EthTypeCriterion (org.onosproject.net.flow.criteria.EthTypeCriterion)4 VlanIdCriterion (org.onosproject.net.flow.criteria.VlanIdCriterion)4 DefaultTrafficTreatment (org.onosproject.net.flow.DefaultTrafficTreatment)3 TrafficTreatment (org.onosproject.net.flow.TrafficTreatment)3 EthCriterion (org.onosproject.net.flow.criteria.EthCriterion)3 IPDscpCriterion (org.onosproject.net.flow.criteria.IPDscpCriterion)3 IPEcnCriterion (org.onosproject.net.flow.criteria.IPEcnCriterion)3 Icmpv6CodeCriterion (org.onosproject.net.flow.criteria.Icmpv6CodeCriterion)3 Icmpv6TypeCriterion (org.onosproject.net.flow.criteria.Icmpv6TypeCriterion)3 PiCriterion (org.onosproject.net.flow.criteria.PiCriterion)3 PortCriterion (org.onosproject.net.flow.criteria.PortCriterion)3 VlanPcpCriterion (org.onosproject.net.flow.criteria.VlanPcpCriterion)3 Test (org.junit.Test)2