All Superinterfaces:
org.opendaylight.yangtools.yang.binding.Augmentable<Match>, org.opendaylight.yangtools.yang.binding.BindingContract<org.opendaylight.yangtools.yang.binding.DataContainer>, 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:
  • Field Details

    • QNAME

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

    • implementedInterface

      default Class<Match> implementedInterface()
      Specified by:
      implementedInterface in interface org.opendaylight.yangtools.yang.binding.BindingContract<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.
    • nonnullSingleTagged

      @NonNull SingleTagged nonnullSingleTagged()
      Return singleTagged, or an empty instance if it is not present.
      Returns:
      SingleTagged singleTagged, or an empty instance 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.
    • nonnullSingleTaggedList

      @NonNull SingleTaggedList nonnullSingleTaggedList()
      Return singleTaggedList, or an empty instance if it is not present.
      Returns:
      SingleTaggedList singleTaggedList, or an empty instance 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.
    • nonnullSingleTaggedRange

      @NonNull SingleTaggedRange nonnullSingleTaggedRange()
      Return singleTaggedRange, or an empty instance if it is not present.
      Returns:
      SingleTaggedRange singleTaggedRange, or an empty instance 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.
    • nonnullDoubleTagged

      @NonNull DoubleTagged nonnullDoubleTagged()
      Return doubleTagged, or an empty instance if it is not present.
      Returns:
      DoubleTagged doubleTagged, or an empty instance 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.
    • nonnullDoubleTaggedInnerList

      @NonNull DoubleTaggedInnerList nonnullDoubleTaggedInnerList()
      Return doubleTaggedInnerList, or an empty instance if it is not present.
      Returns:
      DoubleTaggedInnerList doubleTaggedInnerList, or an empty instance 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.
    • nonnullDoubleTaggedOuterList

      @NonNull DoubleTaggedOuterList nonnullDoubleTaggedOuterList()
      Return doubleTaggedOuterList, or an empty instance if it is not present.
      Returns:
      DoubleTaggedOuterList doubleTaggedOuterList, or an empty instance 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.
    • nonnullDoubleTaggedInnerRange

      @NonNull DoubleTaggedInnerRange nonnullDoubleTaggedInnerRange()
      Return doubleTaggedInnerRange, or an empty instance if it is not present.
      Returns:
      DoubleTaggedInnerRange doubleTaggedInnerRange, or an empty instance 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.
    • nonnullDoubleTaggedOuterRange

      @NonNull DoubleTaggedOuterRange nonnullDoubleTaggedOuterRange()
      Return doubleTaggedOuterRange, or an empty instance if it is not present.
      Returns:
      DoubleTaggedOuterRange doubleTaggedOuterRange, or an empty instance 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.
    • nonnullDoubleTaggedInnerOuterRange

      @NonNull DoubleTaggedInnerOuterRange nonnullDoubleTaggedInnerOuterRange()
      Return doubleTaggedInnerOuterRange, or an empty instance if it is not present.
      Returns:
      DoubleTaggedInnerOuterRange doubleTaggedInnerOuterRange, or an empty instance if it is not present.