Cisco-IOS-XR-subscriber-srg-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR subscriber-srg package configuration. This module contai...

  • Version: 2020-11-25

    Cisco-IOS-XR-subscriber-srg-cfg@2020-11-25


    
      module Cisco-IOS-XR-subscriber-srg-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-subscriber-srg-cfg";
    
        prefix subscriber-srg-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        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 subscriber-srg package configuration.
         
         This module contains definitions
         for the following management objects:
           subscriber-redundancy: Subscriber Redundancy configuration
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-11-25" {
          description
            "dscp value is set in bgen.";
        }
    
        revision "2020-05-02" {
          description
            "hold timer default disable cfg modified in bgen.";
        }
    
        revision "2019-10-01" {
          description
            "added Null interface in state control route.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.3.0";
        semver:module-version "1.2.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Dscp-value {
          type enumeration {
            enum "dscp-af11" {
              value 10;
              description "AF11";
            }
            enum "dscp-ef" {
              value 11;
              description "EF";
            }
          }
          description "Dscp value";
        }
    
        typedef Subscriber-redundancy-group-slave-mode {
          type enumeration {
            enum "warm" {
              value 1;
              description "Warm Mode";
            }
            enum "hot" {
              value 2;
              description "Hot Mode";
            }
          }
          description
            "Subscriber redundancy group slave mode";
        }
    
        typedef Subscriber-redundancy-group-role {
          type enumeration {
            enum "master" {
              value 1;
              description "Master Role";
            }
            enum "slave" {
              value 2;
              description "Slave Role";
            }
          }
          description
            "Subscriber redundancy group role";
        }
    
        typedef Srg-addr-family {
          type enumeration {
            enum "ipv4" {
              value 2;
              description "IPv4";
            }
            enum "ipv6" {
              value 10;
              description "IPv6";
            }
          }
          description "Srg addr family";
        }
    
        container subscriber-redundancy {
          presence
            "Indicates a subscriber-redundancy node is configured.";
          description
            "Subscriber Redundancy configuration";
          container groups {
            description "Table of Group";
            list group {
              key "group-id";
              description
                "Redundancy Group configuration";
              container interface-list {
                presence
                  "Indicates a interface-list node is configured.";
                description
                  "List of Interfaces for this Group";
                container interfaces {
                  description
                    "Table of Interface";
                  list interface {
                    key "interface-name";
                    description
                      "Interface for this Group";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf interface-id {
                      type uint32 {
                        range "1..65535";
                      }
                      mandatory true;
                      description
                        "Interface Id for the interface";
                    }
                  }  // list interface
                }  // container interfaces
    
                container interface-ranges {
                  description
                    "Table of InterfaceRange";
                  list interface-range {
                    key "interface-name sub-interface-range-start sub-interface-range-end";
                    description
                      "Interface for this Group";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    leaf sub-interface-range-start {
                      type uint32 {
                        range "0..2147483647";
                      }
                      description
                        "Sub Interface Start Range";
                    }
    
                    leaf sub-interface-range-end {
                      type uint32 {
                        range "0..2147483647";
                      }
                      description
                        "Sub Interface End Range";
                    }
    
                    leaf interface-id-range-start {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Interface ID Start Range";
                    }
    
                    leaf interface-id-range-end {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Interface ID End Range";
                    }
                  }  // list interface-range
                }  // container interface-ranges
    
                leaf enable {
                  type empty;
                  mandatory true;
                  description
                    "Enable List of Interfaces for this Group.
                   Deletion of this object also causes deletion
                   of all associated objects under InterfaceList
                   .";
                }
              }  // container interface-list
    
              container peer {
                description "None";
                container ipaddress {
                  description
                    "IPv4 or IPv6 Address of SRG Peer";
                  leaf address-family {
                    type Srg-addr-family;
                    description
                      "Type of IPv4/IPv6 address";
                  }
    
                  leaf prefix-string {
                    type inet:ip-address-no-zone;
                    description
                      "IPv4/IPv6 address";
                  }
                }  // container ipaddress
    
                leaf route-add-disable {
                  type empty;
                  description
                    "Set Route add disable";
                }
    
                leaf peer-object {
                  type string;
                  description
                    "Peer to use for this group";
                }
              }  // container peer
    
              container revertive-timer {
                description "None";
                leaf max-value {
                  type uint32 {
                    range "1..65535";
                  }
                  description
                    "Value of MAX Revertive Timer";
                }
    
                leaf value {
                  type uint32 {
                    range "1..65535";
                  }
                  units "minute";
                  description
                    "Value of revertive time in minutes";
                }
              }  // container revertive-timer
    
              container virtual-mac {
                description
                  "Virtual MAC Address for this Group";
                leaf address {
                  type yang:mac-address;
                  description
                    "Virtual MAC Address for this Group";
                }
    
                leaf disable {
                  type empty;
                  description
                    "Disable Virtual MAC Address for this Group";
                }
              }  // container virtual-mac
    
              container state-control-route {
                description "None";
                container ipv4-routes {
                  description
                    "Table of IPv4Route";
                  list ipv4-route {
                    key "vrfname prefix-length prefix-string";
                    description "None";
                    leaf vrfname {
                      type xr:Cisco-ios-xr-string;
                      description "VRF name";
                    }
    
                    leaf prefix-length {
                      type uint32;
                      description
                        "Prefix of the IP Address";
                    }
    
                    leaf prefix-string {
                      type inet:ip-address-no-zone;
                      description
                        "IPv4 address with prefix-length";
                    }
    
                    leaf tagvalue {
                      type uint32 {
                        range "1..4294967295";
                      }
                      description "Tag value";
                    }
    
                    leaf outgoing-intf-name {
                      type xr:Interface-name;
                      description
                        "Outgoing Interface";
                    }
                  }  // list ipv4-route
                }  // container ipv4-routes
    
                container ipv6-route {
                  description "None";
                  container ipv6na-routes {
                    description
                      "Table of IPv6NARoute";
                    list ipv6na-route {
                      key "vrfname prefix-length prefix-string";
                      description "None";
                      leaf vrfname {
                        type xr:Cisco-ios-xr-string;
                        description "VRF name";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix of the IP Address";
                      }
    
                      leaf prefix-string {
                        type inet:ip-address-no-zone;
                        description
                          "IPv6 address with prefix-length";
                      }
    
                      leaf tagvalue {
                        type uint32 {
                          range "1..4294967295";
                        }
                        description "Tag value";
                      }
    
                      leaf outgoing-intf-name {
                        type xr:Interface-name;
                        description
                          "Outgoing Interface";
                      }
                    }  // list ipv6na-route
                  }  // container ipv6na-routes
    
                  container ipv6pd-routes {
                    description
                      "Table of IPv6PDRoute";
                    list ipv6pd-route {
                      key "vrfname prefix-length prefix-string";
                      description "None";
                      leaf vrfname {
                        type xr:Cisco-ios-xr-string;
                        description "VRF name";
                      }
    
                      leaf prefix-length {
                        type uint32;
                        description
                          "Prefix of the IP Address";
                      }
    
                      leaf prefix-string {
                        type inet:ip-address-no-zone;
                        description
                          "IPv6 address with prefix-length";
                      }
    
                      leaf tagvalue {
                        type uint32 {
                          range "1..4294967295";
                        }
                        description "Tag value";
                      }
    
                      leaf outgoing-intf-name {
                        type xr:Interface-name;
                        description
                          "Outgoing Interface";
                      }
                    }  // list ipv6pd-route
                  }  // container ipv6pd-routes
                }  // container ipv6-route
              }  // container state-control-route
    
              leaf disable-tracking-object {
                type empty;
                description
                  "Disable Tracking Object for this Group";
              }
    
              leaf core-tracking-object {
                type string;
                description
                  "Core Tracking Object for this Group";
              }
    
              leaf enable {
                type empty;
                mandatory true;
                description
                  "Enable Redundancy Group configuration.
                 Deletion of this object also causes deletion
                 of all associated objects under Group.";
              }
    
              leaf preferred-role {
                type Subscriber-redundancy-group-role;
                description "Set preferred role";
              }
    
              leaf description {
                type string;
                description
                  "Description for this Group";
              }
    
              leaf l2tp-source-ip-address {
                type inet:ipv4-address-no-zone;
                description
                  "Enter an IP address";
              }
    
              leaf slave-mode {
                type Subscriber-redundancy-group-slave-mode;
                description "Set Slave Mode";
              }
    
              leaf hold-timer {
                type uint32 {
                  range "1..65535";
                }
                units "minute";
                description
                  "Set hold time (in Minutes)";
              }
    
              leaf access-tracking-object {
                type string;
                description
                  "Access Tracking Object for this Group";
              }
    
              leaf enable-fast-switchover {
                type empty;
                description
                  "Enable fast switchover for this Group";
              }
    
              leaf redundancy-disable {
                type empty;
                description "Disable";
              }
    
              leaf group-id {
                type uint32 {
                  range "1..4000";
                }
                description "Group ID";
              }
            }  // list group
          }  // container groups
    
          container revertive-timer {
            description "None";
            leaf max-value {
              type uint32 {
                range "1..65535";
              }
              description
                "Value of MAX Revertive Timer";
            }
    
            leaf value {
              type uint32 {
                range "1..65535";
              }
              units "minute";
              description
                "Value of revertive time in minutes";
            }
          }  // container revertive-timer
    
          container keepalive-timer {
            description "None";
            leaf retry-count {
              type uint32 {
                range "1..100";
              }
              description
                "Keepalive retry count";
            }
    
            leaf interval {
              type uint32 {
                range "3..300";
              }
              units "second";
              description
                "Keepalive interval in seconds";
            }
          }  // container keepalive-timer
    
          container peer-classes {
            description "Table of PeerClass";
            list peer-class {
              key "peer-name";
              description "None";
              leaf peer-name {
                type xr:Cisco-ios-xr-string;
                description "Peer Name";
              }
    
              leaf port-value {
                type uint32 {
                  range "2001..4000";
                }
                description "TCP port";
              }
    
              leaf address-family {
                type Srg-addr-family;
                description
                  "Type of IPv4/IPv6 address for the peer";
              }
    
              leaf prefix-string {
                type inet:ip-address-no-zone;
                description
                  "IPv4/IPv6 address for the peer";
              }
            }  // list peer-class
          }  // container peer-classes
    
          leaf cpe-tracking {
            type empty;
            description "Enable";
          }
    
          leaf enable {
            type empty;
            mandatory true;
            description
              "Enable Subscriber Redundancy configuration.
             Deletion of this object also causes deletion of
             all associated objects under
             SubscriberRedundancy.";
          }
    
          leaf virtual-mac-prefix {
            type yang:mac-address;
            description
              "Virtual MAC Prefix for Subscriber Redundancy";
          }
    
          leaf preferred-role {
            type Subscriber-redundancy-group-role;
            description "Set preferred role";
          }
    
          leaf source-interface {
            type xr:Interface-name;
            description
              "Source Interface for Redundancy Peer
             Communication";
          }
    
          leaf dscp-value {
            type Dscp-value;
            description "Set DSCP Value";
          }
    
          leaf slave-mode {
            type Subscriber-redundancy-group-slave-mode;
            description "Set slave";
          }
    
          leaf hold-timer {
            type uint32 {
              range "1..65535";
            }
            units "minute";
            description
              "Set hold time (in Minutes)";
          }
    
          leaf sync-timer {
            type uint32 {
              range "1..255";
            }
            units "minute";
            description
              "Set sync time (in Minutes)";
          }
    
          leaf hold-timer-default-disable {
            type empty;
            description "Set constant integer";
          }
    
          leaf redundancy-disable {
            type empty;
            description "Disable";
          }
        }  // container subscriber-redundancy
      }  // module Cisco-IOS-XR-subscriber-srg-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.