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 {
         case no-address {
           leaf no-address {
             when "../address-type = 'laddr:no-addr-afi'" {
             }
             type empty;
           }
         }
         case ipv4 {
           leaf ipv4 {
             when "../address-type = 'laddr:ipv4-afi'" {
             }
             type inet:ipv4-address;
           }
         }
         case ipv4-prefix {
           leaf ipv4-prefix {
             when "../address-type = 'laddr:ipv4-prefix-afi'" {
             }
             type inet:ipv4-prefix;
           }
         }
         case ipv6 {
           leaf ipv6 {
             when "../address-type = 'laddr:ipv6-afi'" {
             }
             type inet:ipv6-address;
           }
         }
         case ipv6-prefix {
           leaf ipv6-prefix {
             when "../address-type = 'laddr:ipv6-prefix-afi'" {
             }
             type inet:ipv6-prefix;
           }
         }
         case mac {
           leaf mac {
             when "../address-type = 'laddr:mac-afi'" {
             }
             type yang:mac-address;
           }
         }
         case distinguished-name {
           leaf distinguished-name {
             when "../address-type = 'laddr:distinguished-name-afi'" {
             }
             type distinguished-name-type;
           }
         }
         case as-number {
           leaf as-number {
             when "../address-type = 'laddr:as-number-afi'" {
             }
             type inet:as-number;
           }
         }
         case null-address {
           container null-address {
             when "../address-type = 'laddr:null-address-lcaf'" {
             }
             leaf address {
               type empty;
             }
           }
         }
         case afi-list {
           container afi-list {
             when "../address-type = 'laddr:afi-list-lcaf'" {
             }
             leaf-list address-list {
               type simple-address;
             }
           }
         }
         case instance-id {
           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;
             }
           }
         }
         case as-number-lcaf {
           container as-number-lcaf {
             when "../address-type = 'laddr:as-number-lcaf'" {
             }
             leaf as {
               type inet:as-number;
             }
             leaf address {
               type simple-address;
             }
           }
         }
         case application-data {
           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;
             }
           }
         }
         case geo-coordinates {
           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;
             }
           }
         }
         case nat-traversal {
           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;
             }
           }
         }
         case explicit-locator-path {
           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 {
                   }
                 }
               }
             }
           }
         }
         case source-dest-key {
           container source-dest-key {
             when "../address-type = 'laddr:source-dest-key-lcaf'" {
             }
             leaf source {
               type simple-address;
             }
             leaf dest {
               type simple-address;
             }
           }
         }
         case key-value-address {
           container key-value-address {
             when "../address-type = 'laddr:key-value-address-lcaf'" {
             }
             leaf key {
               type simple-address;
             }
             leaf value {
               type simple-address;
             }
           }
         }
         case service-path {
           container service-path {
             when "../address-type = 'laddr:service-path-lcaf'" {
             }
             leaf service-path-id {
               type service-path-id-type;
             }
             leaf service-index {
               type uint8;
             }
           }
         }
       }
     }
     
    The schema path to identify an instance is ietf-lisp-address-types/lisp-address
    • Field Detail

      • QNAME

        static final @NonNull org.opendaylight.yangtools.yang.common.QName QNAME
    • 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:
        java.lang.Class addressType, or null if it is not present.
      • getVirtualNetworkId

        InstanceIdType getVirtualNetworkId()
        Return virtualNetworkId, or null if it is not present.
             
                 Virtual Network Identifier (instance-id) of the address.
             
         
        Returns:
        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType virtualNetworkId, or null if it 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:
        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address address, or null if it is not present.