Interface L3vpnInstancesInterfacesData

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.DataRoot

    public interface L3vpnInstancesInterfacesData
    extends org.opendaylight.yangtools.yang.binding.DataRoot

    This class represents the following YANG schema fragment defined in module l3vpn-instances-interfaces

     module l3vpn-instances-interfaces {
       namespace urn:opendaylight:netvirt:neutronvpn:l3vpn;
       prefix l3vpn-instances-interfaces;
       import ietf-yang-types {
         prefix yang;
         revision-date 2013-07-15;
       }
       import ietf-interfaces {
         prefix if;
       }
       import yang-ext {
         prefix ext;
         revision-date 2013-07-09;
       }
       import neutronvpn {
         prefix nvpn;
         revision-date 2015-06-02;
       }
       revision 2020-02-04 {
       }
       grouping vpn-af-config {
         leaf-list route-distinguisher {
           type string {
             length 3..21;
           }
         }
         container vpnTargets {
           list vpnTarget {
             key vrfRTValue;
             leaf vrfRTValue {
               type string {
                 length 3..21;
               }
             }
             leaf vrfRTType {
               type enumeration {
                 enum export_extcommunity {
                   value 0;
                 }
                 enum import_extcommunity {
                   value 1;
                 }
                 enum both {
                   value 2;
                 }
               }
             }
           }
         }
         container apply-label {
           choice apply-label-mode {
             case per-route {
               leaf apply-label-per-route {
                 type boolean;
                 default true;
               }
             }
             case per-instance {
               leaf apply-label-per-instance {
                 type boolean;
                 default false;
               }
             }
           }
         }
         leaf import-route-policy {
           type string {
             length 1..40;
           }
         }
         leaf export-route-policy {
           type string {
             length 1..40;
           }
         }
         container prefix-limit {
           leaf prefix-limit-number {
             type uint32 {
               range 1..4294967295;
             }
           }
           choice prefix-limit-action {
             case enable-alert-percent {
               leaf alert-percent-value {
                 type uint8 {
                   range 1..100;
                 }
               }
               leaf route-unchanged {
                 type boolean;
                 default false;
               }
             }
             case enable-simple-alert {
               leaf simple-alert {
                 type boolean;
                 default false;
               }
             }
           }
         }
         container routing-table-limit {
           leaf routing-table-limit-number {
             type uint32 {
               range 1..4294967295;
             }
           }
           choice routing-table-limit-action {
             case enable-alert-percent {
               leaf alert-percent-value {
                 type uint8 {
                   range 1..100;
                 }
               }
             }
             case enable-simple-alert {
               leaf simple-alert {
                 type boolean;
               }
             }
           }
         }
         leaf vpn-frr {
           type boolean;
           default false;
         }
         container l3vpnVrfPipe {
           leaf pipeMode {
             type enumeration {
               enum pipe {
                 value 0;
               }
               enum shortPipe {
                 value 1;
               }
               enum uniform {
                 value 2;
               }
             }
             default uniform;
           }
           leaf serviceClass {
             type enumeration {
               enum be {
                 value 0;
               }
               enum af1 {
                 value 1;
               }
               enum af2 {
                 value 2;
               }
               enum af3 {
                 value 3;
               }
               enum af4 {
                 value 4;
               }
               enum ef {
                 value 5;
               }
               enum cs6 {
                 value 6;
               }
               enum cs7 {
                 value 7;
               }
             }
             default be;
           }
           leaf color {
             type enumeration {
               enum green {
                 value 0;
               }
               enum yellow {
                 value 1;
               }
               enum red {
                 value 2;
               }
             }
             default green;
           }
           leaf dsName {
             type string;
             default default;
           }
         }
         container l3vpnTtlMode {
           leaf ttlMode {
             default pipe;
             type enumeration {
               enum pipe {
                 value 0;
               }
               enum uniform {
                 value 1;
               }
             }
           }
         }
         leaf tunnel-policy {
           type string {
             length 1..39;
           }
         }
         container importRibs {
           leaf protocol {
             type enumeration {
               enum ALL {
                 value 0;
               }
               enum Direct {
                 value 1;
               }
               enum OSPF {
                 value 2;
               }
               enum ISIS {
                 value 3;
               }
               enum Static {
                 value 4;
               }
               enum RIP {
                 value 5;
               }
               enum BGP {
                 value 6;
               }
               enum OSPFV3 {
                 value 7;
               }
               enum RIPNG {
                 value 8;
               }
               enum INVALID {
                 value 9;
               }
             }
           }
           leaf processId {
             default 0;
             type uint32 {
               range 0..4294967295;
             }
           }
           leaf bgp-valid-route {
             type boolean;
           }
           leaf policyName {
             type string;
           }
         }
         leaf traffic-statistics {
           type boolean;
           default false;
         }
       }
       container vpn-instances {
         list vpn-instance {
           key vpn-instance-name;
           leaf vpn-instance-name {
             type string;
           }
           leaf type {
             type enumeration {
               enum l3 {
                 value 0;
               }
               enum l2 {
                 value 1;
               }
             }
             default l3;
           }
           leaf l3vni {
             type uint32;
           }
           leaf description {
             type string {
               length 1..242;
               pattern ([^?]*);
             }
           }
           container ipv4-family {
             uses vpn-af-config;
           }
           container ipv6-family {
             uses vpn-af-config;
           }
         }
       }
       augment /vpn-interfaces/vpn-interface {
         ext:augment-identifier adjacencies;
         uses adjacency-list;
       }
       grouping adjacency-list {
         list adjacency {
           key ip_address;
           leaf-list next-hop-ip-list {
             type string;
           }
           leaf ip_address {
             type string;
           }
           leaf adjacency_type {
             type enumeration {
               enum primary-adjacency {
                 value 1;
               }
               enum learnt-ip {
                 value 2;
               }
               enum extra-route {
                 value 3;
               }
             }
             default extra-route;
           }
           leaf mac_address {
             type string;
           }
           leaf subnet_id {
             type yang:uuid;
           }
           leaf subnet_gateway_ip {
             type string;
           }
           leaf phys-network-func {
             type boolean;
             default false;
           }
           uses adjacency-op-data;
         }
       }
       grouping adjacency-op-data {
         leaf label {
           type uint32;
           config false;
         }
         leaf subnet_gateway_mac_address {
           type string;
           config false;
         }
         leaf vrf-id {
           type string;
           config false;
         }
         leaf marked_for_deletion {
           config false;
           type boolean;
         }
       }
       container vpn-interfaces {
         list vpn-interface {
           key name;
           leaf name {
             type leafref {
               path /if:interfaces/if:interface/if:name;
             }
           }
           list vpn-instance-names {
             key vpn-name;
             leaf vpn-name {
               type string {
                 length 1..40;
               }
             }
             leaf associated-subnet-type {
               type enumeration {
                 enum V4Subnet {
                   value 0;
                 }
                 enum V6Subnet {
                   value 1;
                 }
                 enum V6InternetVPN {
                   value 2;
                 }
                 enum V4AndV6Subnets {
                   value 3;
                 }
               }
             }
           }
           leaf dpn-id {
             type uint64;
           }
           leaf router-interface {
             type boolean;
           }
           uses nvpn:network-attributes;
         }
       }
     }
     
    • Method Detail

      • getVpnInstances

        @Nullable VpnInstances getVpnInstances()
        VPN instances configuration parameters. VPN instances support both the IPv4 and IPv6 address families.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.VpnInstances vpnInstances, or null if not present
      • getVpnInterfaces

        @Nullable VpnInterfaces getVpnInterfaces()
        VPN is enabled on interfaces.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.VpnInterfaces vpnInterfaces, or null if not present