Interface Address

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.ChoiceIn<LispAddress>, org.opendaylight.yangtools.yang.binding.DataContainer
    All Known Subinterfaces:
    AfiList, ApplicationData, AsNumber, AsNumberLcaf, DistinguishedName, ExplicitLocatorPath, GeoCoordinates, InstanceId, Ipv4, Ipv4Binary, Ipv4Prefix, Ipv4PrefixBinary, Ipv6, Ipv6Binary, Ipv6Prefix, Ipv6PrefixBinary, KeyValueAddress, Mac, NatTraversal, NoAddress, NullAddress, ServicePath, SourceDestKey

    public interface Address
    extends org.opendaylight.yangtools.yang.binding.ChoiceIn<LispAddress>
    Various LISP address types, including IP, MAC, and LCAF.

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

     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/address
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static @NonNull org.opendaylight.yangtools.yang.common.QName QNAME  
    • Method Summary

      • Methods inherited from interface org.opendaylight.yangtools.yang.binding.DataContainer

        implementedInterface
    • Field Detail

      • QNAME

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