Interface VpnAfConfig

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.BindingObject, org.opendaylight.yangtools.yang.binding.DataContainer, org.opendaylight.yangtools.yang.binding.DataObject
    All Known Subinterfaces:
    Ipv4Family, Ipv6Family

    public interface VpnAfConfig
    extends org.opendaylight.yangtools.yang.binding.DataObject
    A set of configuration parameters that is applicable to both IPv4 and IPv6 address family for a VPN instance .

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

     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;
       }
     }
     
    The schema path to identify an instance is l3vpn-instances-interfaces/vpn-af-config
    • Field Summary

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      @Nullable ApplyLabel getApplyLabel()
      Apply one label mode for the VPN instance route.
      @Nullable java.lang.String getExportRoutePolicy()
      The export route-policy command associates a VPN instance enabled with the IPv4 or IPv6 address family with an export routing policy.
      @Nullable ImportRibs getImportRibs()
      Import route class
      @Nullable java.lang.String getImportRoutePolicy()
      The import route-policy command associates a VPN instance enabled with the IPv4 or IPv6 address family with an import routing policy.
      @Nullable L3vpnTtlMode getL3vpnTtlMode()
      The ttl-mode command enables MPLS to process the TTL in a specified mode.
      @Nullable L3vpnVrfPipe getL3vpnVrfPipe()
      The diffserv-mode command configures the mode of the MPLS differentiated service (Diff-Serv) for ensuring end-to-end QoS.
      @Nullable PrefixLimit getPrefixLimit()
      The prefix limit command sets a limit on the maximum number of prefixes supported in the existing VPN instance, preventing the PE from importing excessive VPN route prefixes.
      @Nullable java.util.List<java.lang.String> getRouteDistinguisher()
      The route-distinguisher command configures a route distinguisher (RD) for the IPv4 or IPv6 address family of a VPN instance.
      @Nullable RoutingTableLimit getRoutingTableLimit()
      The routing-table limit command sets a limit on the maximum number of routes that the IPv4 or IPv6 address family of a VPN instance can support.
      @Nullable java.lang.String getTunnelPolicy()
      The tnl-policy command associates the IPv4 or IPv6 address family of a VPN instance with a tunnel policy.
      @Nullable VpnTargets getVpnTargets()
      The vpn-target command configures the export or import VPN target extended community attribute for the VPN instance IPv4/IPv6 address family.
      java.lang.Class<? extends VpnAfConfig> implementedInterface()  
      @Nullable java.lang.Boolean isTrafficStatistics()
      The traffic-statistics enable command enables traffic statistics for a VPN instance.
      @Nullable java.lang.Boolean isVpnFrr()
      Enable VPN FRR in the VPN instance address family view.
    • Field Detail

      • QNAME

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

      • implementedInterface

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

        @Nullable java.util.List<java.lang.String> getRouteDistinguisher()
        The route-distinguisher command configures a route distinguisher (RD) for the IPv4 or IPv6 address family of a VPN instance. Format is ASN:nn or IP-address:nn.
        Returns:
        java.util.List routeDistinguisher, or null if not present
      • getVpnTargets

        @Nullable VpnTargets getVpnTargets()
        The vpn-target command configures the export or import VPN target extended community attribute for the VPN instance IPv4/IPv6 address family. Format is ASN:nn or IP-address:nn.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.VpnTargets vpnTargets, or null if not present
      • getApplyLabel

        @Nullable ApplyLabel getApplyLabel()
        Apply one label mode for the VPN instance route.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.ApplyLabel applyLabel, or null if not present
      • getImportRoutePolicy

        @Nullable java.lang.String getImportRoutePolicy()
        The import route-policy command associates a VPN instance enabled with the IPv4 or IPv6 address family with an import routing policy. Only one import routing policy can be associated with a VPN instance enabled with the IPv4 or IPv6 address family. If the import route-policy command is run more than once, the latest configuration overrides the previous ones.
        Returns:
        java.lang.String importRoutePolicy, or null if not present
      • getExportRoutePolicy

        @Nullable java.lang.String getExportRoutePolicy()
        The export route-policy command associates a VPN instance enabled with the IPv4 or IPv6 address family with an export routing policy. Only one export routing policy can be associated with a VPN instance enabled with the IPv4 or IPv6 address family. If the export route-policy command is run more than once, the latest configuration overrides the previous ones.
        Returns:
        java.lang.String exportRoutePolicy, or null if not present
      • getPrefixLimit

        @Nullable PrefixLimit getPrefixLimit()
        The prefix limit command sets a limit on the maximum number of prefixes supported in the existing VPN instance, preventing the PE from importing excessive VPN route prefixes.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.PrefixLimit prefixLimit, or null if not present
      • getRoutingTableLimit

        @Nullable RoutingTableLimit getRoutingTableLimit()
        The routing-table limit command sets a limit on the maximum number of routes that the IPv4 or IPv6 address family of a VPN instance can support. By default, there is no limit on the maximum number of routes that the IPv4 or IPv6 address family of a VPN instance can support, but the total number of private network and public network routes on a device cannot exceed the allowed maximum number of unicast routes.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.RoutingTableLimit routingTableLimit, or null if not present
      • isVpnFrr

        @Nullable java.lang.Boolean isVpnFrr()
        Enable VPN FRR in the VPN instance address family view. If a PE is connected to two other PEs, running the vpn frr command in the VPN instance address family view of the PE enables VPN FRR and improves network reliability. After VPN FRR is configured, traffic can switch to the secondary LSP immediately after the primary LSP becomes faulty.
        Returns:
        java.lang.Boolean vpnFrr, or null if not present
      • getL3vpnVrfPipe

        @Nullable L3vpnVrfPipe getL3vpnVrfPipe()
        The diffserv-mode command configures the mode of the MPLS differentiated service (Diff-Serv) for ensuring end-to-end QoS.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.L3vpnVrfPipe l3vpnVrfPipe, or null if not present
      • getL3vpnTtlMode

        @Nullable L3vpnTtlMode getL3vpnTtlMode()
        The ttl-mode command enables MPLS to process the TTL in a specified mode. By default, MPLS processes the TTL in pipe mode.
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.L3vpnTtlMode l3vpnTtlMode, or null if not present
      • getTunnelPolicy

        @Nullable java.lang.String getTunnelPolicy()
        The tnl-policy command associates the IPv4 or IPv6 address family of a VPN instance with a tunnel policy.
        Returns:
        java.lang.String tunnelPolicy, or null if not present
      • getImportRibs

        @Nullable ImportRibs getImportRibs()
        Import route class
        Returns:
        org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.ImportRibs importRibs, or null if not present
      • isTrafficStatistics

        @Nullable java.lang.Boolean isTrafficStatistics()
        The traffic-statistics enable command enables traffic statistics for a VPN instance.
        Returns:
        java.lang.Boolean trafficStatistics, or null if not present