huawei-bras-vas

Bras-vas.

  • Version: 2020-03-12

    huawei-bras-vas@2020-03-12


    
      module huawei-bras-vas {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-bras-vas";
    
        prefix bras-vas;
    
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-aaa {
          prefix aaa;
        }
        import huawei-radius {
          prefix radius;
        }
        import huawei-qos {
          prefix qos;
        }
        import huawei-bras-basic-access {
          prefix bras-basic-access;
        }
        import huawei-devm {
          prefix devm;
        }
    
        organization
          "Huawei Technologies Co., Ltd.";
    
        contact
          "Huawei Industrial Base
    Bantian, Longgang
    Shenzhen 518129
    People's Republic of China
    Website: http://www.huawei.com
    Email: support@huawei.com";
    
        description "Bras-vas.";
    
        revision "2020-03-12" {
          description "Modify description.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-03-15" {
          description "Init revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "vas";
    
        typedef bras-vas-flow-queue-type {
          type enumeration {
            enum "be" {
              value 0;
              description "Service type BE.";
            }
            enum "af1" {
              value 1;
              description "Service type AF1.";
            }
            enum "af2" {
              value 2;
              description "Service type AF2.";
            }
            enum "af3" {
              value 3;
              description "Service type AF3.";
            }
            enum "af4" {
              value 4;
              description "Service type AF4.";
            }
            enum "ef" {
              value 5;
              description "Service type EF.";
            }
            enum "cs6" {
              value 6;
              description "Service type CS6.";
            }
            enum "cs7" {
              value 7;
              description "Service type CS7.";
            }
          }
          description "Type of flow queue.";
        }
    
        typedef bras-vas-service-source {
          type enumeration {
            enum "authentication-ack" {
              value 1;
              description "Authentication ack.";
            }
            enum "radius" {
              value 2;
              description "Radius.";
            }
            enum "diameter" {
              value 3;
              description "Diameter.";
            }
            enum "rui" {
              value 4;
              description "Rui.";
            }
          }
          description
            "Status of the EDSG accounting copy function.";
        }
    
        typedef bras-vas-method-type {
          type enumeration {
            enum "local" {
              value 1;
              description "Local.";
            }
            enum "none" {
              value 2;
              description "None.";
            }
            enum "radius" {
              value 3;
              description "Radius.";
            }
            enum "cops" {
              value 4;
              description "Cops.";
            }
            enum "diameter" {
              value 5;
              description "Diameter.";
            }
          }
          description "Method type.";
        }
    
        typedef bras-vas-service-substate {
          type enumeration {
            enum "policy-downloading" {
              value 0;
              description "Policy downloading.";
            }
            enum "authenticating" {
              value 1;
              description "Authenticating.";
            }
            enum "prepaid-initializing" {
              value 2;
              description
                "Prepaid initializing.";
            }
            enum "start-accounting" {
              value 3;
              description "Start accounting.";
            }
            enum "accounting" {
              value 4;
              description "Accounting.";
            }
            enum "ready" {
              value 5;
              description "Ready.";
            }
            enum "flow-query" {
              value 6;
              description "Flow query.";
            }
            enum "policy-unloading" {
              value 7;
              description "Policy unloading.";
            }
            enum "stop-accounting" {
              value 8;
              description "Stop accounting.";
            }
          }
          description
            "Service traffic statistics type. The default value is IPv4. This parameter can be set to IPv6.";
        }
    
        typedef bras-vas-rate-limit-mode {
          type enumeration {
            enum "user-queue" {
              value 0;
              description
                "The rate limit mode is user queue.";
            }
            enum "car" {
              value 1;
              description
                "The rate limit mode is CAR.";
            }
          }
          description
            "Sets a rate limit mode for EDSG service traffic.";
        }
    
        typedef bras-vas-out-rate-limit-mode {
          type enumeration {
            enum "user-queue" {
              value 1;
              description
                "The rate limit mode is user queue.";
            }
            enum "car" {
              value 0;
              description
                "The rate limit mode is CAR.";
            }
          }
          description
            "Sets a rate limit mode for EDSG service traffic.";
        }
    
        typedef bras-vas-service-ip-type {
          type enumeration {
            enum "ipv4" {
              value 0;
              description "IPv4.";
            }
            enum "ipv6" {
              value 1;
              description "IPv6.";
            }
          }
          description "Service ip type.";
        }
    
        typedef bras-vas-policy-type {
          type enumeration {
            enum "daa" {
              value 1;
              description "Daa policy.";
            }
            enum "bod" {
              value 2;
              description "Bod policy.";
            }
          }
          description "Vas policy type.";
        }
    
        typedef bras-vas-online-offline-type {
          type enumeration {
            enum "offline" {
              value 0;
              description "Type of offline.";
            }
            enum "online" {
              value 1;
              description "Type of online.";
            }
          }
          description "Online or offline.";
        }
    
        typedef bras-vas-quota-out-online-offline-type {
          type enumeration {
            enum "offline" {
              value 1;
              description "Type of offline.";
            }
            enum "online" {
              value 0;
              description "Type of online.";
            }
          }
          description "Online or offline.";
        }
    
        typedef flowqueue-direction-type {
          type enumeration {
            enum "inbound" {
              value 1;
              description
                "Specifies inbound direction of reporting dropped SQ traffic.";
            }
            enum "outbound" {
              value 2;
              description
                "Specifies outbound direction of reporting dropped SQ traffic.";
            }
            enum "both" {
              value 3;
              description
                "Specifies inbound and outbound direction of reporting dropped SQ traffic.";
            }
          }
          description
            "Report dropped flowqueue direction type.";
        }
    
        container bras-vas {
          description
            "Bras value-added services.";
          container global {
            description
              "Configure value-added-service.";
            container value-added-service {
              description
                "Configure value-added-service enable list.";
              leaf enable {
                type boolean;
                default "false";
                description
                  "Enable/disable value-added-service.";
              }
            }  // container value-added-service
    
            container account-individual {
              description
                "Configure account individual.";
              leaf enable {
                type boolean;
                default "false";
                description
                  "Enable/disable account individual.";
              }
            }  // container account-individual
    
            container policy-name-case-sensitive {
              description
                "Configure service policy name case sensitive.";
              leaf enable {
                type boolean;
                default "false";
                description
                  "Enable/disable service policy name case sensitive.";
              }
            }  // container policy-name-case-sensitive
    
            container quota-out {
              description
                "Configure the Quota type.";
              leaf quota-type {
                type bras-vas-quota-out-online-offline-type;
                default "online";
                description "Quota type.";
              }
    
              leaf diameter-link-down {
                type bras-vas-quota-out-online-offline-type;
                default "online";
                description
                  "Quota type of diameter link down.";
              }
            }  // container quota-out
    
            container daa-resource-insufficient {
              description
                "Configure Resource Application Failures Policy.";
              leaf type {
                type enumeration {
                  enum "online" {
                    value 0;
                    description
                      "By default, DAA users remain online after they fail to apply for resources.";
                  }
                  enum "inbound-offline" {
                    value 1;
                    description
                      "Log out DAA users who fail to apply for upstream resources.";
                  }
                  enum "outbound-offline" {
                    value 2;
                    description
                      "Log out DAA users who fail to apply for downstream resources.";
                  }
                  enum
                    "inbound-or-outbound-offline" {
                    value 3;
                    description
                      "Log out DAA users who fail to apply for upstream or downstream resources.";
                  }
                  enum "both-offline" {
                    value 4;
                    description
                      "Log out DAA users who fail to apply for both upstream and downstream resources.";
                  }
                }
                default "online";
                description
                  "Policy Upon Resource Application Failures.";
              }
            }  // container daa-resource-insufficient
    
            container edsg-queue {
              description
                "Configure delayed EDSG user activation.";
              leaf enable {
                type boolean;
                default "false";
                description
                  "Enable/disable a device to adjust the access rate of users who go online by configuring the edsg service to enter the activation queue and suspend the activation.";
              }
            }  // container edsg-queue
    
            container edsg-run-info {
              config false;
              description
                "Statistics of the global service policy configuration.";
              leaf edsg-run-service-number {
                type uint32;
                config false;
                description
                  "Number of EDSG resources that are in use, this item is displayed only if the EDSG function license is deactivated.";
              }
            }  // container edsg-run-info
    
            container edsg-centralized-ds-lite {
              description
                "Configure value-added services on the centralized DS-Lite device.";
              leaf enable {
                type boolean;
                default "false";
                description
                  "Enable/disable the function of matching EDSG services based on inner IPv4 packets.";
              }
            }  // container edsg-centralized-ds-lite
    
            container daa-report-dropped-flow {
              description
                "Configure the function to report DAA users whose packets are dropped.";
              leaf enable {
                type boolean;
                default "false";
                description
                  "Enable/disable the function to report DAA users whose packets are dropped.";
              }
            }  // container daa-report-dropped-flow
          }  // container global
    
          container vas-policys {
            description
              "List of the vas Policy.";
            list vas-policy {
              key "name";
              description
                "Configure a vas policy.";
              leaf name {
                ext:case-sensitivity "lower-only";
                type string {
                  length "1..63";
                  pattern '[!-~]{1,63}';
                  pattern
                    '([^A-Z"%'*/:<>\?@|]{1,63})';
                }
                must
                  "../name != '-' and ../name != '--'";
                description "Vas policy name.";
              }
    
              leaf type {
                ext:operation-exclude "update";
                type bras-vas-policy-type;
                mandatory true;
                description "Vas policy type.";
              }
    
              container qos-profile {
                when "../type='bod'";
                description
                  "Configure qos profile.";
                leaf name {
                  type leafref {
                    path "/qos:qos/qos:queue-scheduler-template/qos:profiles/qos:profile/qos:name";
                  }
                  must
                    "/qos:qos/qos:queue-scheduler-template/qos:profiles/qos:profile[qos:name=current()]/qos:mode='normal'";
                  description
                    "Name of qos profile.";
                }
              }  // container qos-profile
    
              container accounting-scheme {
                description
                  "Configure accounting scheme.";
                leaf name {
                  type leafref {
                    path "/aaa:aaa/aaa:accounting-schemes/aaa:accounting-scheme/aaa:acct-scheme-name";
                  }
                  default "default1";
                  description
                    "Name of accounting scheme.";
                }
              }  // container accounting-scheme
    
              container daa-service-enable {
                when "not(../type='bod')";
                description
                  "Configure daa service.";
                leaf user-accounting-together {
                  type boolean;
                  default "false";
                  description
                    "Enable/disable the DAA service traffic counts into user traffic.";
                }
    
                leaf traffic-separate {
                  type boolean;
                  default "false";
                  description
                    "Enable/disable the DAA service separate function.";
                }
    
                leaf tariff-queue-mapping {
                  type boolean;
                  default "false";
                  description
                    "Enable/disable priority scheduling based on tariff levels.";
                }
    
                leaf accounting-together {
                  type boolean;
                  default "false";
                  description
                    "Enable/disable uniform accounting for DAA services.";
                }
              }  // container daa-service-enable
    
              container dual-stack-accounting-mode {
                when "../type='daa'";
                description
                  "Configure separate traffic statistics mode for dual-stack daa users.";
                leaf user-queue-separate {
                  type boolean;
                  default "false";
                  description
                    "Enable/disable the DAA service separate traffic statistics for dual-stack based on user queues.";
                }
              }  // container dual-stack-accounting-mode
    
              container bind-user-group {
                description
                  "Configure an ACL user group to a value-added service policy.";
                leaf name {
                  type leafref {
                    path "/bras-basic-access:bras-basic-access/bras-basic-access:user-groups/bras-basic-access:user-group/bras-basic-access:name";
                  }
                  description
                    "Specifies the name of a user group, and the user group must not be added to a user group list or a domain without binding nat instance.";
                }
              }  // container bind-user-group
    
              container bind-tariff-levels {
                when "../type='daa'";
                description
                  "List of the tariff level for DAA accounting.";
                list bind-tariff-level {
                  key "tariff-level";
                  description
                    "Configure a tariff level for DAA accounting.";
                  leaf tariff-level {
                    type uint8 {
                      range "1..8";
                    }
                    description
                      "Tariff level for DAA accounting.";
                  }
    
                  leaf qos-profile-name {
                    type leafref {
                      path "/qos:qos/qos:queue-scheduler-template/qos:profiles/qos:profile/qos:name";
                    }
                    must
                      "/qos:qos/qos:queue-scheduler-template/qos:profiles/qos:profile[qos:name=current()]/qos:mode='normal'";
                    mandatory true;
                    description
                      "Specifies the name of a bound QoS profile.";
                  }
                }  // list bind-tariff-level
              }  // container bind-tariff-levels
    
              container tariff-level-accountings {
                when "../type='daa'";
                description
                  "List of the accounting status or IP type for a DAA tariff level.";
                list tariff-level-accounting {
                  must
                    "./accounting-off = 'true' or ./ip-type-ipv6 = 'true'";
                  key "level";
                  description
                    "Configure the accounting status or IP type for a DAA tariff level.";
                  leaf level {
                    type uint8 {
                      range "1..8";
                    }
                    description
                      "Specifies a DAA tariff level.";
                  }
    
                  leaf accounting-off {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable the accounting status of a DAA tariff level as disabled.";
                  }
    
                  leaf ip-type-ipv6 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable an IP type for a DAA tariff level as IPv6.";
                  }
                }  // list tariff-level-accounting
              }  // container tariff-level-accountings
    
              container user-traffic-statistic {
                when "../type='daa'";
                description
                  "Configure the statistics mode for user traffic. After CAR is performed on a DAA service flow, packets in the DAA service flow are re-marked with different priorities and are scheduled into SQs. In SQ-based traffic statistics, however, DAA traffic and non-DAA traffic are not differentiated. Specify the FQs of which traffic statistics are collected as user traffic statistics.";
                container inbound {
                  description
                    "Configure the statistics mode for user traffic when SQ scheduling is applied to DAA services.";
                  leaf cs7 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is CS7.";
                  }
    
                  leaf cs6 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is CS6.";
                  }
    
                  leaf ef {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is EF.";
                  }
    
                  leaf af4 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF4.";
                  }
    
                  leaf af3 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF3.";
                  }
    
                  leaf af2 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF2.";
                  }
    
                  leaf af1 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF1.";
                  }
    
                  leaf be {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is BE.";
                  }
                }  // container inbound
    
                container outbound {
                  description
                    "Configure the statistics mode for user traffic when SQ scheduling is applied to DAA services.";
                  leaf cs7 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is CS7.";
                  }
    
                  leaf cs6 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is CS6.";
                  }
    
                  leaf ef {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is EF.";
                  }
    
                  leaf af4 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF4.";
                  }
    
                  leaf af3 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF3.";
                  }
    
                  leaf af2 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF2.";
                  }
    
                  leaf af1 {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is AF1.";
                  }
    
                  leaf be {
                    type boolean;
                    default "false";
                    description
                      "Enable/disable a service class is BE.";
                  }
                }  // container outbound
              }  // container user-traffic-statistic
    
              container accounting-service-policy {
                when "../type='daa'";
                description
                  "Configure user traffic from to match a DAA service policy.";
                leaf inbound {
                  type enumeration {
                    enum "disable" {
                      value 0;
                      description
                        "Disables user traffic from matching a DAA service policy.";
                    }
                    enum "enable" {
                      value 1;
                      description
                        "Enables user traffic from to match a DAA service policy.";
                    }
                    enum "auto" {
                      value 2;
                      description
                        "Automatically matches user traffic with a DAA service policy.";
                    }
                  }
                  default "enable";
                  description
                    "Upstream user traffic.";
                }
    
                leaf outbound {
                  type enumeration {
                    enum "disable" {
                      value 0;
                      description
                        "Disables user traffic from matching a DAA service policy.";
                    }
                    enum "enable" {
                      value 1;
                      description
                        "Enables user traffic from to match a DAA service policy.";
                    }
                    enum "auto" {
                      value 2;
                      description
                        "Automatically matches user traffic with a DAA service policy.";
                    }
                  }
                  default "enable";
                  description
                    "Downstream user traffic.";
                }
              }  // container accounting-service-policy
    
              container rate-limit-mode {
                when "../type='daa'";
                description
                  "Configure a QoS rate limit mode for downstream DAA services on a board with the eTM subcard installed.";
                leaf outbond {
                  type bras-vas-out-rate-limit-mode;
                  description
                    "QoS Rate Limit Mode.";
                }
              }  // container rate-limit-mode
    
              container user-group-bind-nats {
                when "../type='daa'";
                description
                  "List of NAT instances with a user group in a value-added-service policy.";
                list user-group-bind-nat {
                  key "user-group-name";
                  max-elements 8;
                  description
                    "Configure NAT instances with a user group in a value-added-service policy.";
                  leaf user-group-name {
                    type leafref {
                      path "/bras-basic-access:bras-basic-access/bras-basic-access:user-groups/bras-basic-access:user-group/bras-basic-access:name";
                    }
                    must
                      "../../../bind-user-group/name != ../user-group-name";
                    must
                      "count(/bras-basic-access:bras-basic-access/bras-basic-access:user-group-lists/bras-basic-access:user-group-list/bras-basic-access:user-groups/bras-basic-access:user-group[bras-basic-access:name=current()])=0";
                    description
                      "Specifies the name of a user group, and the user group must not be added to a user group list or a domain without binding nat instance.";
                  }
    
                  leaf nat-instance-name {
                    type string {
                      length "1..31";
                    }
                    mandatory true;
                    description
                      "Specifies the name of a NAT instance.";
                  }
                }  // list user-group-bind-nat
              }  // container user-group-bind-nats
    
              container policy-info {
                config false;
                description
                  "Statistics of a specified DAA or BOD value-added service policy.";
                leaf used-number {
                  type uint32 {
                    range "0..4294967295";
                  }
                  config false;
                  description
                    "Number of services that reference a value-added service policy.";
                }
    
                leaf user-number {
                  type uint32 {
                    range "0..4294967295";
                  }
                  config false;
                  description
                    "Number of users for whom a value-added service policy is used.";
                }
              }  // container policy-info
            }  // list vas-policy
          }  // container vas-policys
    
          container hw-policy-name-attribute {
            description
              "Configure the HW-Policy-Name attribute to carry the EDSG service policy name.";
            leaf support-edsg {
              type boolean;
              default "false";
              description
                "Enable/disable the HW-Policy-Name attribute to carry the EDSG service policy name.";
            }
          }  // container hw-policy-name-attribute
    
          container accounting-merge-cache {
            description
              "Configure a post-merging accounting packet that fails to be sent for value-added services to enter the accounting packet cache. By default, a post-merging accounting packet that fails to be sent for value-added services is disabled from entering the accounting packet cache.";
            leaf enable {
              type boolean;
              default "false";
              description
                "Enable/disable a post-merging accounting packet that fails to be sent for value-added services to enter the accounting packet cache.";
            }
          }  // container accounting-merge-cache
    
          container bod-portal-reserved {
            description
              "Configure portal reserved when the type of value added service is bod.";
            leaf enable {
              type boolean;
              default "false";
              description
                "Enable/disable portal reserved when the type of value added service is bod.";
            }
          }  // container bod-portal-reserved
    
          container service-policy-download {
            presence "service-policy-download.";
            description
              "Configure a mode in which an EDSG service policy is obtained.";
            leaf download-type {
              type enumeration {
                enum "local" {
                  value 0;
                  description
                    "Local configuration.";
                }
                enum "radius" {
                  value 1;
                  description
                    "Download from an RADIUS server.";
                }
                enum "local-radius" {
                  value 2;
                  description
                    "First from the local configuration and then from an RADIUS server.";
                }
                enum "radius-local" {
                  value 3;
                  description
                    "First from an RADIUS server and then from the local configuration.";
                }
              }
              default "local";
              description
                "Sets a mode in which an EDSG service policy is obtained.";
            }
    
            leaf radius-server-group-name {
              when
                "../download-type ='radius' or ../download-type ='local-radius' or ../download-type ='radius-local'";
              type leafref {
                path "/radius:radius/radius:radius-server-groups/radius:radius-server-group/radius:name";
              }
              mandatory true;
              description
                "Specifies the name of a RADIUS server group.";
            }
    
            leaf password {
              when
                "../download-type ='radius' or ../download-type ='local-radius' or ../download-type ='radius-local'";
              type pub-type:password-extend {
                length "1..128";
              }
              mandatory true;
              description
                "Specifies an unencrypted/encrypted password.";
            }
          }  // container service-policy-download
    
          container service-groups {
            description
              "List of the service group.";
            list service-group {
              key "name";
              max-elements 4096;
              description
                "Configure a service group.";
              leaf name {
                type string {
                  length "1..31";
                }
                must
                  "../name!='a' and ../name!='an' and ../name!='any'";
                description
                  "Service group name.";
              }
    
              container service-group-status {
                config false;
                description
                  "Operational state of service-group.";
                leaf is-used {
                  type enumeration {
                    enum "no" {
                      value 0;
                      description
                        "The service-group is unused.";
                    }
                    enum "yes" {
                      value 1;
                      description
                        "The service-group is used.";
                    }
                  }
                  config false;
                  description
                    "Whether the service-group is used or not.";
                }
    
                leaf group-type {
                  type string {
                    length "1..19";
                  }
                  config false;
                  description
                    "The type of service-group.";
                }
              }  // container service-group-status
            }  // list service-group
          }  // container service-groups
    
          container coa-hw-policy-name {
            description
              "Configure DAA or EDSG service templates delivered by the RADIUS server through Huawei proprietary attributes in COA messages.";
            leaf daa-same-policy-reply-ack {
              type boolean;
              default "false";
              description
                "Enable/disable a device to reply with an ACK message when the RADIUS server uses a COA message's HW-Policy-Name (26-95) attribute to deliver the same DAA service policy as that configured on the device in uniform accounting scenarios.";
            }
    
            leaf daa-coexist-with-user {
              type boolean;
              default "false";
              description
                "Enable/disable the user attributes also to take effect if ehty are delivered with a DAA template in the HW-Policy-Name (26-95) attribute through the same COA message which may also carry other DAA service attributes.";
            }
          }  // container coa-hw-policy-name
    
          container prepaid-profiles {
            description
              "List of the prepaid service templates.";
            list prepaid-profile {
              key "name";
              max-elements 1024;
              description
                "Configure a prepaid service template.";
              leaf name {
                ext:case-sensitivity "lower-only";
                type string {
                  length "1..31";
                  pattern '[a-z0-9._-]{1,31}';
                }
                must
                  "../name != '-' and ../name != '--'";
                description
                  "Specifies the name of a prepaid service template.";
              }
    
              container accounting-scheme {
                description
                  "Configure the accounting scheme for the current pre-paid profile. The scheme must be a configured accounting scheme.";
                leaf name {
                  type leafref {
                    path "/aaa:aaa/aaa:accounting-schemes/aaa:accounting-scheme/aaa:acct-scheme-name";
                  }
                  default "default1";
                  description
                    "Specifies the name of the accounting scheme adopted by the pre-paid profile.";
                }
              }  // container accounting-scheme
    
              container authen-scheme {
                description
                  "Configure the authentication scheme for the current pre-paid profile. The scheme must be a configured authentication scheme.";
                leaf name {
                  type leafref {
                    path "/aaa:aaa/aaa:authentication-schemes/aaa:authentication-scheme/aaa:authen-scheme-name";
                  }
                  default "default1";
                  description
                    "Specifies the name of the authentication scheme.";
                }
              }  // container authen-scheme
    
              container password {
                description
                  "Configure the password used for the quotas application sent to the server by the prepaid services.";
                leaf password {
                  type pub-type:password-extend {
                    length "1..128";
                  }
                  description
                    "The password is a string ranging from 1 to 16 characters for a simple password and 1 to 128 characters for a ciphertext password.";
                }
              }  // container password
    
              container threshold {
                description
                  "Configure the threshold that determines when the pre-paid service sends the application for quotas.";
                leaf time-value {
                  type uint32;
                  units "s";
                  default "0";
                  description
                    "Uses a certain period of time as the threshold.";
                }
    
                leaf volume-value {
                  type uint32;
                  default "0";
                  description
                    "Uses a certain quantity of volume as the threshold.";
                }
    
                leaf volume-unit {
                  type enumeration {
                    enum "bytes" {
                      value 1;
                      description
                        "The unit is bytes.";
                    }
                    enum "kbytes" {
                      value 2;
                      description
                        "The unit is kbytes.";
                    }
                    enum "mbytes" {
                      value 3;
                      description
                        "The unit is mbytes.";
                    }
                  }
                  default "bytes";
                  description
                    "Unit of the volume.";
                }
              }  // container threshold
    
              container service-volume-quota-apply {
                description
                  "Configure the traffic direction to which the EDSG service quota applies.";
                leaf direction {
                  type enumeration {
                    enum "both" {
                      value 0;
                      description
                        "The direction is both inbound and outbound.";
                    }
                    enum "inbound" {
                      value 1;
                      description
                        "The direction is inbound.";
                    }
                    enum "outbound" {
                      value 2;
                      description
                        "The direction is outbound.";
                    }
                  }
                  default "both";
                  description
                    "The direction of volume Apply.";
                }
              }  // container service-volume-quota-apply
    
              container profile-info {
                config false;
                description
                  "Operational state of prepaid profile.";
                leaf reference-count {
                  type uint32;
                  config false;
                  description
                    "Number of times that a prepaid profile is referenced by service instances.";
                }
              }  // container profile-info
    
              container radius-server-group {
                description
                  "Configure the RADIUS server group for prepaid profile.";
                leaf name {
                  type leafref {
                    path "/radius:radius/radius:radius-server-groups/radius:radius-server-group/radius:name";
                  }
                  description
                    "Specifies the name of the RADIUS server group.";
                }
              }  // container radius-server-group
            }  // list prepaid-profile
          }  // container prepaid-profiles
    
          container edsg-accounting-interim {
            description
              "Configure a device to send a real-time accounting packet carrying the HW-Acct-Update-Address (26-159) attribute with a value of 1 for EDSG services when the user address changes. By default, when the user address changes, a device does not send a real-time accounting packet carrying the HW-Acct-Update-Address (26-159) attribute with a value of 1 for EDSG services.";
            leaf send-update-user-ip-enable {
              type boolean;
              default "false";
              description
                "Enable/disable a device to send a real-time accounting packet carrying the HW-Acct-Update-Address (26-159) attribute with a value of 1 for EDSG services when the user address changes.";
            }
          }  // container edsg-accounting-interim
    
          container edsg-coexist-attribute {
            description
              "Configure a specified attribute to take effect upon delivery in EDSG service scenarios.";
            leaf filter-id {
              type boolean;
              default "false";
              description
                "Enable/disable the attribute of filter-id.";
            }
    
            leaf traffic-policy {
              type boolean;
              default "false";
              description
                "Enable/disable the attribute of traffic-Policy.";
            }
    
            leaf hw-data-filter {
              type boolean;
              default "false";
              description
                "Enable/disable the attribute of HW-Data-Filter.";
            }
    
            leaf class {
              type boolean;
              default "false";
              description
                "Enable/disable the attribute of class.";
            }
          }  // container edsg-coexist-attribute
    
          container service-record {
            description
              "Configure the service activation failure or deactivation record.";
            leaf active-fail {
              type boolean;
              default "true";
              description
                "Enable/disable the service activation failure record function.";
            }
    
            leaf deactive {
              type boolean;
              default "true";
              description
                "Enable/disable the service deactivation record function.";
            }
          }  // container service-record
    
          container traffic-policy {
            description
              "Configure a DAA traffic policy globally.";
            leaf name {
              type leafref {
                path "/qos:qos/qos:classifier-template/qos:traffic-policys/qos:traffic-policy/qos:name";
              }
              description
                "Specifies the name of a DAA traffic policy.";
            }
          }  // container traffic-policy
    
          container policy-cache-update-interval {
            description
              "Configure an interval at which the downloaded EDSG service policy template is updated.";
            leaf interval {
              type uint16 {
                range "5..65535";
              }
              units "min";
              description
                "Specifies the interval at which the downloaded EDSG service policy template is updated.";
            }
          }  // container policy-cache-update-interval
    
          container service-no-server-policy {
            description
              "Configure an activation policy for RADIUS servers when an EDSG service policy is not bound to any RADIUS server group.";
            leaf server-activation-mode {
              type bras-vas-online-offline-type;
              default "offline";
              description
                "Configures an activation policy for RADIUS servers when an EDSG service policy is not bound to any RADIUS server group.";
            }
          }  // container service-no-server-policy
    
          container tariff-queue-mapping {
            ext:generated-by "system";
            presence "Tariff queue mapping.";
            description
              "Configure the queue scheduling can be performed on different value-added services to ensure that services with higher priorities are forwarded first. It is used to configure the mapping relationship between tariff levels of DAA and flow queues.";
            leaf-list tariff-level {
              ext:generated-by "system";
              type bras-vas-flow-queue-type;
              min-elements 8;
              max-elements 8;
              ordered-by user;
              description
                "Configure a packet type.";
            }
          }  // container tariff-queue-mapping
    
          container service-policys {
            description
              "List of the value-added service policy templates.";
            list service-policy {
              key "name";
              max-elements 4096;
              description
                "Configure a value-added service policy template.";
              leaf name {
                type string {
                  length "1..64";
                  pattern '[a-zA-Z0-9._-]{1,64}';
                }
                must
                  "../name != '-' and ../name != '--'";
                description
                  "Specify the name of a value-added service policy. When the node of policy-name-case-sensitive is enabled, the service policy name is case-sensitive. When the node of policy-name-case-sensitive is disabled, the service policy name cannot contain uppercase letters.";
              }
    
              leaf mode {
                ext:operation-exclude "update";
                type enumeration {
                  enum "edsg" {
                    value 0;
                    description
                      "Indicates an enhanced dynamic service gateway (EDSG) service policy.";
                  }
                  enum "portal" {
                    value 1;
                    description
                      "Indicates a portal service policy.";
                  }
                  enum "mirror" {
                    value 4;
                    description
                      "Indicates a mirror service policy.";
                  }
                }
                mandatory true;
                description
                  "Indicates a service policy. This leaf cannot be modified. If you need to modify it, delete the policy and then create a new type of policy.";
              }
    
              container service-group {
                presence "Service-group.";
                description
                  "Configure a service group for a service policy.";
                leaf group-name {
                  type leafref {
                    path "../../../../service-groups/service-group/name";
                  }
                  mandatory true;
                  description
                    "Specifies the name of a service group.";
                }
    
                leaf direction {
                  when "../../mode='edsg'";
                  type enumeration {
                    enum "inbound" {
                      value 1;
                      description "Inbound.";
                    }
                    enum "outbound" {
                      value 2;
                      description "Outbound.";
                    }
                    enum "both" {
                      value 3;
                      description "Both.";
                    }
                  }
                  default "both";
                  description
                    "Indicates the direction for a service group.";
                }
    
                leaf priority {
                  when "../../mode='edsg'";
                  type uint32 {
                    range "0..1000";
                  }
                  default "0";
                  description
                    "Specifies a priority value that a service matches.";
                }
              }  // container service-group
    
              container accounting-scheme {
                when "../mode='edsg'";
                description
                  "Configure the accounting scheme for the current service policy. The scheme must be a configured accounting scheme.";
                leaf name {
                  type leafref {
                    path "/aaa:aaa/aaa:accounting-schemes/aaa:accounting-scheme/aaa:acct-scheme-name";
                  }
                  default "default1";
                  description
                    "Specifies the name of the accounting scheme adopted by the pre-paid profile.";
                }
              }  // container accounting-scheme
    
              container radius-server-group {
                when "../mode='edsg'";
                description
                  "Configure the RADIUS server group for service policy. The server group must be a configured server group.";
                leaf name {
                  type leafref {
                    path "/radius:radius/radius:radius-server-groups/radius:radius-server-group/radius:name";
                  }
                  description
                    "Specifies the name of the RADIUS server group.";
                }
              }  // container radius-server-group
    
              container traffic-match {
                when "../mode='edsg'";
                description
                  "Configure EDSG service traffic to match a user group.";
                leaf direction {
                  type enumeration {
                    enum "none" {
                      value 0;
                      description "None.";
                    }
                    enum "inbound" {
                      value 1;
                      description
                        "Specifies inbound direction of reporting dropped SQ traffic.";
                    }
                    enum "outbound" {
                      value 2;
                      description
                        "Specifies outbound direction of reporting dropped SQ traffic.";
                    }
                    enum "both" {
                      value 3;
                      description
                        "Specifies inbound and outbound direction of reporting dropped SQ traffic.";
                    }
                  }
                  default "none";
                  description
                    "Indicates stream direction of EDSG service traffic.";
                }
              }  // container traffic-match
    
              container statistic-ip-type {
                when "../mode='edsg'";
                description
                  "Configure a statistic IP type for EDSG services. The default statistic type is IPv4 for EDSG services.";
                leaf type {
                  type bras-vas-service-ip-type;
                  default "ipv4";
                  description
                    "Statistic IP type for EDSG services.";
                }
              }  // container statistic-ip-type
    
              container service-class {
                when "../mode='edsg'";
                description
                  "Configure upstream or downstream service classes.";
                leaf inbound-class {
                  type bras-vas-flow-queue-type;
                  description
                    "Specifies a service class of inbound direction.";
                }
    
                leaf outbound-class {
                  type bras-vas-flow-queue-type;
                  description
                    "Specifies a service class of outbound direction.";
                }
              }  // container service-class
    
              container authentication-scheme {
                when "../mode='edsg'";
                description
                  "Configure an authentication scheme for the current service policy. The scheme must be a configured authentication scheme.";
                leaf name {
                  type leafref {
                    path "/aaa:aaa/aaa:authentication-schemes/aaa:authentication-scheme/aaa:authen-scheme-name";
                  }
                  description
                    "Specifies the name of the authentication scheme.";
                }
              }  // container authentication-scheme
    
              container rate-limit {
                when "../mode='edsg'";
                description
                  "Configure the inbound and outbound rate for the service policy template.";
                container inbound {
                  presence
                    "Create inbound rate-limit.";
                  description
                    "Configure the inbound rate for the service policy template.";
                  leaf cir {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    mandatory true;
                    description
                      "Specifies committed information rate.";
                  }
    
                  leaf pir {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    must
                      "not(../pir) or (../pir and ../pir >=../cir)";
                    description
                      "Specifies the peak information rate.";
                  }
    
                  leaf cbs {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    description
                      "Specifies the committed burst size.";
                  }
    
                  leaf pbs {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    must
                      "not(../pbs) or (../cbs and ../pbs and ../pbs >=../cbs)";
                    description
                      "Specifies the peak burst size.";
                  }
    
                  leaf flow-queue-pbs {
                    when "../cbs";
                    type uint32 {
                      range "1..4194304";
                    }
                    units "Byte";
                    must
                      "../flow-queue-pbs>=../cbs";
                    description
                      "Specifies the peak burst size of flow queue.";
                  }
                }  // container inbound
    
                container outbound {
                  presence
                    "Create outbound rate-limit.";
                  description
                    "Configure the outbound rate for the service policy template.";
                  leaf cir {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    mandatory true;
                    description
                      "Specifies committed information rate.";
                  }
    
                  leaf pir {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    must
                      "not(../pir) or (../pir and ../pir >=../cir)";
                    description
                      "Specifies the peak information rate.";
                  }
    
                  leaf cbs {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    description
                      "Specifies the committed burst size.";
                  }
    
                  leaf pbs {
                    type uint32 {
                      range "0..4294967294";
                    }
                    units "kbit/s";
                    must
                      "not(../pbs) or (../cbs and ../pbs and ../pbs >=../cbs)";
                    description
                      "Specifies the peak burst size.";
                  }
    
                  leaf flow-queue-pbs {
                    when "../cbs";
                    type uint32 {
                      range "1..4194304";
                    }
                    units "Byte";
                    must
                      "../flow-queue-pbs>=../cbs";
                    description
                      "Specifies the peak burst size of flow queue.";
                  }
                }  // container outbound
              }  // container rate-limit
    
              container diameter-monitor-key {
                when "../mode='edsg'";
                description
                  "Configure the Characters monitoring key values for the policy business.";
                leaf key {
                  type uint32 {
                    range "1..4294967294";
                  }
                  description
                    "Monitoring key values for the policy business.";
                }
              }  // container diameter-monitor-key
    
              container policy-info {
                config false;
                description
                  "Statistics of the value-added-service policy.";
                leaf reference-count {
                  type uint32 {
                    range "0..4294967295";
                  }
                  config false;
                  description
                    "Number of services that reference a service policy.";
                }
              }  // container policy-info
            }  // list service-policy
          }  // container service-policys
    
          container service-policy-groups {
            description
              "List of value-added service policy template groups.";
            list service-policy-group {
              key "name";
              max-elements 1024;
              description
                "Configure the value-added service policy template group.";
              leaf name {
                type string {
                  length "1..63";
                  pattern '[!-~]{1,63}';
                  pattern
                    '([^"%'*/:<>\?@|]{1,63})';
                }
                must
                  "../name != '-' and ../name != '--'";
                description
                  "The name of service policy group.";
              }
    
              container service-policys {
                description
                  "List of value-added service policy templates.";
                list service-policy {
                  key "name";
                  max-elements 12;
                  description
                    "Configure the value-added service policy template.";
                  leaf name {
                    type leafref {
                      path "../../../../../service-policys/service-policy/name";
                    }
                    must
                      "../../../../../service-policys/service-policy[name=current()]/mode='edsg'";
                    description
                      "The name of service policy.";
                  }
                }  // list service-policy
              }  // container service-policys
            }  // list service-policy-group
          }  // container service-policy-groups
    
          container mirror-service-policy-rules {
            description
              "List of the mapping relation between service policy and option82.";
            list mirror-service-policy-rule {
              key "number";
              description
                "Configure the mapping relation between service policy and option82.";
              leaf number {
                type uint32 {
                  range "0..65535";
                }
                description
                  "The number of the rule.";
              }
    
              leaf service-policy-name {
                type leafref {
                  path "../../../service-policys/service-policy/name";
                }
                must
                  "../../../service-policys/service-policy[name=current()]/mode='mirror'";
                must
                  "../../../service-policys/service-policy[name=current()]/service-group/group-name";
                mandatory true;
                description
                  "The name of a service policy.";
              }
    
              leaf option82-type {
                type enumeration {
                  enum "circuit-id" {
                    value 1;
                    description "Circuit id.";
                  }
                  enum "remote-id" {
                    value 2;
                    description "Remote id.";
                  }
                }
                mandatory true;
                description
                  "The type of option82 attribute.";
              }
    
              leaf option82-value {
                type string {
                  length "1..198";
                }
                mandatory true;
                description
                  "The information of option82.";
              }
    
              leaf part-match {
                type boolean;
                default "false";
                description
                  "Enable/disable supporting the part matching.";
              }
            }  // list mirror-service-policy-rule
          }  // container mirror-service-policy-rules
    
          container vas-user-id-states {
            config false;
            description
              "List of the value-added service user IDs.";
            list vas-user-id-state {
              key "service-type user-id";
              config false;
              description
                "Statistics of the value-added service user IDs.";
              leaf service-type {
                type enumeration {
                  enum "bod" {
                    value 0;
                    description
                      "BOD service type.";
                  }
                  enum "daa" {
                    value 1;
                    description
                      "DAA service type.";
                  }
                  enum "service" {
                    value 2;
                    description
                      "Display entries of users for whom value-added services are configured.";
                  }
                  enum "without-service" {
                    value 3;
                    description
                      "Display entries of users for whom no value-added services are configured.";
                  }
                  enum "edsg" {
                    value 4;
                    description
                      "Display EDSG user entries.";
                  }
                  enum "edsg-radius" {
                    value 5;
                    description
                      "Delivered by the RADIUS server.";
                  }
                  enum "edsg-diameter" {
                    value 6;
                    description
                      "Delivered by the Diameter server.";
                  }
                  enum "daa-inbound" {
                    value 7;
                    description
                      "Inbound direction.";
                  }
                  enum "daa-outbound" {
                    value 8;
                    description
                      "Outbound direction.";
                  }
                  enum "daa-with-droped-flow" {
                    value 9;
                    description
                      "Display DAA users whose packets are dropped.";
                  }
                }
                config false;
                description "User table type.";
              }
    
              leaf user-id {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description "ID of a user.";
              }
    
              leaf service-policy-name {
                ext:support-filter "true";
                when "../service-type='daa'";
                type string {
                  length "1..63";
                }
                config false;
                description
                  "Name of a DAA service policy.";
              }
            }  // list vas-user-id-state
          }  // container vas-user-id-states
    
          container edsg-user-infos {
            config false;
            description
              "List of the VAS user IDs of a specified EDSG service.";
            list edsg-user-info {
              key "user-id service-index";
              description
                "Statistics of the VAS user IDs of a specified EDSG service.";
              leaf user-id {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description "User access ID.";
              }
    
              leaf service-index {
                type uint32 {
                  range "0..4095";
                }
                config false;
                description
                  "Index of a service.";
              }
    
              leaf service-name {
                ext:support-filter "true";
                type string {
                  length "1..200";
                }
                config false;
                description "Name of a service.";
              }
    
              leaf service-ip-type {
                type enumeration {
                  enum "ipv4" {
                    value 0;
                    description "IPv4.";
                  }
                  enum "ipv6" {
                    value 1;
                    description "IPv6.";
                  }
                }
                config false;
                description
                  "Service traffic statistics type.";
              }
    
              leaf service-state {
                type string {
                  length "1..31";
                }
                config false;
                description "Service status.";
              }
    
              leaf service-sub-state {
                type bras-vas-service-substate;
                config false;
                description "Service sub-state.";
              }
    
              leaf reserve-policy-name {
                type string {
                  length "1..200";
                }
                config false;
                description
                  "Name of the service policy that has been replaced with the service policy delivered using a CoA message.";
              }
    
              leaf service-group {
                type string {
                  length "1..31";
                }
                config false;
                description "Service group.";
              }
    
              leaf service-group-index {
                type uint16 {
                  range "0..65535";
                }
                config false;
                description
                  "Index of a service group.";
              }
    
              leaf service-group-priority {
                type uint16 {
                  range "0..65535";
                }
                config false;
                description
                  "Priority of a service group.";
              }
    
              leaf inbound-service-class {
                type string {
                  length "1..3";
                }
                config false;
                description
                  "Inbound service class.";
              }
    
              leaf outbound-service-class {
                type string {
                  length "1..3";
                }
                config false;
                description
                  "Outbound service class.";
              }
    
              leaf authen-method {
                type bras-vas-method-type;
                config false;
                description
                  "Authentication method.";
              }
    
              leaf account-method {
                type bras-vas-method-type;
                config false;
                description "Accounting method.";
              }
    
              leaf radius-server-group {
                type string {
                  length "1..32";
                }
                config false;
                description
                  "RADIUS server group.";
              }
    
              leaf account-copy-state {
                type enumeration {
                  enum "service" {
                    value 0;
                    description "Service.";
                  }
                  enum "prepaid" {
                    value 1;
                    description "Prepaid.";
                  }
                  enum "close" {
                    value 2;
                    description "Close.";
                  }
                }
                config false;
                description
                  "Status of the EDSG accounting copy function.";
              }
    
              leaf account-copy-group {
                type string {
                  length "1..32";
                }
                config false;
                description
                  "RADIUS server group to which EDSG accounting packets are copied.";
              }
    
              leaf account-session-id {
                type string {
                  length "1..44";
                }
                config false;
                description
                  "Accounting session ID.";
              }
    
              leaf service-online-time {
                type string {
                  length "1..8";
                }
                config false;
                description
                  "Service online duration.";
              }
    
              leaf real-time-accout-interval {
                type uint32 {
                  range "0..4294967295";
                }
                units "s";
                config false;
                description
                  "Real time accounting interval.";
              }
    
              leaf up-committed-rate {
                type string {
                  length "1..19";
                }
                config false;
                description
                  "Upstream committed information rate.";
              }
    
              leaf up-peak-rate {
                type string {
                  length "1..19";
                }
                config false;
                description
                  "Upstream peak information rate.";
              }
    
              leaf up-committed-burst-size {
                type string {
                  length "1..19";
                }
                config false;
                description
                  "Upstream committed burst size.";
              }
    
              leaf up-peak-burst-size {
                type string {
                  length "1..19";
                }
                config false;
                description
                  "Upstream peak burst size.";
              }
    
              leaf down-committed-rate {
                type string {
                  length "1..19";
                }
                config false;
                description "Downstream CIR.";
              }
    
              leaf down-peak-rate {
                type string {
                  length "1..19";
                }
                config false;
                description "Downstream PIR.";
              }
    
              leaf down-committed-burst-rate {
                type string {
                  length "1..19";
                }
                config false;
                description "Downstream CBS.";
              }
    
              leaf down-peak-burst-size {
                type string {
                  length "1..19";
                }
                config false;
                description "Downstream PBS.";
              }
    
              leaf up-flow-packets-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of upstream accounting high packets.";
              }
    
              leaf up-flow-packets-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of upstream accounting low packets.";
              }
    
              leaf up-flow-bytes-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of upstream accounting high bytes.";
              }
    
              leaf up-flow-bytes-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of upstream accounting low bytes.";
              }
    
              leaf down-flow-packets-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of downstream accounting high packets.";
              }
    
              leaf down-flow-packets-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of downstream accounting low packets.";
              }
    
              leaf down-flow-bytes-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of downstream accounting high bytes.";
              }
    
              leaf down-flow-bytes-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of downstream accounting low bytes.";
              }
    
              leaf local-up-flow-packets-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of upstream accounting high packets.";
              }
    
              leaf local-up-flow-packets-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of upstream accounting low packets.";
              }
    
              leaf local-up-flow-bytes-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of upstream accounting high bytes.";
              }
    
              leaf local-up-flow-bytes-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of upstream accounting low bytes.";
              }
    
              leaf local-down-flow-packets-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of downstream accounting high packets.";
              }
    
              leaf local-down-flow-packets-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of downstream accounting low packets.";
              }
    
              leaf local-down-flow-bytes-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of downstream accounting high bytes.";
              }
    
              leaf local-down-flow-bytes-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of downstream accounting low bytes.";
              }
    
              leaf remote-up-flow-packets-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of RUI-backed up upstream accounting high packets.";
              }
    
              leaf remote-up-flow-packets-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of RUI-backed up upstream accounting low packets.";
              }
    
              leaf remote-up-flow-bytes-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of RUI-backed up downstream accounting high packets.";
              }
    
              leaf remote-up-flow-bytes-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of RUI-backed up downstream accounting low packets.";
              }
    
              leaf remote-down-flow-packets-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of RUI-backed up downstream accounting high packets.";
              }
    
              leaf remote-down-flow-packets-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "packet";
                config false;
                description
                  "Number of RUI-backed up downstream accounting low packets.";
              }
    
              leaf remote-down-flow-bytes-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of RUI-backed up downstream accounting high bytes.";
              }
    
              leaf remote-down-flow-bytes-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte";
                config false;
                description
                  "Number of RUI-backed up downstream accounting low bytes.";
              }
    
              leaf prepaid-state {
                type string {
                  length "1..11";
                }
                config false;
                description "Prepaid status.";
              }
    
              leaf prepaid-account-method {
                type bras-vas-method-type;
                config false;
                description
                  "Prepaid accounting method.";
              }
    
              leaf volume-quota-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte/s";
                config false;
                description
                  "Traffic volume quota high.";
              }
    
              leaf volume-quota-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte/s";
                config false;
                description
                  "Traffic volume quota low.";
              }
    
              leaf volume-threshold-high {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte/s";
                config false;
                description
                  "Traffic volume threshold high.";
              }
    
              leaf volume-threshold-low {
                type uint32 {
                  range "0..4294967295";
                }
                units "Byte/s";
                config false;
                description
                  "Traffic volume threshold low.";
              }
    
              leaf time-quota {
                type uint32 {
                  range "0..4294967295";
                }
                units "s";
                config false;
                description
                  "Traffic volume quota.";
              }
    
              leaf time-threshold {
                type uint32 {
                  range "0..4294967295";
                }
                units "s";
                config false;
                description
                  "Traffic volume threshold.";
              }
    
              leaf idle-time-out {
                type uint32 {
                  range "0..4294967295";
                }
                units "s";
                config false;
                description "Idle timeout.";
              }
    
              leaf http-redirect-profile {
                type string {
                  length "1..32";
                }
                config false;
                description
                  "Name of the redirection profile configured for EDSG services.";
              }
    
              leaf http-redirect-enable {
                type boolean;
                config false;
                description
                  "Whether captive portal is enabled for EDSG services.";
              }
    
              leaf http-redirect-profile-portal {
                type string {
                  length "1..32";
                }
                config false;
                description
                  "Name of the redirection profile configured for captive portal for EDSG services.";
              }
    
              leaf http-service-index {
                type uint8 {
                  range "0..255";
                }
                config false;
                description
                  "Index of an EDSG service for which captive portal is enabled.";
              }
    
              leaf service-source {
                type bras-vas-service-source;
                config false;
                description "Service source.";
              }
    
              leaf diameter-monitor-key {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description
                  "Diameter monitoring key in the service policy.";
              }
    
              leaf inbound-match-user-group {
                type boolean;
                config false;
                description
                  "Whether upstream EDSG service traffic matches a user group.";
              }
    
              leaf outbound-match-user-group {
                type boolean;
                config false;
                description
                  "Whether downstream EDSG service traffic matches a user group.";
              }
    
              leaf time-range-template {
                type string {
                  length "1..32";
                }
                config false;
                description
                  "Name of the time range template that takes effect.";
              }
    
              leaf rui-state {
                type enumeration {
                  enum "master" {
                    value 1;
                    description "Master.";
                  }
                  enum "slave" {
                    value 2;
                    description "Slave.";
                  }
                  enum "none" {
                    value 3;
                    description "None.";
                  }
                }
                config false;
                description
                  "RUI status of the EDSG service.";
              }
    
              leaf rui-backup-online-time {
                type uint32 {
                  range "0..4294967295";
                }
                units "s";
                config false;
                description
                  "Online duration of the EDSG service when the slave RUI device activates the EDSG service.";
              }
            }  // list edsg-user-info
          }  // container edsg-user-infos
    
          container user-id-daa-states {
            config false;
            description
              "List of DAA type information about value-added services based on a specified user ID.";
            list user-id-daa-state {
              key "user-id tariff-level";
              description
                "Statistics of DAA type information about value-added services based on a specified user ID.";
              leaf user-id {
                type uint32;
                description "User access ID.";
              }
    
              leaf tariff-level {
                type uint32 {
                  range "1..8";
                }
                description "Tariff level.";
              }
    
              leaf service-name {
                type string {
                  length "1..200";
                }
                description "Name of a service.";
              }
    
              leaf service-ip-type {
                type bras-vas-service-ip-type;
                description
                  "Service traffic statistics type. The default value is IPv4. This parameter can be set to IPv6.";
              }
    
              leaf account-method {
                type bras-vas-method-type;
                description "Accounting method.";
              }
    
              leaf normal-server-group {
                type string {
                  length "1..34";
                }
                description
                  "Name of the policy server that delivers a service policy.";
              }
    
              leaf up-committed-rate {
                type string {
                  length "1..19";
                }
                description
                  "Upstream committed information rate.";
              }
    
              leaf up-peak-rate {
                type string {
                  length "1..19";
                }
                description
                  "Upstream peak information rate.";
              }
    
              leaf up-committed-burst-size {
                type string {
                  length "1..19";
                }
                description
                  "Upstream committed burst size.";
              }
    
              leaf up-peak-burst-size {
                type string {
                  length "1..19";
                }
                description
                  "Upstream peak burst size.";
              }
    
              leaf down-committed-rate {
                type string {
                  length "1..19";
                }
                description "Downstream CIR.";
              }
    
              leaf down-peak-rate {
                type string {
                  length "1..19";
                }
                description "Downstream PIR.";
              }
    
              leaf down-committed-burst-rate {
                type string {
                  length "1..19";
                }
                description "Downstream CBS.";
              }
    
              leaf down-peak-burst-size {
                type string {
                  length "1..19";
                }
                description "Downstream PBS.";
              }
    
              leaf service-source-ip {
                type uint32;
                description
                  "Source IP of a service.";
              }
    
              leaf service-type {
                type string {
                  length "1..40";
                }
                description "Type of a service.";
              }
    
              leaf account-start-time {
                type string {
                  length "1..31";
                }
                description
                  "Time when the accounting starts.";
              }
    
              leaf two-level-acct-server-group {
                type string {
                  length "1..34";
                }
                description
                  "Radius server group of two level accounting.";
              }
    
              leaf physical-acct-server-group {
                type string {
                  length "1..34";
                }
                description
                  "Radius server group of physical account.";
              }
    
              leaf up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting high packets.";
              }
    
              leaf up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting low packets.";
              }
    
              leaf up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting high bytes.";
              }
    
              leaf up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting low bytes.";
              }
    
              leaf down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting high packets.";
              }
    
              leaf down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting low packets.";
              }
    
              leaf down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting high bytes.";
              }
    
              leaf down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting low bytes.";
              }
    
              leaf ipv6-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of upstream IPv6 accounting high packets.";
              }
    
              leaf ipv6-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of upstream IPv6 accounting low packets.";
              }
    
              leaf ipv6-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of upstream IPv6 accounting high bytes.";
              }
    
              leaf ipv6-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of upstream IPv6 accounting low bytes.";
              }
    
              leaf ipv6-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of downstream IPv6 accounting high packets.";
              }
    
              leaf ipv6-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of downstream IPv6 accounting low packets.";
              }
    
              leaf ipv6-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of downstream IPv6 accounting high bytes.";
              }
    
              leaf ipv6-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of downstream IPv6 accounting low bytes.";
              }
    
              leaf local-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting high packets.";
              }
    
              leaf local-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting low packets.";
              }
    
              leaf local-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting high bytes.";
              }
    
              leaf local-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting low bytes.";
              }
    
              leaf local-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting high packets.";
              }
    
              leaf local-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting low packets.";
              }
    
              leaf local-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting high bytes.";
              }
    
              leaf local-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting low bytes.";
              }
    
              leaf remote-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up upstream accounting high packets.";
              }
    
              leaf remote-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up upstream accounting low packets.";
              }
    
              leaf remote-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting high bytes.";
              }
    
              leaf remote-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting low bytes.";
              }
    
              leaf remote-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up downstream accounting high packets.";
              }
    
              leaf remote-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up downstream accounting low packets.";
              }
    
              leaf remote-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting high bytes.";
              }
    
              leaf remote-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting low bytes.";
              }
    
              leaf local-v6-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 upstream accounting high packets.";
              }
    
              leaf local-v6-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 upstream accounting low packets.";
              }
    
              leaf local-v6-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 upstream accounting high bytes.";
              }
    
              leaf local-v6-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 upstream accounting low bytes.";
              }
    
              leaf local-v6-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 downstream accounting high packets.";
              }
    
              leaf local-v6-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 downstream accounting low packets.";
              }
    
              leaf local-v6-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 downstream accounting high bytes.";
              }
    
              leaf local-v6-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 downstream accounting low bytes.";
              }
    
              leaf remote-v6-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 upstream accounting high packets.";
              }
    
              leaf remote-v6-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 upstream accounting low packets.";
              }
    
              leaf remote-v6-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 upstream accounting high bytes.";
              }
    
              leaf remote-v6-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 upstream accounting low bytes.";
              }
    
              leaf remote-v6-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 downstream accounting high packets.";
              }
    
              leaf remote-v6-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 downstream accounting low packets.";
              }
    
              leaf remote-v6-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 downstream accounting high bytes.";
              }
    
              leaf remote-v6-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 downstream accounting low bytes.";
              }
    
              leaf multicast-down-packets {
                type uint64;
                units "packet";
                description
                  "Number of multicast downstream accounting packets.";
              }
    
              leaf multicast-down-bytes {
                type uint64;
                units "Byte";
                description
                  "Number of multicast downstream accounting bytes.";
              }
    
              leaf time-remind {
                type uint32;
                units "s";
                description "Time remind.";
              }
    
              leaf flow-remained-high {
                type uint32;
                units "Byte";
                description
                  "Flow remained high byte.";
              }
    
              leaf flow-remained-low {
                type uint32;
                units "Byte";
                description
                  "Flow remained low byte.";
              }
    
              leaf idle-cut-time {
                type uint32;
                units "s";
                description
                  "Idle-cut time. The device checks whether a user is in idle state every 120s.";
              }
    
              leaf idle-cut-rate {
                type uint32;
                units "1/60 kB/s";
                description
                  "Idle-cut rate. The device checks whether a user is in idle state every 120s.";
              }
    
              leaf idle-cut-minute {
                type uint32;
                units "min";
                description
                  "Idle-cut minute. The device checks whether a user is in idle state every 120s.";
              }
    
              leaf idle-cut-second {
                type uint32;
                units "s";
                description
                  "Idle-cut second. The device checks whether a user is in idle state every 120s.";
              }
            }  // list user-id-daa-state
          }  // container user-id-daa-states
    
          container user-id-bod-states {
            config false;
            description
              "List of BOD type information about value-added services based on a specified user ID.";
            list user-id-bod-state {
              key "user-id";
              description
                "Statistics of BOD type information about value-added services based on a specified user ID.";
              leaf user-id {
                type uint32;
                description "User access ID.";
              }
    
              leaf service-name {
                type string {
                  length "1..200";
                }
                description "Name of a service.";
              }
    
              leaf service-ip-type {
                type bras-vas-service-ip-type;
                description
                  "Service traffic statistics type. The default value is IPv4. This parameter can be set to IPv6.";
              }
    
              leaf account-method {
                type bras-vas-method-type;
                description "Accounting method.";
              }
    
              leaf normal-server-group {
                type string {
                  length "1..34";
                }
                description
                  "Name of the policy server that delivers a service policy.";
              }
    
              leaf up-committed-rate {
                type string {
                  length "1..19";
                }
                description
                  "Upstream committed information rate.";
              }
    
              leaf up-peak-rate {
                type string {
                  length "1..19";
                }
                description
                  "Upstream peak information rate.";
              }
    
              leaf up-committed-burst-size {
                type string {
                  length "1..19";
                }
                description
                  "Upstream committed burst size.";
              }
    
              leaf up-peak-burst-size {
                type string {
                  length "1..19";
                }
                description
                  "Upstream peak burst size.";
              }
    
              leaf down-committed-rate {
                type string {
                  length "1..19";
                }
                description "Downstream CIR.";
              }
    
              leaf down-peak-rate {
                type string {
                  length "1..19";
                }
                description "Downstream PIR.";
              }
    
              leaf down-committed-burst-rate {
                type string {
                  length "1..19";
                }
                description "Downstream CBS.";
              }
    
              leaf down-peak-burst-size {
                type string {
                  length "1..19";
                }
                description "Downstream PBS.";
              }
    
              leaf service-source-ip {
                type uint32;
                description
                  "Source IP of a service.";
              }
    
              leaf service-type {
                type string {
                  length "1..40";
                }
                description "Type of a service.";
              }
    
              leaf account-start-time {
                type string {
                  length "1..31";
                }
                description
                  "Time when the accounting starts.";
              }
    
              leaf two-level-acct-server-group {
                type string {
                  length "1..34";
                }
                description
                  "Radius server group of two level accounting.";
              }
    
              leaf physical-acct-server-group {
                type string {
                  length "1..34";
                }
                description
                  "Radius server group of physical account.";
              }
    
              leaf up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting high packets.";
              }
    
              leaf up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting low packets.";
              }
    
              leaf up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting high bytes.";
              }
    
              leaf up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting low bytes.";
              }
    
              leaf down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting high packets.";
              }
    
              leaf down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting low packets.";
              }
    
              leaf down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting high bytes.";
              }
    
              leaf down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting low bytes.";
              }
    
              leaf ipv6-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of upstream IPv6 accounting high packets.";
              }
    
              leaf ipv6-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of upstream IPv6 accounting low packets.";
              }
    
              leaf ipv6-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of upstream IPv6 accounting high bytes.";
              }
    
              leaf ipv6-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of upstream IPv6 accounting low bytes.";
              }
    
              leaf ipv6-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of downstream IPv6 accounting high packets.";
              }
    
              leaf ipv6-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of downstream IPv6 accounting low packets.";
              }
    
              leaf ipv6-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of downstream IPv6 accounting high bytes.";
              }
    
              leaf ipv6-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of downstream IPv6 accounting low bytes.";
              }
    
              leaf local-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting high packets.";
              }
    
              leaf local-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of upstream accounting low packets.";
              }
    
              leaf local-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting high bytes.";
              }
    
              leaf local-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of upstream accounting low bytes.";
              }
    
              leaf local-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting high packets.";
              }
    
              leaf local-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of downstream accounting low packets.";
              }
    
              leaf local-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting high bytes.";
              }
    
              leaf local-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of downstream accounting low bytes.";
              }
    
              leaf remote-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up upstream accounting high packets.";
              }
    
              leaf remote-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up upstream accounting low packets.";
              }
    
              leaf remote-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting high bytes.";
              }
    
              leaf remote-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting low bytes.";
              }
    
              leaf remote-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up downstream accounting high packets.";
              }
    
              leaf remote-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed up downstream accounting low packets.";
              }
    
              leaf remote-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting high bytes.";
              }
    
              leaf remote-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed up downstream accounting low bytes.";
              }
    
              leaf local-v6-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 upstream accounting high packets.";
              }
    
              leaf local-v6-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 upstream accounting low packets.";
              }
    
              leaf local-v6-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 upstream accounting high bytes.";
              }
    
              leaf local-v6-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 upstream accounting low bytes.";
              }
    
              leaf local-v6-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 downstream accounting high packets.";
              }
    
              leaf local-v6-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of IPv6 downstream accounting low packets.";
              }
    
              leaf local-v6-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 downstream accounting high bytes.";
              }
    
              leaf local-v6-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of IPv6 downstream accounting low bytes.";
              }
    
              leaf remote-v6-up-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 upstream accounting high packets.";
              }
    
              leaf remote-v6-up-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 upstream accounting low packets.";
              }
    
              leaf remote-v6-up-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 upstream accounting high bytes.";
              }
    
              leaf remote-v6-up-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 upstream accounting low bytes.";
              }
    
              leaf remote-v6-down-flow-packets-high {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 downstream accounting high packets.";
              }
    
              leaf remote-v6-down-flow-packets-low {
                type uint32;
                units "packet";
                description
                  "Number of RUI-backed IPv6 downstream accounting low packets.";
              }
    
              leaf remote-v6-down-flow-bytes-high {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 downstream accounting high bytes.";
              }
    
              leaf remote-v6-down-flow-bytes-low {
                type uint32;
                units "Byte";
                description
                  "Number of RUI-backed IPv6 downstream accounting low bytes.";
              }
    
              leaf multicast-down-packets {
                type uint64;
                units "packet";
                description
                  "Number of multicast downstream accounting packets.";
              }
    
              leaf multicast-down-bytes {
                type uint64;
                units "Byte";
                description
                  "Number of multicast downstream accounting bytes.";
              }
    
              leaf time-remind {
                type uint32;
                units "s";
                description "Time remind.";
              }
    
              leaf flow-remained-high {
                type uint32;
                units "Byte";
                description
                  "Flow remained high byte.";
              }
    
              leaf flow-remained-low {
                type uint32;
                units "Byte";
                description
                  "Flow remained low byte.";
              }
    
              leaf idle-cut-time {
                type uint32;
                units "s";
                description
                  "Idle-cut time. The device checks whether a user is in idle state every 120s.";
              }
    
              leaf idle-cut-rate {
                type uint32;
                units "1/60 kB/s";
                description
                  "Idle-cut rate. The device checks whether a user is in idle state every 120s.";
              }
    
              leaf idle-cut-minute {
                type uint32;
                units "min";
                description
                  "Idle-cut minute. The device checks whether a user is in idle state every 120s.";
              }
    
              leaf idle-cut-second {
                type uint32;
                units "s";
                description
                  "Idle-cut second. The device checks whether a user is in idle state every 120s.";
              }
            }  // list user-id-bod-state
          }  // container user-id-bod-states
    
          container vas-edsg-user-id-informations {
            config false;
            description
              "List of the VAS EDSG service of a specified user ID.";
            list vas-edsg-user-id-information {
              key "user-access-index";
              config false;
              description
                "Statistics of the VAS EDSG service of a specified user ID.";
              leaf user-access-index {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description
                  "Index of an access user.";
              }
    
              leaf user-name {
                type string {
                  length "1..253";
                }
                config false;
                description "Name of a user.";
              }
    
              leaf traffic-rate-mode {
                type enumeration {
                  enum "together" {
                    value 0;
                    description "Together.";
                  }
                  enum "separate" {
                    value 1;
                    description "Separate.";
                  }
                }
                config false;
                description "Rate limit mode.";
              }
    
              leaf traffic-statistic-mode {
                type enumeration {
                  enum "together" {
                    value 0;
                    description "Together.";
                  }
                  enum "separate" {
                    value 1;
                    description "Separate.";
                  }
                }
                config false;
                description "Statistics mode.";
              }
    
              leaf inbound-rate-limit-mode {
                type bras-vas-rate-limit-mode;
                config false;
                description
                  "Inbound rate limit mode.";
              }
    
              leaf outbound-rate-limit-mode {
                type bras-vas-rate-limit-mode;
                config false;
                description
                  "Outbound rate limit mode.";
              }
    
              leaf service-change-mode {
                type enumeration {
                  enum "stop-start" {
                    value 0;
                    description "Stop-start.";
                  }
                  enum "update" {
                    value 1;
                    description "Update.";
                  }
                }
                config false;
                description
                  "Service change mode.";
              }
    
              leaf stop-accounting-merge {
                type boolean;
                default "false";
                config false;
                description
                  "Stop accounting merge.";
              }
    
              leaf interim-accounting-merge {
                type boolean;
                default "false";
                config false;
                description
                  "Interim accounting merge.";
              }
    
              leaf interim-interval {
                type uint16 {
                  range "0..65535";
                }
                units "min";
                config false;
                description
                  "Merged interim accounting interval.";
              }
    
              leaf interim-hash {
                type boolean;
                default "false";
                config false;
                description
                  "Merged interim accounting hash.";
              }
    
              leaf inbound-family-schedule {
                type boolean;
                default "false";
                config false;
                description
                  "Whether EDSG unified scheduling is enabled for upstream family users.";
              }
    
              leaf outbound-family-schedule {
                type boolean;
                default "false";
                config false;
                description
                  "Whether EDSG unified scheduling is enabled for downstream family users.";
              }
    
              container user-id-edsg-service-briefs {
                config false;
                description
                  "List of the VAS EDSG service of a specified user ID.";
                list user-id-edsg-service-brief {
                  key "service-index";
                  config false;
                  description
                    "Statistics of the VAS EDSG service of a specified user ID.";
                  leaf service-index {
                    type uint32 {
                      range "0..4294967295";
                    }
                    config false;
                    description
                      "Index of a service.";
                  }
    
                  leaf service-name {
                    type string {
                      length "1..200";
                    }
                    config false;
                    description
                      "Name of a service.";
                  }
    
                  leaf service-state {
                    type string {
                      length "1..31";
                    }
                    config false;
                    description
                      "State of a service.";
                  }
                }  // list user-id-edsg-service-brief
              }  // container user-id-edsg-service-briefs
            }  // list vas-edsg-user-id-information
          }  // container vas-edsg-user-id-informations
    
          container edsg-time-range-state {
            config false;
            description
              "Statistics of the edsg time-range.";
            leaf updated-success-users {
              type uint32;
              description
                "Number Of Users That Success To Be Updated.";
            }
    
            leaf updated-failed-users {
              type uint32;
              description
                "Number Of Users That Fail To Be Updated.";
            }
    
            leaf to-be-update-users {
              type uint32;
              description
                "Number Of Users To Be Updated.";
            }
    
            leaf total-updated-users {
              type uint32;
              description
                "Total Number Of Updated Users.";
            }
          }  // container edsg-time-range-state
    
          container updated-fail-statistic {
            config false;
            description
              "Statistics of update fail record.";
            leaf sq-resource-fail-num {
              type uint32;
              description
                "Failed to Apply SQ Resource For The Service.";
            }
    
            leaf car-res-fail-num {
              type uint32;
              description
                "Failed to Apply CAR Resource For The Service.";
            }
    
            leaf stat-res-fail-num {
              type uint32;
              description
                "Failed to Apply Statistic Resource For The Service.";
            }
          }  // container updated-fail-statistic
    
          container remote-policy-caches {
            config false;
            description
              "List of the specified EDSG service cache policy.";
            list remote-policy-cache {
              key "service-policy-name";
              max-elements 4096;
              description
                "Statistics of a specified EDSG service cache policy.";
              leaf service-policy-name {
                type string {
                  length "1..200";
                }
                description
                  "Specify the name of a remote policy cache.";
              }
    
              leaf service-policy-index {
                type uint32;
                description
                  "The service policy index.";
              }
    
              leaf reference-count {
                type uint32;
                description
                  "The reference count.";
              }
            }  // list remote-policy-cache
          }  // container remote-policy-caches
    
          container vas-daa-user-id-infos {
            config false;
            description
              "List of the dropped DAA service traffic of a specified user ID.";
            list vas-daa-user-id-info {
              key "user-access-index";
              description
                "Statistics of the dropped DAA service traffic of a specified user ID.";
              leaf user-access-index {
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "Index of an access user.";
              }
    
              leaf user-state {
                type uint8;
                description "State of a user.";
              }
    
              leaf user-name {
                type string {
                  length "1..253";
                }
                description "Name of a user.";
              }
    
              leaf user-service-number {
                type uint8;
                description
                  "Number of user services.";
              }
    
              leaf cops-server-name {
                type string {
                  length "1..63";
                }
                description
                  "Name of a cops server.";
              }
    
              leaf direction {
                type string {
                  length "1..15";
                }
                description
                  "Direction of DAA service traffic.";
              }
    
              leaf outbound-rate-limit-mode {
                type string {
                  length "1..15";
                }
                description
                  "Rate limiting mode of downstream DAA service traffic.";
              }
    
              leaf dropped-flow-upstream-high {
                type uint32;
                units "packet";
                description
                  "High-order number of packets dropped in the upstream direction.";
              }
    
              leaf dropped-flow-upstream-low {
                type uint32;
                units "packet";
                description
                  "Low-order number of packets dropped in the upstream direction.";
              }
    
              leaf dropped-flow-downstream-high {
                type uint32;
                units "packet";
                description
                  "High-order number of packets dropped in the downstream direction.";
              }
    
              leaf dropped-flow-downstream-low {
                type uint32;
                units "packet";
                description
                  "Low-order number of packets dropped in the downstream direction.";
              }
    
              leaf tariff-level1 {
                type uint8;
                description
                  "DAA tariff level 1.";
              }
    
              leaf tariff-level2 {
                type uint8;
                description
                  "DAA tariff level 2.";
              }
    
              leaf tariff-level3 {
                type uint8;
                description
                  "DAA tariff level 3.";
              }
    
              leaf tariff-level4 {
                type uint8;
                description
                  "DAA tariff level 4.";
              }
    
              leaf tariff-level5 {
                type uint8;
                description
                  "DAA tariff level 5.";
              }
    
              leaf tariff-level6 {
                type uint8;
                description
                  "DAA tariff level 6.";
              }
    
              leaf tariff-level7 {
                type uint8;
                description
                  "DAA tariff level 7.";
              }
    
              leaf tariff-level8 {
                type uint8;
                description
                  "DAA tariff level 8.";
              }
            }  // list vas-daa-user-id-info
          }  // container vas-daa-user-id-infos
        }  // container bras-vas
      }  // module huawei-bras-vas
    

© 2023 YumaWorks, Inc. All rights reserved.