Cisco-IOS-XR-subscriber-pppoe-ma-gbl-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR subscriber-pppoe-ma-gbl package configuration. This modu...

  • Version: 2019-10-07

    Cisco-IOS-XR-subscriber-pppoe-ma-gbl-cfg@2019-10-07


    
      module Cisco-IOS-XR-subscriber-pppoe-ma-gbl-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-subscriber-pppoe-ma-gbl-cfg";
    
        prefix subscriber-pppoe-ma-gbl-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg {
          prefix a1;
        }
    
        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-pppoe-ma-gbl package configuration.
         
         This module contains definitions
         for the following management objects:
           pppoe-cfg: PPPOE configuration data
         
         This YANG module augments the
           Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg
         module with configuration data.
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-10-07" {
          description
            "Added new cli under bba-group to disconnect existing sessions,if same host-uniq tag padi packet come.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-30" {
          description
            "Ensure propagation of MDA mandatory state to YANG model.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Pppoe-invalid-session-id-behavior {
          type enumeration {
            enum "drop" {
              value 0;
              description
                "Drop packets with an invalid session ID";
            }
            enum "log" {
              value 1;
              description
                "Log packets with an invalid session ID";
            }
          }
          description
            "Pppoe invalid session id behavior";
        }
    
        container pppoe-cfg {
          description "PPPOE configuration data";
          container pppoe-bba-groups {
            description
              "PPPoE BBA-Group configuration data";
            list pppoe-bba-group {
              key "bba-group";
              description
                "PPPoE BBA-Group configuration data";
              container tag {
                description
                  "PPPoE tag configuration data";
                container padr {
                  description "PADR packets";
                  leaf session-unique-relay-session-id {
                    type empty;
                    description
                      "Allow sessions to come up with unique
                     relay-session-id in padr";
                  }
    
                  leaf invalid-payload-allow {
                    type empty;
                    description
                      "Allow sessions to come up with
                     invalid-payload";
                  }
                }  // container padr
    
                container service-name-configureds {
                  description "Service name";
                  list service-name-configured {
                    key "name";
                    description
                      "Service name supported on this group";
                    leaf name {
                      type xr:Cisco-ios-xr-string;
                      description "Service name";
                    }
                  }  // list service-name-configured
                }  // container service-name-configureds
    
                container ppp-max-payload {
                  presence
                    "Indicates a ppp-max-payload node is configured.";
                  description
                    "Minimum and maximum payloads";
                  leaf min {
                    type uint32 {
                      range "500..2000";
                    }
                    mandatory true;
                    description
                      "Minimum payload";
                  }
    
                  leaf max {
                    type uint32 {
                      range "500..2000";
                    }
                    mandatory true;
                    description
                      "Maximum payload";
                  }
                }  // container ppp-max-payload
    
                leaf ppp-max-payload-deny {
                  type empty;
                  description
                    "Ignore the ppp-max-payload tag";
                }
    
                leaf service-selection-disable {
                  type empty;
                  description
                    "Disable advertising of unrequested service
                   names";
                }
    
                leaf ac-name {
                  type string;
                  description
                    "The name to include in the AC tag";
                }
              }  // container tag
    
              container sessions {
                description
                  "PPPoE session configuration data";
                container vlan-throttle {
                  presence
                    "Indicates a vlan-throttle node is configured.";
                  description
                    "Set VLAN (inner + outer tags) session
                   throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container vlan-throttle
    
                container inner-vlan-throttle {
                  presence
                    "Indicates a inner-vlan-throttle node is configured.";
                  description
                    "Set Inner VLAN session throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container inner-vlan-throttle
    
                container remote-id-limit {
                  presence
                    "Indicates a remote-id-limit node is configured.";
                  description
                    "Set Remote ID session limit and threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-Remote ID limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-Remote ID threshold";
                  }
                }  // container remote-id-limit
    
                container mac-iwf-access-interface-throttle {
                  presence
                    "Indicates a mac-iwf-access-interface-throttle node is configured.";
                  description
                    "Set per-MAC/Access interface throttle for IWF
                   sessions";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container mac-iwf-access-interface-throttle
    
                container access-interface-limit {
                  presence
                    "Indicates a access-interface-limit node is configured.";
                  description
                    "Set per-access interface limit";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-access interface session limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-access interface session threshold";
                  }
                }  // container access-interface-limit
    
                container mac-access-interface-throttle {
                  presence
                    "Indicates a mac-access-interface-throttle node is configured.";
                  description
                    "Set per-MAC/Access Interface throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container mac-access-interface-throttle
    
                container outer-vlan-limit {
                  presence
                    "Indicates a outer-vlan-limit node is configured.";
                  description
                    "Set Outer VLAN session limit and threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-Outer VLAN limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-Outer VLAN threshold";
                  }
                }  // container outer-vlan-limit
    
                container circuit-id-throttle {
                  presence
                    "Indicates a circuit-id-throttle node is configured.";
                  description
                    "Set Circuit ID session throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container circuit-id-throttle
    
                container mac-limit {
                  presence
                    "Indicates a mac-limit node is configured.";
                  description
                    "Set per-MAC address session limit and
                   threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-MAC session limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-MAC session threshold";
                  }
                }  // container mac-limit
    
                container circuit-id-limit {
                  presence
                    "Indicates a circuit-id-limit node is configured.";
                  description
                    "Set Circuit ID session limit and threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-Circuit ID limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-Circuit ID threshold";
                  }
                }  // container circuit-id-limit
    
                container mac-iwf-limit {
                  presence
                    "Indicates a mac-iwf-limit node is configured.";
                  description
                    "Set per-MAC session limit and threshold for
                   IWF sessions";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-MAC session limit for IWF sessions";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-MAC session threshold for IWF sessions";
                  }
                }  // container mac-iwf-limit
    
                container mac-iwf-access-interface-limit {
                  presence
                    "Indicates a mac-iwf-access-interface-limit node is configured.";
                  description
                    "Set per-MAC access interface session limit
                   and threshold for IWF sessions";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-MAC access interface session limit for
                     IWF sessions";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-MAC access interface session threshold
                     for IWF sessions";
                  }
                }  // container mac-iwf-access-interface-limit
    
                container inner-vlan-limit {
                  presence
                    "Indicates a inner-vlan-limit node is configured.";
                  description
                    "Set Inner VLAN session limit and threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-Inner VLAN limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-Inner VLAN threshold";
                  }
                }  // container inner-vlan-limit
    
                container outer-vlan-throttle {
                  presence
                    "Indicates a outer-vlan-throttle node is configured.";
                  description
                    "Set Outer VLAN session throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container outer-vlan-throttle
    
                container mac-throttle {
                  presence
                    "Indicates a mac-throttle node is configured.";
                  description
                    "Set per-MAC throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container mac-throttle
    
                container circuit-id-and-remote-id-limit {
                  presence
                    "Indicates a circuit-id-and-remote-id-limit node is configured.";
                  description
                    "Set Circuit ID and Remote ID session
                   limit/threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-Circuit ID limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-Circuit ID threshold";
                  }
                }  // container circuit-id-and-remote-id-limit
    
                container vlan-limit {
                  presence
                    "Indicates a vlan-limit node is configured.";
                  description
                    "Set VLAN (inner + outer tags) session limit
                   and threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-VLAN (inner + outer tags) limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-VLAN (inner + outer tags) threshold";
                  }
                }  // container vlan-limit
    
                container mac-access-interface-limit {
                  presence
                    "Indicates a mac-access-interface-limit node is configured.";
                  description
                    "Set per-MAC access interface session limit
                   and threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-MAC access interface session limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-MAC access interface session threshold";
                  }
                }  // container mac-access-interface-limit
    
                container remote-id-throttle {
                  presence
                    "Indicates a remote-id-throttle node is configured.";
                  description
                    "Set Remote ID session throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container remote-id-throttle
    
                container max-limit {
                  presence
                    "Indicates a max-limit node is configured.";
                  description
                    "Set per-card session limit and threshold";
                  leaf limit {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Per-card session limit";
                  }
    
                  leaf threshold {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Per-card session threshold";
                  }
                }  // container max-limit
    
                container circuit-id-and-remote-id-throttle {
                  presence
                    "Indicates a circuit-id-and-remote-id-throttle node is configured.";
                  description
                    "Set Circuit ID and Remote ID session throttle";
                  leaf throttle {
                    type uint32 {
                      range "1..65535";
                    }
                    mandatory true;
                    description
                      "Number of requests at which to throttle";
                  }
    
                  leaf request-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle request period";
                  }
    
                  leaf blocking-period {
                    type uint32 {
                      range "1..100";
                    }
                    mandatory true;
                    description
                      "Throttle blocking period";
                  }
                }  // container circuit-id-and-remote-id-throttle
              }  // container sessions
    
              container control-packets {
                description
                  "PPPoE control-packet configuration data";
                leaf priority {
                  type uint32 {
                    range "0..7";
                  }
                  description
                    "Set the Priority to use for PPP and PPPoE
                   control packets";
                }
              }  // container control-packets
    
              container pa-do-delay {
                presence
                  "Indicates a pa-do-delay node is configured.";
                description
                  "PPPoE PADO delay configuration data";
                container remote-id-substrings {
                  description
                    "Delay the PADO response when the received
                   Remote ID contains the given string";
                  list remote-id-substring {
                    key "name";
                    description
                      "Delay the PADO response when the received
                     Remote ID contains the given string";
                    leaf name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "The string to be contained within the
                       received Remote ID";
                    }
    
                    leaf delay {
                      type uint32 {
                        range "0..10000";
                      }
                      units "millisecond";
                      mandatory true;
                      description
                        "PADO delay (in milliseconds)";
                    }
                  }  // list remote-id-substring
                }  // container remote-id-substrings
    
                container remote-id-strings {
                  description
                    "Delay the PADO response when there is an
                   exact match on the received Remote ID";
                  list remote-id-string {
                    key "name";
                    description
                      "Delay the PADO response when there is an
                     exact match on the received Remote ID";
                    leaf name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "The string to exactly match the received
                       Remote ID";
                    }
    
                    leaf delay {
                      type uint32 {
                        range "0..10000";
                      }
                      units "millisecond";
                      mandatory true;
                      description
                        "PADO delay (in milliseconds)";
                    }
                  }  // list remote-id-string
                }  // container remote-id-strings
    
                container service-name-strings {
                  description
                    "Delay the PADO response when there is an
                   exact match on the received Service Name";
                  list service-name-string {
                    key "name";
                    description
                      "Delay the PADO response when there is an
                     exact match on the received Service Name";
                    leaf name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "The string to exactly match the received
                       Service Name";
                    }
    
                    leaf delay {
                      type uint32 {
                        range "0..10000";
                      }
                      units "millisecond";
                      mandatory true;
                      description
                        "PADO delay (in milliseconds)";
                    }
                  }  // list service-name-string
                }  // container service-name-strings
    
                container circuit-id-substrings {
                  description
                    "Delay the PADO response when the received
                   Circuit ID contains the given string";
                  list circuit-id-substring {
                    key "name";
                    description
                      "Delay the PADO response when the received
                     Circuit ID contains the given string";
                    leaf name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "The string to be contained within the
                       received Circuit ID";
                    }
    
                    leaf delay {
                      type uint32 {
                        range "0..10000";
                      }
                      units "millisecond";
                      mandatory true;
                      description
                        "PADO delay (in milliseconds)";
                    }
                  }  // list circuit-id-substring
                }  // container circuit-id-substrings
    
                container service-name-substrings {
                  description
                    "Delay the PADO response when the received
                   Service Name contains the given string";
                  list service-name-substring {
                    key "name";
                    description
                      "Delay the PADO response when the received
                     Service Name contains the given string";
                    leaf name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "The string to be contained within the
                       received Service Name";
                    }
    
                    leaf delay {
                      type uint32 {
                        range "0..10000";
                      }
                      units "millisecond";
                      mandatory true;
                      description
                        "PADO delay (in milliseconds)";
                    }
                  }  // list service-name-substring
                }  // container service-name-substrings
    
                container circuit-id-strings {
                  description
                    "Delay the PADO response when there is an
                   exact match on the received Circuit ID";
                  list circuit-id-string {
                    key "name";
                    description
                      "Delay the PADO response when there is an
                     exact match on the received Circuit ID";
                    leaf name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "The string to exactly match the received
                       Circuit ID";
                    }
    
                    leaf delay {
                      type uint32 {
                        range "0..10000";
                      }
                      units "millisecond";
                      mandatory true;
                      description
                        "PADO delay (in milliseconds)";
                    }
                  }  // list circuit-id-string
                }  // container circuit-id-strings
    
                leaf default {
                  type uint32 {
                    range "0..10000";
                  }
                  units "millisecond";
                  mandatory true;
                  description
                    "PADO delay (in milliseconds)";
                }
    
                leaf circuit-id {
                  type uint32 {
                    range "0..10000";
                  }
                  units "millisecond";
                  description
                    "Configure PADO delay dependent on the
                   received Circuit ID";
                }
    
                leaf remote-id {
                  type uint32 {
                    range "0..10000";
                  }
                  units "millisecond";
                  description
                    "Configure PADO delay dependent on the
                   received Remote ID";
                }
              }  // container pa-do-delay
    
              leaf enable-renegotiate-on-padi {
                type empty;
                description
                  "Disconnect on padi with same host_uniq";
              }
    
              leaf completion-timeout {
                type uint32 {
                  range "30..600";
                }
                description
                  "PPPoE session completion timeout";
              }
    
              leaf invalid-session-id {
                type Pppoe-invalid-session-id-behavior;
                description
                  "Invalid session-ID behavior";
              }
    
              leaf enable-padt-after-shut-down {
                type empty;
                description
                  "Enable padt after shutdown";
              }
    
              leaf mtu {
                type uint32 {
                  range "500..2000";
                }
                description "PPPoE default MTU";
              }
    
              leaf bba-group {
                type xr:Cisco-ios-xr-string;
                description "BBA-Group name";
              }
            }  // list pppoe-bba-group
          }  // container pppoe-bba-groups
    
          leaf session-id-space-flat {
            type empty;
            description
              "Disable per-parent session ID spaces";
          }
    
          leaf in-flight-window {
            type uint32 {
              range "1..20000";
            }
            description
              "Set the PPPoE in-flight window size";
          }
        }  // container pppoe-cfg
      }  // module Cisco-IOS-XR-subscriber-pppoe-ma-gbl-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.