Interface Match

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.Augmentable<Match>, org.opendaylight.yangtools.yang.binding.BindingObject, org.opendaylight.yangtools.yang.binding.ChildOf<VlanLogicalMatchTop>, org.opendaylight.yangtools.yang.binding.DataContainer, org.opendaylight.yangtools.yang.binding.DataObject

    @Generated("mdsal-binding-generator")
    public interface Match
    extends org.opendaylight.yangtools.yang.binding.ChildOf<VlanLogicalMatchTop>, org.opendaylight.yangtools.yang.binding.Augmentable<Match>
    Configuration for various VLAN tag matching schemes, including single-tagged 802.1q packets and double-tagged 802.1ad 'Q-in-Q' packets. Typically only one the subordinate containers should be specified. Wildcards may be matched by specifying range values of 2-4094. If implementations have a more efficient way to match Wildcards then they should recognize this pattern and translate accordingly. Implementations are expected to return errors for combinations they do not support, or provide deviations to the same effect. For simple VLAN configurations without an 'egress-mapping' then using the 'single-tagged' and 'double-tagged' VLAN matches that resolve to specific values, these specify the VLAN identifiers applied to packets on egress.

    This class represents the following YANG schema fragment defined in module openconfig-vlan

     container match {
       container single-tagged {
         container config {
           uses vlan-logical-single-tagged-config;
         }
         container state {
           config false;
           uses vlan-logical-single-tagged-config;
         }
       }
       container single-tagged-list {
         container config {
           uses vlan-logical-single-tagged-list-config;
         }
         container state {
           config false;
           uses vlan-logical-single-tagged-list-config;
         }
       }
       container single-tagged-range {
         container config {
           uses vlan-logical-single-tagged-range-config;
         }
         container state {
           config false;
           uses vlan-logical-single-tagged-range-config;
         }
       }
       container double-tagged {
         container config {
           uses vlan-logical-double-tagged-config;
         }
         container state {
           config false;
           uses vlan-logical-double-tagged-config;
         }
       }
       container double-tagged-inner-list {
         container config {
           uses vlan-logical-double-tagged-inner-list-config;
         }
         container state {
           config false;
           uses vlan-logical-double-tagged-inner-list-config;
         }
       }
       container double-tagged-outer-list {
         container config {
           uses vlan-logical-double-tagged-outer-list-config;
         }
         container state {
           config false;
           uses vlan-logical-double-tagged-outer-list-config;
         }
       }
       container double-tagged-inner-range {
         container config {
           uses vlan-logical-double-tagged-inner-range-config;
         }
         container state {
           config false;
           uses vlan-logical-double-tagged-inner-range-config;
         }
       }
       container double-tagged-outer-range {
         container config {
           uses vlan-logical-double-tagged-outer-range-config;
         }
         container state {
           config false;
           uses vlan-logical-double-tagged-outer-range-config;
         }
       }
       container double-tagged-inner-outer-range {
         container config {
           uses vlan-logical-double-tagged-inner-outer-range-config;
         }
         container state {
           config false;
           uses vlan-logical-double-tagged-inner-outer-range-config;
         }
       }
     }
     

    To create instances of this class use MatchBuilder.

    See Also:
    MatchBuilder
    • Field Detail

      • QNAME

        static final @NonNull org.opendaylight.yangtools.yang.common.QName QNAME
        YANG identifier of the statement represented by this class.
    • Method Detail

      • implementedInterface

        default Class<Match> implementedInterface()
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataContainer
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataObject
      • bindingHashCode

        static int bindingHashCode​(@NonNull Match obj)
        Default implementation of Object.hashCode() contract for this interface. Implementations of this interface are encouraged to defer to this method to get consistent hashing results across all implementations.
        Parameters:
        obj - Object for which to generate hashCode() result.
        Returns:
        Hash code value of data modeled by this interface.
        Throws:
        NullPointerException - if obj is null
      • bindingEquals

        static boolean bindingEquals​(@NonNull Match thisObj,
                                     Object obj)
        Default implementation of Object.equals(Object) contract for this interface. Implementations of this interface are encouraged to defer to this method to get consistent equality results across all implementations.
        Parameters:
        thisObj - Object acting as the receiver of equals invocation
        obj - Object acting as argument to equals invocation
        Returns:
        True if thisObj and obj are considered equal
        Throws:
        NullPointerException - if thisObj is null
      • bindingToString

        static String bindingToString​(@NonNull Match obj)
        Default implementation of Object.toString() contract for this interface. Implementations of this interface are encouraged to defer to this method to get consistent string representations across all implementations.
        Parameters:
        obj - Object for which to generate toString() result.
        Returns:
        String value of data modeled by this interface.
        Throws:
        NullPointerException - if obj is null
      • getSingleTagged

        SingleTagged getSingleTagged()
        Return singleTagged, or null if it is not present.
             
                 Match single-tagged packets with an exact VLAN identifier.
             
         
        Returns:
        SingleTagged singleTagged, or null if it is not present.
      • getSingleTaggedList

        SingleTaggedList getSingleTaggedList()
        Return singleTaggedList, or null if it is not present.
             
                 Match single-tagged packets with a list of VLAN identifiers.
             
         
        Returns:
        SingleTaggedList singleTaggedList, or null if it is not present.
      • getSingleTaggedRange

        SingleTaggedRange getSingleTaggedRange()
        Return singleTaggedRange, or null if it is not present.
             
                 Match single-tagged packets with a range of VLAN identifiers.
             
         
        Returns:
        SingleTaggedRange singleTaggedRange, or null if it is not present.
      • getDoubleTagged

        DoubleTagged getDoubleTagged()
        Return doubleTagged, or null if it is not present.
             
                 Match double-tagged packets against inner exact and outer exact VLAN
                 identifiers.
             
         
        Returns:
        DoubleTagged doubleTagged, or null if it is not present.
      • getDoubleTaggedInnerList

        DoubleTaggedInnerList getDoubleTaggedInnerList()
        Return doubleTaggedInnerList, or null if it is not present.
             
                 Match double-tagged packets against an inner list and outer exact VLAN
                 identifiers.
             
         
        Returns:
        DoubleTaggedInnerList doubleTaggedInnerList, or null if it is not present.
      • getDoubleTaggedOuterList

        DoubleTaggedOuterList getDoubleTaggedOuterList()
        Return doubleTaggedOuterList, or null if it is not present.
             
                 Match double-tagged packets against an inner exact and outer list of VLAN
                 identifiers.
             
         
        Returns:
        DoubleTaggedOuterList doubleTaggedOuterList, or null if it is not present.
      • getDoubleTaggedInnerRange

        DoubleTaggedInnerRange getDoubleTaggedInnerRange()
        Return doubleTaggedInnerRange, or null if it is not present.
             
                 Match double-tagged packets against an inner range and outer exact VLAN
                 identifiers.
             
         
        Returns:
        DoubleTaggedInnerRange doubleTaggedInnerRange, or null if it is not present.
      • getDoubleTaggedOuterRange

        DoubleTaggedOuterRange getDoubleTaggedOuterRange()
        Return doubleTaggedOuterRange, or null if it is not present.
             
                 Match double-tagged packets against an inner exact and an outer range of VLAN
                 identifiers.
             
         
        Returns:
        DoubleTaggedOuterRange doubleTaggedOuterRange, or null if it is not present.
      • getDoubleTaggedInnerOuterRange

        DoubleTaggedInnerOuterRange getDoubleTaggedInnerOuterRange()
        Return doubleTaggedInnerOuterRange, or null if it is not present.
             
                 Match double-tagged packets against an inner range and an outer range of VLAN
                 identifiers.
             
         
        Returns:
        DoubleTaggedInnerOuterRange doubleTaggedInnerOuterRange, or null if it is not present.