Class Criteria


  • public final class Criteria
    extends Object
    Factory class to create various traffic selection criteria.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Criterion dummy()
      Creates a dummy criterion.
      static ExtensionCriterion extension​(ExtensionSelector extensionSelector, DeviceId deviceId)
      Creates an extension criterion for the specified extension selector.
      static Criterion matchArpOp​(int arpOp)
      Creates a match on arp operation type field using the specified value.
      static Criterion matchArpSha​(org.onlab.packet.MacAddress mac)
      Creates a match on MAC source field using the specified value.
      static Criterion matchArpSpa​(org.onlab.packet.Ip4Address ip)
      Creates a match on IPv4 source field using the specified value.
      static Criterion matchArpTha​(org.onlab.packet.MacAddress mac)
      Creates a match on MAC destination field using the specified value.
      static Criterion matchArpTpa​(org.onlab.packet.Ip4Address ip)
      Creates a match on IPv4 destination field using the specified value.
      static Criterion matchEthDst​(org.onlab.packet.MacAddress mac)
      Creates a match on ETH_DST field using the specified value.
      static Criterion matchEthDstMasked​(org.onlab.packet.MacAddress mac, org.onlab.packet.MacAddress mask)
      Creates a masked match on ETH_DST field using the specified value and mask.
      static Criterion matchEthSrc​(org.onlab.packet.MacAddress mac)
      Creates a match on ETH_SRC field using the specified value.
      static Criterion matchEthSrcMasked​(org.onlab.packet.MacAddress mac, org.onlab.packet.MacAddress mask)
      Creates a masked match on ETH_SRC field using the specified value and mask.
      static Criterion matchEthType​(int ethType)
      Creates a match on ETH_TYPE field using the specified value.
      static Criterion matchEthType​(org.onlab.packet.EthType ethType)
      Creates a match on ETH_TYPE field using the specified value.
      static Criterion matchIcmpCode​(short icmpCode)
      Creates a match on ICMP code field using the specified value.
      static Criterion matchIcmpType​(short icmpType)
      Creates a match on ICMP type field using the specified value.
      static Criterion matchIcmpv6Code​(short icmpv6Code)
      Creates a match on ICMPv6 code field using the specified value.
      static Criterion matchIcmpv6Type​(short icmpv6Type)
      Creates a match on ICMPv6 type field using the specified value.
      static Criterion matchInnerVlanId​(org.onlab.packet.VlanId vlanId)
      Creates a match on the inner VLAN ID field using the specified value.
      static Criterion matchInnerVlanPcp​(byte vlanPcp)
      Creates a match on the inner VLAN PCP field using the specified value.
      static Criterion matchInPhyPort​(PortNumber port)
      Creates a match on IN_PHY_PORT field using the specified value.
      static Criterion matchInPort​(PortNumber port)
      Creates a match on IN_PORT field using the specified value.
      static Criterion matchIPDscp​(byte ipDscp)
      Creates a match on IP DSCP field using the specified value.
      static Criterion matchIPDst​(org.onlab.packet.IpPrefix ip)
      Creates a match on IPv4 destination field using the specified value.
      static Criterion matchIPEcn​(byte ipEcn)
      Creates a match on IP ECN field using the specified value.
      static Criterion matchIPProtocol​(short proto)
      Creates a match on IP proto field using the specified value.
      static Criterion matchIPSrc​(org.onlab.packet.IpPrefix ip)
      Creates a match on IPv4 source field using the specified value.
      static Criterion matchIPv6Dst​(org.onlab.packet.IpPrefix ip)
      Creates a match on IPv6 destination field using the specified value.
      static Criterion matchIPv6ExthdrFlags​(int exthdrFlags)
      Creates a match on IPv6 Extension Header pseudo-field fiags.
      static Criterion matchIPv6FlowLabel​(int flowLabel)
      Creates a match on IPv6 flow label field using the specified value.
      static Criterion matchIPv6NDSourceLinkLayerAddress​(org.onlab.packet.MacAddress mac)
      Creates a match on IPv6 Neighbor Discovery source link-layer address using the specified value.
      static Criterion matchIPv6NDTargetAddress​(org.onlab.packet.Ip6Address targetAddress)
      Creates a match on IPv6 Neighbor Discovery target address using the specified value.
      static Criterion matchIPv6NDTargetLinkLayerAddress​(org.onlab.packet.MacAddress mac)
      Creates a match on IPv6 Neighbor Discovery target link-layer address using the specified value.
      static Criterion matchIPv6Src​(org.onlab.packet.IpPrefix ip)
      Creates a match on IPv6 source field using the specified value.
      static Criterion matchLambda​(Lambda lambda)
      Creates a match on lambda using the specified value.
      static Criterion matchMetadata​(long metadata)
      Creates a match on METADATA field using the specified value.
      static Criterion matchMplsBos​(boolean mplsBos)
      Creates a match on MPLS Bottom-of-Stack indicator bit.
      static Criterion matchMplsLabel​(org.onlab.packet.MplsLabel mplsLabel)
      Creates a match on MPLS label.
      static Criterion matchMplsTc​(byte mplsTc)
      Creates a match on MPLS TC.
      static Criterion matchOchSignalType​(OchSignalType signalType)
      Create a match on OCh (Optical Channel) signal type.
      static Criterion matchOduSignalId​(OduSignalId oduSignalId)
      Creates a match on ODU (Optical channel Data Unit) signal ID using the specified value.
      static Criterion matchOduSignalType​(OduSignalType signalType)
      Creates a match on ODU (Optical channel Data Unit) signal Type using the specified value.
      static Criterion matchPbbIsid​(int pbbIsid)
      Creates a match on PBB I-SID field using the specific value.
      static Criterion matchSctpDst​(org.onlab.packet.TpPort sctpPort)
      Creates a match on SCTP destination port field using the specified value.
      static Criterion matchSctpDstMasked​(org.onlab.packet.TpPort sctpPort, org.onlab.packet.TpPort mask)
      Creates a masked match on SCTP destination port field using the specified value and mask.
      static Criterion matchSctpSrc​(org.onlab.packet.TpPort sctpPort)
      Creates a match on SCTP source port field using the specified value.
      static Criterion matchSctpSrcMasked​(org.onlab.packet.TpPort sctpPort, org.onlab.packet.TpPort mask)
      Creates a masked match on SCTP source port field using the specified value and mask.
      static Criterion matchTcpDst​(org.onlab.packet.TpPort tcpPort)
      Creates a match on TCP destination port field using the specified value.
      static Criterion matchTcpDstMasked​(org.onlab.packet.TpPort tcpPort, org.onlab.packet.TpPort mask)
      Creates a masked match on TCP destination port field using the specified value and mask.
      static Criterion matchTcpFlags​(int flags)
      Creates a match on TCP flags using the specified value.
      static Criterion matchTcpSrc​(org.onlab.packet.TpPort tcpPort)
      Creates a match on TCP source port field using the specified value.
      static Criterion matchTcpSrcMasked​(org.onlab.packet.TpPort tcpPort, org.onlab.packet.TpPort mask)
      Creates a masked match on TCP source port field using the specified value and mask.
      static Criterion matchTunnelId​(long tunnelId)
      Creates a match on Tunnel ID.
      static Criterion matchUdpDst​(org.onlab.packet.TpPort udpPort)
      Creates a match on UDP destination port field using the specified value.
      static Criterion matchUdpDstMasked​(org.onlab.packet.TpPort udpPort, org.onlab.packet.TpPort mask)
      Creates a masked match on UDP destination port field using the specified value and mask.
      static Criterion matchUdpSrc​(org.onlab.packet.TpPort udpPort)
      Creates a match on UDP source port field using the specified value.
      static Criterion matchUdpSrcMasked​(org.onlab.packet.TpPort udpPort, org.onlab.packet.TpPort mask)
      Creates a masked match on UDP source port field using the specified value and mask.
      static Criterion matchVlanId​(org.onlab.packet.VlanId vlanId)
      Creates a match on VLAN ID field using the specified value.
      static Criterion matchVlanPcp​(byte vlanPcp)
      Creates a match on VLAN PCP field using the specified value.
    • Method Detail

      • matchInPort

        public static Criterion matchInPort​(PortNumber port)
        Creates a match on IN_PORT field using the specified value.
        Parameters:
        port - inport value
        Returns:
        match criterion
      • matchInPhyPort

        public static Criterion matchInPhyPort​(PortNumber port)
        Creates a match on IN_PHY_PORT field using the specified value.
        Parameters:
        port - inport value
        Returns:
        match criterion
      • matchMetadata

        public static Criterion matchMetadata​(long metadata)
        Creates a match on METADATA field using the specified value.
        Parameters:
        metadata - metadata value (64 bits data)
        Returns:
        match criterion
      • matchEthDst

        public static Criterion matchEthDst​(org.onlab.packet.MacAddress mac)
        Creates a match on ETH_DST field using the specified value. This value may be a wildcard mask.
        Parameters:
        mac - MAC address value or wildcard mask
        Returns:
        match criterion
      • matchEthDstMasked

        public static Criterion matchEthDstMasked​(org.onlab.packet.MacAddress mac,
                                                  org.onlab.packet.MacAddress mask)
        Creates a masked match on ETH_DST field using the specified value and mask.
        Parameters:
        mac - MAC address value
        mask - MAC address masking
        Returns:
        match criterion
      • matchEthSrc

        public static Criterion matchEthSrc​(org.onlab.packet.MacAddress mac)
        Creates a match on ETH_SRC field using the specified value. This value may be a wildcard mask.
        Parameters:
        mac - MAC address value or wildcard mask
        Returns:
        match criterion
      • matchEthSrcMasked

        public static Criterion matchEthSrcMasked​(org.onlab.packet.MacAddress mac,
                                                  org.onlab.packet.MacAddress mask)
        Creates a masked match on ETH_SRC field using the specified value and mask.
        Parameters:
        mac - MAC address value
        mask - MAC address masking
        Returns:
        match criterion
      • matchEthType

        public static Criterion matchEthType​(int ethType)
        Creates a match on ETH_TYPE field using the specified value.
        Parameters:
        ethType - eth type value (16 bits unsigned integer)
        Returns:
        match criterion
      • matchEthType

        public static Criterion matchEthType​(org.onlab.packet.EthType ethType)
        Creates a match on ETH_TYPE field using the specified value.
        Parameters:
        ethType - eth type value
        Returns:
        match criterion
      • matchVlanId

        public static Criterion matchVlanId​(org.onlab.packet.VlanId vlanId)
        Creates a match on VLAN ID field using the specified value.
        Parameters:
        vlanId - vlan id value
        Returns:
        match criterion
      • matchInnerVlanId

        public static Criterion matchInnerVlanId​(org.onlab.packet.VlanId vlanId)
        Creates a match on the inner VLAN ID field using the specified value.
        Parameters:
        vlanId - vlan id value
        Returns:
        match criterion
      • matchVlanPcp

        public static Criterion matchVlanPcp​(byte vlanPcp)
        Creates a match on VLAN PCP field using the specified value.
        Parameters:
        vlanPcp - vlan pcp value (3 bits)
        Returns:
        match criterion
      • matchInnerVlanPcp

        public static Criterion matchInnerVlanPcp​(byte vlanPcp)
        Creates a match on the inner VLAN PCP field using the specified value.
        Parameters:
        vlanPcp - vlan pcp value (3 bits)
        Returns:
        match criterion
      • matchIPDscp

        public static Criterion matchIPDscp​(byte ipDscp)
        Creates a match on IP DSCP field using the specified value.
        Parameters:
        ipDscp - ip dscp value (6 bits)
        Returns:
        match criterion
      • matchIPEcn

        public static Criterion matchIPEcn​(byte ipEcn)
        Creates a match on IP ECN field using the specified value.
        Parameters:
        ipEcn - ip ecn value (2 bits)
        Returns:
        match criterion
      • matchIPProtocol

        public static Criterion matchIPProtocol​(short proto)
        Creates a match on IP proto field using the specified value.
        Parameters:
        proto - ip protocol value (8 bits unsigned integer)
        Returns:
        match criterion
      • matchIPSrc

        public static Criterion matchIPSrc​(org.onlab.packet.IpPrefix ip)
        Creates a match on IPv4 source field using the specified value.
        Parameters:
        ip - ipv4 source value
        Returns:
        match criterion
      • matchIPDst

        public static Criterion matchIPDst​(org.onlab.packet.IpPrefix ip)
        Creates a match on IPv4 destination field using the specified value.
        Parameters:
        ip - ipv4 source value
        Returns:
        match criterion
      • matchTcpSrc

        public static Criterion matchTcpSrc​(org.onlab.packet.TpPort tcpPort)
        Creates a match on TCP source port field using the specified value.
        Parameters:
        tcpPort - TCP source port
        Returns:
        match criterion
      • matchTcpSrcMasked

        public static Criterion matchTcpSrcMasked​(org.onlab.packet.TpPort tcpPort,
                                                  org.onlab.packet.TpPort mask)
        Creates a masked match on TCP source port field using the specified value and mask.
        Parameters:
        tcpPort - TCP source port
        mask - TCP source port masking
        Returns:
        match criterion
      • matchTcpDst

        public static Criterion matchTcpDst​(org.onlab.packet.TpPort tcpPort)
        Creates a match on TCP destination port field using the specified value.
        Parameters:
        tcpPort - TCP destination port
        Returns:
        match criterion
      • matchTcpDstMasked

        public static Criterion matchTcpDstMasked​(org.onlab.packet.TpPort tcpPort,
                                                  org.onlab.packet.TpPort mask)
        Creates a masked match on TCP destination port field using the specified value and mask.
        Parameters:
        tcpPort - TCP destination port
        mask - TCP destination port masking
        Returns:
        match criterion
      • matchTcpFlags

        public static Criterion matchTcpFlags​(int flags)
        Creates a match on TCP flags using the specified value.
        Parameters:
        flags - TCP flags
        Returns:
        match criterion
      • matchUdpSrc

        public static Criterion matchUdpSrc​(org.onlab.packet.TpPort udpPort)
        Creates a match on UDP source port field using the specified value.
        Parameters:
        udpPort - UDP source port
        Returns:
        match criterion
      • matchUdpSrcMasked

        public static Criterion matchUdpSrcMasked​(org.onlab.packet.TpPort udpPort,
                                                  org.onlab.packet.TpPort mask)
        Creates a masked match on UDP source port field using the specified value and mask.
        Parameters:
        udpPort - UDP source port
        mask - UDP source port masking
        Returns:
        match criterion
      • matchUdpDst

        public static Criterion matchUdpDst​(org.onlab.packet.TpPort udpPort)
        Creates a match on UDP destination port field using the specified value.
        Parameters:
        udpPort - UDP destination port
        Returns:
        match criterion
      • matchUdpDstMasked

        public static Criterion matchUdpDstMasked​(org.onlab.packet.TpPort udpPort,
                                                  org.onlab.packet.TpPort mask)
        Creates a masked match on UDP destination port field using the specified value and mask.
        Parameters:
        udpPort - UDP destination port
        mask - UDP destination port masking
        Returns:
        match criterion
      • matchSctpSrc

        public static Criterion matchSctpSrc​(org.onlab.packet.TpPort sctpPort)
        Creates a match on SCTP source port field using the specified value.
        Parameters:
        sctpPort - SCTP source port
        Returns:
        match criterion
      • matchSctpSrcMasked

        public static Criterion matchSctpSrcMasked​(org.onlab.packet.TpPort sctpPort,
                                                   org.onlab.packet.TpPort mask)
        Creates a masked match on SCTP source port field using the specified value and mask.
        Parameters:
        sctpPort - SCTP source port
        mask - SCTP source port masking
        Returns:
        match criterion
      • matchSctpDst

        public static Criterion matchSctpDst​(org.onlab.packet.TpPort sctpPort)
        Creates a match on SCTP destination port field using the specified value.
        Parameters:
        sctpPort - SCTP destination port
        Returns:
        match criterion
      • matchSctpDstMasked

        public static Criterion matchSctpDstMasked​(org.onlab.packet.TpPort sctpPort,
                                                   org.onlab.packet.TpPort mask)
        Creates a masked match on SCTP destination port field using the specified value and mask.
        Parameters:
        sctpPort - SCTP destination port
        mask - SCTP destination port masking
        Returns:
        match criterion
      • matchIcmpType

        public static Criterion matchIcmpType​(short icmpType)
        Creates a match on ICMP type field using the specified value.
        Parameters:
        icmpType - ICMP type (8 bits unsigned integer)
        Returns:
        match criterion
      • matchIcmpCode

        public static Criterion matchIcmpCode​(short icmpCode)
        Creates a match on ICMP code field using the specified value.
        Parameters:
        icmpCode - ICMP code (8 bits unsigned integer)
        Returns:
        match criterion
      • matchIPv6Src

        public static Criterion matchIPv6Src​(org.onlab.packet.IpPrefix ip)
        Creates a match on IPv6 source field using the specified value.
        Parameters:
        ip - ipv6 source value
        Returns:
        match criterion
      • matchIPv6Dst

        public static Criterion matchIPv6Dst​(org.onlab.packet.IpPrefix ip)
        Creates a match on IPv6 destination field using the specified value.
        Parameters:
        ip - ipv6 destination value
        Returns:
        match criterion
      • matchIPv6FlowLabel

        public static Criterion matchIPv6FlowLabel​(int flowLabel)
        Creates a match on IPv6 flow label field using the specified value.
        Parameters:
        flowLabel - IPv6 flow label (20 bits)
        Returns:
        match criterion
      • matchIcmpv6Type

        public static Criterion matchIcmpv6Type​(short icmpv6Type)
        Creates a match on ICMPv6 type field using the specified value.
        Parameters:
        icmpv6Type - ICMPv6 type (8 bits unsigned integer)
        Returns:
        match criterion
      • matchIcmpv6Code

        public static Criterion matchIcmpv6Code​(short icmpv6Code)
        Creates a match on ICMPv6 code field using the specified value.
        Parameters:
        icmpv6Code - ICMPv6 code (8 bits unsigned integer)
        Returns:
        match criterion
      • matchIPv6NDTargetAddress

        public static Criterion matchIPv6NDTargetAddress​(org.onlab.packet.Ip6Address targetAddress)
        Creates a match on IPv6 Neighbor Discovery target address using the specified value.
        Parameters:
        targetAddress - IPv6 Neighbor Discovery target address
        Returns:
        match criterion
      • matchIPv6NDSourceLinkLayerAddress

        public static Criterion matchIPv6NDSourceLinkLayerAddress​(org.onlab.packet.MacAddress mac)
        Creates a match on IPv6 Neighbor Discovery source link-layer address using the specified value.
        Parameters:
        mac - IPv6 Neighbor Discovery source link-layer address
        Returns:
        match criterion
      • matchIPv6NDTargetLinkLayerAddress

        public static Criterion matchIPv6NDTargetLinkLayerAddress​(org.onlab.packet.MacAddress mac)
        Creates a match on IPv6 Neighbor Discovery target link-layer address using the specified value.
        Parameters:
        mac - IPv6 Neighbor Discovery target link-layer address
        Returns:
        match criterion
      • matchMplsLabel

        public static Criterion matchMplsLabel​(org.onlab.packet.MplsLabel mplsLabel)
        Creates a match on MPLS label.
        Parameters:
        mplsLabel - MPLS label (20 bits)
        Returns:
        match criterion
      • matchMplsBos

        public static Criterion matchMplsBos​(boolean mplsBos)
        Creates a match on MPLS Bottom-of-Stack indicator bit.
        Parameters:
        mplsBos - boolean value indicating true (BOS=1) or false (BOS=0)
        Returns:
        match criterion
      • matchMplsTc

        public static Criterion matchMplsTc​(byte mplsTc)
        Creates a match on MPLS TC.
        Parameters:
        mplsTc - MPLS TC (3 bits)
        Returns:
        match criterion
      • matchTunnelId

        public static Criterion matchTunnelId​(long tunnelId)
        Creates a match on Tunnel ID.
        Parameters:
        tunnelId - Tunnel ID (64 bits)
        Returns:
        match criterion
      • matchIPv6ExthdrFlags

        public static Criterion matchIPv6ExthdrFlags​(int exthdrFlags)
        Creates a match on IPv6 Extension Header pseudo-field fiags. Those are defined in Criterion.IPv6ExthdrFlags.
        Parameters:
        exthdrFlags - IPv6 Extension Header pseudo-field flags (16 bits)
        Returns:
        match criterion
      • matchLambda

        public static Criterion matchLambda​(Lambda lambda)
        Creates a match on lambda using the specified value.
        Parameters:
        lambda - lambda
        Returns:
        match criterion
      • matchOchSignalType

        public static Criterion matchOchSignalType​(OchSignalType signalType)
        Create a match on OCh (Optical Channel) signal type.
        Parameters:
        signalType - OCh signal type
        Returns:
        match criterion
      • matchOduSignalId

        public static Criterion matchOduSignalId​(OduSignalId oduSignalId)
        Creates a match on ODU (Optical channel Data Unit) signal ID using the specified value.
        Parameters:
        oduSignalId - ODU Signal Id
        Returns:
        match criterion
      • matchOduSignalType

        public static Criterion matchOduSignalType​(OduSignalType signalType)
        Creates a match on ODU (Optical channel Data Unit) signal Type using the specified value.
        Parameters:
        signalType - ODU Signal Type
        Returns:
        match criterion
      • matchArpTpa

        public static Criterion matchArpTpa​(org.onlab.packet.Ip4Address ip)
        Creates a match on IPv4 destination field using the specified value.
        Parameters:
        ip - ipv4 destination value
        Returns:
        match criterion
      • matchArpSpa

        public static Criterion matchArpSpa​(org.onlab.packet.Ip4Address ip)
        Creates a match on IPv4 source field using the specified value.
        Parameters:
        ip - ipv4 source value
        Returns:
        match criterion
      • matchArpTha

        public static Criterion matchArpTha​(org.onlab.packet.MacAddress mac)
        Creates a match on MAC destination field using the specified value.
        Parameters:
        mac - MAC destination value
        Returns:
        match criterion
      • matchArpSha

        public static Criterion matchArpSha​(org.onlab.packet.MacAddress mac)
        Creates a match on MAC source field using the specified value.
        Parameters:
        mac - MAC source value
        Returns:
        match criterion
      • matchArpOp

        public static Criterion matchArpOp​(int arpOp)
        Creates a match on arp operation type field using the specified value.
        Parameters:
        arpOp - arp operation type value
        Returns:
        match criterion
      • matchPbbIsid

        public static Criterion matchPbbIsid​(int pbbIsid)
        Creates a match on PBB I-SID field using the specific value.
        Parameters:
        pbbIsid - PBB I-SID
        Returns:
        match criterion
      • extension

        public static ExtensionCriterion extension​(ExtensionSelector extensionSelector,
                                                   DeviceId deviceId)
        Creates an extension criterion for the specified extension selector.
        Parameters:
        extensionSelector - extension selector
        deviceId - device ID
        Returns:
        match extension criterion
      • dummy

        public static Criterion dummy()
        Creates a dummy criterion.
        Returns:
        match criterion