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

    • QNAME

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

    • implementedInterface

      Class<? extends LispAddress> 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
    • getAddressType

      LispAddressFamily getAddressType()
      Return addressType, or null if it is not present.
           
               Type of the LISP address.
           
       
      Returns:
      LispAddressFamily addressType, or null if it is not present.
    • requireAddressType

      default @NonNull LispAddressFamily requireAddressType()
      Return addressType, guaranteed to be non-null.
           
               Type of the LISP address.
           
       
      Returns:
      LispAddressFamily addressType, guaranteed to be non-null.
      Throws:
      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:
      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.