Interface LispAddress

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.BindingObject, org.opendaylight.yangtools.yang.binding.DataContainer, org.opendaylight.yangtools.yang.binding.DataObject
    All Known Subinterfaces:
    AugmentedLispAddress, Eid, Rloc

    @Generated("mdsal-binding-generator")
    public interface LispAddress
    extends org.opendaylight.yangtools.yang.binding.DataObject
    Generic LISP address.

    This class represents the following YANG schema fragment defined in module ietf-lisp-address-types

     grouping lisp-address {
       leaf address-type {
         type lisp-address-family-ref;
       }
       leaf virtual-network-id {
         type instance-id-type;
       }
       choice address {
         leaf no-address {
           when "../address-type = 'laddr:no-addr-afi'" {
           }
           type empty;
         }
         leaf ipv4 {
           when "../address-type = 'laddr:ipv4-afi'" {
           }
           type inet:ipv4-address;
         }
         leaf ipv4-prefix {
           when "../address-type = 'laddr:ipv4-prefix-afi'" {
           }
           type inet:ipv4-prefix;
         }
         leaf ipv6 {
           when "../address-type = 'laddr:ipv6-afi'" {
           }
           type inet:ipv6-address;
         }
         leaf ipv6-prefix {
           when "../address-type = 'laddr:ipv6-prefix-afi'" {
           }
           type inet:ipv6-prefix;
         }
         leaf mac {
           when "../address-type = 'laddr:mac-afi'" {
           }
           type yang:mac-address;
         }
         leaf distinguished-name {
           when "../address-type = 'laddr:distinguished-name-afi'" {
           }
           type distinguished-name-type;
         }
         leaf as-number {
           when "../address-type = 'laddr:as-number-afi'" {
           }
           type inet:as-number;
         }
         container null-address {
           when "../address-type = 'laddr:null-address-lcaf'" {
           }
           leaf address {
             type empty;
           }
         }
         container afi-list {
           when "../address-type = 'laddr:afi-list-lcaf'" {
           }
           leaf-list address-list {
             type simple-address;
           }
         }
         container instance-id {
           when "../address-type = 'laddr:instance-id-lcaf'" {
           }
           leaf iid {
             type instance-id-type;
           }
           leaf mask-length {
             type uint8;
           }
           leaf address {
             type simple-address;
           }
         }
         container as-number-lcaf {
           when "../address-type = 'laddr:as-number-lcaf'" {
           }
           leaf as {
             type inet:as-number;
           }
           leaf address {
             type simple-address;
           }
         }
         container application-data {
           when "../address-type = 'laddr:application-data-lcaf'" {
           }
           leaf address {
             type simple-address;
           }
           leaf protocol {
             type uint8;
           }
           leaf ip-tos {
             type int32;
           }
           leaf local-port-low {
             type inet:port-number;
           }
           leaf local-port-high {
             type inet:port-number;
           }
           leaf remote-port-low {
             type inet:port-number;
           }
           leaf remote-port-high {
             type inet:port-number;
           }
         }
         container geo-coordinates {
           when "../address-type = 'laddr:geo-coordinates-lcaf'" {
           }
           leaf latitude {
             type bits {
               bit N {
               }
             }
           }
           leaf latitude-degrees {
             type uint8 {
               range "0 .. 90";
             }
           }
           leaf latitude-minutes {
             type uint8 {
               range 0..59;
             }
           }
           leaf latitude-seconds {
             type uint8 {
               range 0..59;
             }
           }
           leaf longitude {
             type bits {
               bit E {
               }
             }
           }
           leaf longitude-degrees {
             type uint16 {
               range "0 .. 180";
             }
           }
           leaf longitude-minutes {
             type uint8 {
               range 0..59;
             }
           }
           leaf longitude-seconds {
             type uint8 {
               range 0..59;
             }
           }
           leaf altitude {
             type int32;
           }
           leaf address {
             type simple-address;
           }
         }
         container nat-traversal {
           when "../address-type = 'laddr:nat-traversal-lcaf'" {
           }
           leaf ms-udp-port {
             type uint16;
           }
           leaf etr-udp-port {
             type uint16;
           }
           leaf global-etr-rloc {
             type simple-address;
           }
           leaf ms-rloc {
             type simple-address;
           }
           leaf private-etr-rloc {
             type simple-address;
           }
           leaf-list rtr-rlocs {
             type simple-address;
           }
         }
         container explicit-locator-path {
           when "../address-type = 'laddr:explicit-locator-path-lcaf'" {
           }
           list hop {
             key hop-id;
             ordered-by user;
             leaf hop-id {
               type string;
             }
             leaf address {
               type simple-address;
             }
             leaf lrs-bits {
               type bits {
                 bit lookup {
                 }
                 bit rloc-probe {
                 }
                 bit strict {
                 }
               }
             }
           }
         }
         container source-dest-key {
           when "../address-type = 'laddr:source-dest-key-lcaf'" {
           }
           leaf source {
             type simple-address;
           }
           leaf dest {
             type simple-address;
           }
         }
         container key-value-address {
           when "../address-type = 'laddr:key-value-address-lcaf'" {
           }
           leaf key {
             type simple-address;
           }
           leaf value {
             type simple-address;
           }
         }
         container service-path {
           when "../address-type = 'laddr:service-path-lcaf'" {
           }
           leaf service-path-id {
             type service-path-id-type;
           }
           leaf service-index {
             type uint8;
           }
         }
       }
     }
     
    • 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

        java.lang.Class<? extends LispAddress> implementedInterface()
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataContainer
        Specified by:
        implementedInterface in interface org.opendaylight.yangtools.yang.binding.DataObject
      • getAddressType

        java.lang.Class<? extends LispAddressFamily> getAddressType()
        Return addressType, or null if it is not present.
             
                 Type of the LISP address.
             
         
        Returns:
        Class<? extends LispAddressFamily> addressType, or null if it is not present.
      • requireAddressType

        default @NonNull java.lang.Class<? extends LispAddressFamily> requireAddressType()
        Return addressType, guaranteed to be non-null.
             
                 Type of the LISP address.
             
         
        Returns:
        Class<? extends LispAddressFamily> addressType, guaranteed to be non-null.
        Throws:
        java.util.NoSuchElementException - if addressType is not present
      • getVirtualNetworkId

        InstanceIdType getVirtualNetworkId()
        Return virtualNetworkId, or null if it is not present.
             
                 Virtual Network Identifier (instance-id) of the address.
             
         
        Returns:
        InstanceIdType virtualNetworkId, or null if it is not present.
      • requireVirtualNetworkId

        default @NonNull InstanceIdType requireVirtualNetworkId()
        Return virtualNetworkId, guaranteed to be non-null.
             
                 Virtual Network Identifier (instance-id) of the address.
             
         
        Returns:
        InstanceIdType virtualNetworkId, guaranteed to be non-null.
        Throws:
        java.util.NoSuchElementException - if virtualNetworkId is not present
      • getAddress

        Address getAddress()
        Return address, or null if it is not present.
             
                 Various LISP address types, including IP, MAC, and LCAF.
             
         
        Returns:
        Address address, or null if it is not present.