Interface SrSubobject

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.BindingObject, org.opendaylight.yangtools.yang.binding.DataContainer, org.opendaylight.yangtools.yang.binding.DataObject
    All Known Subinterfaces:
    SrEroSubobject, SrEroType, SrEroType, SrEroType, SrEroType, SrEroType, SrEroType, SrEroType, SrRroSubobject, SrRroType, SrRroType, SrRroType, SrRroType, SrRroType, SrRroType, SrRroType, SrRroType, SrRroType, SrRroType

    @Generated("mdsal-binding-generator")
    public interface SrSubobject
    extends org.opendaylight.yangtools.yang.binding.DataObject
    Common grouping for both SR-ERO and SR-RRO subobjects as they share the same content representation.

    This class represents the following YANG schema fragment defined in module odl-pcep-segment-routing

     grouping sr-subobject {
       leaf nai-type {
         type nai-type;
       }
       leaf m-flag {
         type boolean;
         default false;
       }
       leaf c-flag {
         type boolean;
         default false;
       }
       leaf sid {
         type uint32;
       }
       choice nai {
         case ip-node-id {
           when "../nai-type = 'ipv4-node-id' or ../nai-type = 'ipv6-node-id'";
           leaf ip-address {
             type inet:ip-address-no-zone;
           }
         }
         case ip-adjacency {
           when "../nai-type = 'ipv4-adjacency' or ../nai-type = 'ipv6-adjacency'";
           leaf local-ip-address {
             type inet:ip-address-no-zone;
           }
           leaf remote-ip-address {
             type inet:ip-address-no-zone;
           }
         }
         case unnumbered-adjacency {
           when "../nai-type = 'unnumbered'";
           leaf local-node-id {
             type uint32;
           }
           leaf local-interface-id {
             type uint32;
           }
           leaf remote-node-id {
             type uint32;
           }
           leaf remote-interface-id {
             type uint32;
           }
         }
         case ipv6-local {
           when "../nai-type = 'ipv6-local'";
           leaf local-ipv6-address {
             type inet:ipv6-address-no-zone;
           }
           leaf local-id {
             type uint32;
           }
           leaf remote-ipv6-address {
             type inet:ipv6-address-no-zone;
           }
           leaf remote-id {
             type uint32;
           }
         }
       }
     }
     
    The schema path to identify an instance is odl-pcep-segment-routingsr-subobject
    • Field Detail

      • QNAME

        static final @NonNull org.opendaylight.yangtools.yang.common.QName QNAME
    • Method Detail

      • implementedInterface

        Class<? extends SrSubobject> implementedInterface()
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataContainer
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataObject
      • getNaiType

        NaiType getNaiType()
        Return naiType, or null if it is not present.
             
                 Node or Adjacency Identifier Type (NT)
             
         
        Returns:
        NaiType naiType, or null if it is not present.
      • requireNaiType

        default @NonNull NaiType requireNaiType()
        Return naiType, guaranteed to be non-null.
             
                 Node or Adjacency Identifier Type (NT)
             
         
        Returns:
        NaiType naiType, guaranteed to be non-null.
        Throws:
        NoSuchElementException - if naiType is not present
      • getMFlag

        Boolean getMFlag()
        Return mFlag, or null if it is not present.
             
                 If this bit is set to 1, the SID value represents an MPLS label stack entry
             
         
        Returns:
        Boolean mFlag, or null if it is not present.
      • requireMFlag

        default @NonNull Boolean requireMFlag()
        Return mFlag, guaranteed to be non-null.
             
                 If this bit is set to 1, the SID value represents an MPLS label stack entry
             
         
        Returns:
        Boolean mFlag, guaranteed to be non-null.
        Throws:
        NoSuchElementException - if mFlag is not present
      • getCFlag

        Boolean getCFlag()
        Return cFlag, or null if it is not present.
             
                 TC, S & TTL fields in the MPLS label are specified by the PCE if M & C
                 are set to 1
             
         
        Returns:
        Boolean cFlag, or null if it is not present.
      • requireCFlag

        default @NonNull Boolean requireCFlag()
        Return cFlag, guaranteed to be non-null.
             
                 TC, S & TTL fields in the MPLS label are specified by the PCE if M & C
                 are set to 1
             
         
        Returns:
        Boolean cFlag, guaranteed to be non-null.
        Throws:
        NoSuchElementException - if cFlag is not present
      • getSid

        org.opendaylight.yangtools.yang.common.Uint32 getSid()
        Return sid, or null if it is not present.
             
                 Segment Identifier
             
         
        Returns:
        Uint32 sid, or null if it is not present.
      • requireSid

        default @NonNull org.opendaylight.yangtools.yang.common.Uint32 requireSid()
        Return sid, guaranteed to be non-null.
             
                 Segment Identifier
             
         
        Returns:
        Uint32 sid, guaranteed to be non-null.
        Throws:
        NoSuchElementException - if sid is not present
      • getNai

        Nai getNai()
        Return nai, or null if it is not present.
             
                 Node or Adjacency Identifier
             
         
        Returns:
        Nai nai, or null if it is not present.