Cisco-IOS-XR-um-vrf-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR vrf package configuration. This YANG module augments the...

  • Version: 2021-01-11

    Cisco-IOS-XR-um-vrf-cfg@2021-01-11


    
      module Cisco-IOS-XR-um-vrf-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-vrf-cfg";
    
        prefix um-vrf-cfg;
    
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import Cisco-IOS-XR-config-mda-cfg {
          prefix node;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
    Customer Service
    
    Postal: 170 West Tasman Drive
    San Jose, CA 95134
    
    Tel: +1 800 553-NETS
    
    E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
    for Cisco IOS-XR vrf package configuration.
    
    This YANG module augments the
    modules with configuration data.
    
    Copyright (c) 2019-2021 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2021-01-11" {
          description
            "Added new leaf description under srlg->names->name
    2020-07-23
      Removed unused tailf import";
        }
    
        revision "2019-10-31" {
          description "Added mandatory nodes";
        }
    
        revision "2019-10-10" {
          description
            "Moved interface augments into Cisco-IOS-XR-um-if-vrf-cfg
    2019-09-23
    Moved 'selective-vrf-download-locations' and its child nodes to module 'Cisco-IOS-XR-config-mda-cfg' to resolve an issue with duplicated list entries being created between the two models.";
        }
    
        revision "2019-06-10" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-03-29" {
          description "Initial version";
        }
    
        semver:module-version "4.0.0";
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        feature svd-location {
          description
            "selective-vrf-download location feature";
        }
    
        grouping GROUP-SVD-LOCATION {
          container selective-vrf-download {
            if-feature svd-location;
            must "role or vrf-groups/vrf-group";
            presence
              "Indicates a selective-vrf-download node is configured.";
            description
              "Location for Selective VRF Download configuration";
            container role {
              presence
                "Indicates a role node is configured.";
              description
                "Card Role configuration";
              container address-family {
                description
                  "AFI/SAFI configuration";
                container ipv4 {
                  description
                    "IPv4 AFI SVD configuration";
                  leaf unicast {
                    type enumeration {
                      enum "standard" {
                        value 1;
                        description
                          "Standard Role";
                      }
                      enum "core-facing" {
                        value 2;
                        description
                          "Core Facing Role";
                      }
                      enum "customer-facing" {
                        value 3;
                        description
                          "Customer Facing Role";
                      }
                      enum "not-interested" {
                        value 4;
                        description
                          "Not-Interested";
                      }
                      enum
                        "vpnonly-customer-facing" {
                        value 5;
                        description
                          "L3VPN Only Cutomer Facing Role";
                      }
                    }
                    mandatory true;
                    description
                      "IPv4 Unicast AFI-SAFI SVD configuration";
                  }
                }  // container ipv4
    
                container ipv6 {
                  description
                    "IPv6 AFI SVD configuration";
                  leaf unicast {
                    type enumeration {
                      enum "standard" {
                        value 1;
                        description
                          "Standard Role";
                      }
                      enum "core-facing" {
                        value 2;
                        description
                          "Core Facing Role";
                      }
                      enum "customer-facing" {
                        value 3;
                        description
                          "Customer Facing Role";
                      }
                      enum "not-interested" {
                        value 4;
                        description
                          "Not-Interested";
                      }
                      enum
                        "vpnonly-customer-facing" {
                        value 5;
                        description
                          "L3VPN Only Cutomer Facing Role";
                      }
                    }
                    mandatory true;
                    description
                      "IPv6 Unicast AFI-SAFI SVD configuration";
                  }
                }  // container ipv6
              }  // container address-family
            }  // container role
    
            container vrf-groups {
              description
                "Enable this VRF-GROUP on this location";
              list vrf-group {
                key "vrf-group-name";
                description
                  "Enable this VRF-GROUP on this location";
                leaf vrf-group-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description
                    "Enable this VRF-GROUP on this location";
                }
              }  // list vrf-group
            }  // container vrf-groups
          }  // container selective-vrf-download
        }  // grouping GROUP-SVD-LOCATION
    
        augment /node:active-nodes/node:active-node {
          description
            "This augment extends active nodes configuration";
          uses GROUP-SVD-LOCATION;
        }
    
        augment /node:preconfigured-nodes/node:preconfigured-node {
          description
            "This augment extends preconfigured nodes
    configuration";
          uses GROUP-SVD-LOCATION;
        }
    
        container address-family {
          description "AFI/SAFI configuration";
          container ipv4 {
            description "IPv4 address family";
            container unicast {
              presence
                "Indicates a unicast node is configured.";
              description "Unicast topology";
            }  // container unicast
    
            container multicast {
              description "Multicast topology";
              container topologies {
                description
                  "Specify a non-default topology";
                list topology {
                  key "topology-name";
                  description
                    "Specify a non-default topology";
                  leaf topology-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..32";
                    }
                    description
                      "Specify a non-default topology";
                  }
                }  // list topology
              }  // container topologies
            }  // container multicast
          }  // container ipv4
    
          container ipv6 {
            description "IPv6 address family";
            container unicast {
              presence
                "Indicates a unicast node is configured.";
              description "Unicast topology";
            }  // container unicast
    
            container multicast {
              description "Multicast topology";
              container topologies {
                description
                  "Specify a non-default topology";
                list topology {
                  key "topology-name";
                  description
                    "Specify a non-default topology";
                  leaf topology-name {
                    type string {
                      length "1..32";
                    }
                    description
                      "Specify a non-default topology";
                  }
                }  // list topology
              }  // container topologies
            }  // container multicast
          }  // container ipv6
        }  // container address-family
    
        container vrfs {
          description
            "VRF configuration commands";
          list vrf {
            key "vrf-name";
            description "VRF name";
            leaf vrf-name {
              type xr:Cisco-ios-xr-string {
                length "1..32";
              }
              description "VRF name";
            }
    
            container address-family {
              description
                "AFI/SAFI configuration";
              container ipv4 {
                description
                  "IPv4 address family";
                container unicast {
                  presence
                    "Indicates a unicast node is configured.";
                  description
                    "Unicast sub address family";
                }  // container unicast
    
                container multicast {
                  presence
                    "Indicates a multicast node is configured.";
                  description
                    "Multicast topology";
                }  // container multicast
    
                container flowspec {
                  presence
                    "Indicates a flowspec node is configured.";
                  description
                    "Flowspec sub address family";
                }  // container flowspec
              }  // container ipv4
    
              container ipv6 {
                description
                  "IPv6 address family";
                container unicast {
                  presence
                    "Indicates a unicast node is configured.";
                  description
                    "Unicast sub address family";
                }  // container unicast
    
                container multicast {
                  presence
                    "Indicates a multicast node is configured.";
                  description
                    "Multicast topology";
                }  // container multicast
    
                container flowspec {
                  presence
                    "Indicates a flowspec node is configured.";
                  description
                    "Flowspec sub address family";
                }  // container flowspec
              }  // container ipv6
            }  // container address-family
    
            container mode {
              description
                "VRF mode which determines the max prefix scale";
              container big {
                presence
                  "Indicates a big node is configured.";
                description
                  "big to set max prefix scale more than 64 K";
              }  // container big
            }  // container mode
    
            container vpn {
              description "VPN ID for the VRF";
              leaf id {
                type xr:Vpn-id;
                description
                  "VPN ID, (OUI:VPN-Index) format(hex), 4 bytes VPN_Index Part";
              }
            }  // container vpn
    
            leaf description {
              type string {
                length "1..1024";
              }
              description
                "A description for the VRF";
            }
    
            container remote-route-filtering {
              description
                "Enable/Disable remote route filtering per VRF";
              container disable {
                presence
                  "Indicates a disable node is configured.";
                description
                  "Disable remote route filtering per VRF";
              }  // container disable
            }  // container remote-route-filtering
    
            leaf fallback-vrf {
              type xr:Cisco-ios-xr-string {
                length "1..32";
              }
              description
                "Fallback vrf for this VRF";
            }
          }  // list vrf
        }  // container vrfs
    
        container selective-vrf-download {
          description
            "Selective VRF Download config commands";
          container disable {
            presence
              "Indicates a disable node is configured.";
            description
              "Disable Selective VRF Download";
          }  // container disable
        }  // container selective-vrf-download
    
        container srlg {
          presence
            "Indicates a srlg node is configured.";
          description
            "SRLG configuration commands";
          container names {
            description
              "SRLG name to value mapping";
            list name {
              must "value or description";
              key "srlg-name";
              description
                "SRLG name to value mapping";
              leaf srlg-name {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                description
                  "SRLG name to value mapping";
              }
    
              leaf value {
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "Configure SRLG network value";
              }
    
              leaf description {
                type string {
                  length "1..800";
                }
                description
                  "Configure SRLG network value";
              }
            }  // list name
          }  // container names
    
          container interfaces {
            description
              "SRLG interface configuration submode";
            list interface {
              key "interface-name";
              description
                "SRLG interface configuration submode";
              leaf interface-name {
                type xr:Interface-name;
                description
                  "SRLG interface configuration submode";
              }
    
              container include-optical {
                presence
                  "Indicates a include-optical node is configured.";
                description
                  "Include srlg values from optical layer";
                leaf priority {
                  type enumeration {
                    enum "critical" {
                      value 0;
                      description
                        "Critical priority";
                    }
                    enum "high" {
                      value 1;
                      description
                        "High priority";
                    }
                    enum "low" {
                      value 3;
                      description "Low priority";
                    }
                    enum "verylow" {
                      value 4;
                      description
                        "Very low priority";
                    }
                  }
                  description
                    "Set prority for the value";
                }
              }  // container include-optical
    
              container indexes {
                description
                  "Index number for this value";
                list index {
                  key "index-number";
                  description
                    "Index number for this value";
                  leaf index-number {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Index number for this value";
                  }
    
                  leaf value {
                    type uint32 {
                      range "0..4294967295";
                    }
                    mandatory true;
                    description
                      "Configure SRLG network value";
                  }
    
                  leaf priority {
                    type enumeration {
                      enum "critical" {
                        value 0;
                        description
                          "Critical priority";
                      }
                      enum "high" {
                        value 1;
                        description
                          "High priority";
                      }
                      enum "default" {
                        value 2;
                        description
                          "Default priority";
                      }
                      enum "low" {
                        value 3;
                        description
                          "Low priority";
                      }
                      enum "verylow" {
                        value 4;
                        description
                          "Very low priority";
                      }
                    }
                    mandatory true;
                    description
                      "Set prority for the value";
                  }
                }  // list index
              }  // container indexes
    
              container names {
                description
                  "Bind this SRLG name to the interface";
                list name {
                  key "srlg-name";
                  description
                    "Bind this SRLG name to the interface";
                  leaf srlg-name {
                    type string {
                      length "1..64";
                    }
                    description
                      "Bind this SRLG name to the interface";
                  }
                }  // list name
              }  // container names
    
              container groups {
                presence
                  "Indicates a groups node is configured.";
                description
                  "Configure group srlg values";
                list group {
                  key "index-number";
                  description
                    "Group index number for this entry";
                  leaf index-number {
                    type uint32 {
                      range "1";
                    }
                    description
                      "Group index number for this entry";
                  }
    
                  leaf group-name {
                    type string {
                      length "1..32";
                    }
                    mandatory true;
                    description "Group name";
                  }
                }  // list group
              }  // container groups
            }  // list interface
          }  // container interfaces
    
          container groups {
            description
              "SRLG group configuration submode";
            list group {
              key "group-name";
              description
                "SRLG group configuration submode";
              leaf group-name {
                type xr:Cisco-ios-xr-string {
                  length "1..32";
                }
                description
                  "SRLG group configuration submode";
              }
    
              container indexes {
                description
                  "Index number for this value";
                list index {
                  key "index-number";
                  description
                    "Index number for this value";
                  leaf index-number {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Index number for this value";
                  }
    
                  leaf value {
                    type uint32 {
                      range "0..4294967295";
                    }
                    mandatory true;
                    description
                      "Configure SRLG network value";
                  }
    
                  leaf priority {
                    type enumeration {
                      enum "critical" {
                        value 0;
                        description
                          "Critical priority";
                      }
                      enum "high" {
                        value 1;
                        description
                          "High priority";
                      }
                      enum "default" {
                        value 2;
                        description
                          "Default priority";
                      }
                      enum "low" {
                        value 3;
                        description
                          "Low priority";
                      }
                      enum "verylow" {
                        value 4;
                        description
                          "Very low priority";
                      }
                    }
                    mandatory true;
                    description
                      "Set prority for the value";
                  }
                }  // list index
              }  // container indexes
            }  // list group
          }  // container groups
    
          container inherit-locations {
            description
              "SRLG inherit-location configuration submode";
            list inherit-location {
              key "location-name";
              description
                "SRLG inherit-location configuration submode";
              leaf location-name {
                type xr:Pq-node-id;
                description
                  "The inherit location name";
              }
    
              container indexes {
                description
                  "Index number for this value";
                list index {
                  key "index-number";
                  description
                    "Index number for this value";
                  leaf index-number {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Index number for this value";
                  }
    
                  leaf value {
                    type uint32 {
                      range "0..4294967295";
                    }
                    mandatory true;
                    description
                      "Configure SRLG network value";
                  }
    
                  leaf priority {
                    type enumeration {
                      enum "critical" {
                        value 0;
                        description
                          "Critical priority";
                      }
                      enum "high" {
                        value 1;
                        description
                          "High priority";
                      }
                      enum "default" {
                        value 2;
                        description
                          "Default priority";
                      }
                      enum "low" {
                        value 3;
                        description
                          "Low priority";
                      }
                      enum "verylow" {
                        value 4;
                        description
                          "Very low priority";
                      }
                    }
                    mandatory true;
                    description
                      "Set prority for the value";
                  }
                }  // list index
              }  // container indexes
            }  // list inherit-location
          }  // container inherit-locations
        }  // container srlg
    
        container vrf-groups {
          description
            "VRFGROUP configuration commands";
          list vrf-group {
            key "group-name";
            description "Group name";
            leaf group-name {
              type xr:Cisco-ios-xr-string {
                length "1..32";
              }
              description "Group name";
            }
    
            container vrfs {
              description
                "Enable the vrf on this vrf-group";
              list vrf {
                key "vrf-name";
                description "VRF name";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "VRF name";
                }
              }  // list vrf
            }  // container vrfs
          }  // list vrf-group
        }  // container vrf-groups
      }  // module Cisco-IOS-XR-um-vrf-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.