netconfcentral logo

ietf-pcp-client@2017-10-17



  module ietf-pcp-client {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-pcp-client";

    prefix pcp-client;

    import ietf-pcp {
      prefix pcp;
    }

    organization "N/A Working Group";

    contact
      "Mohamed Boucadair <mohamed.boucadair@orange.com>
     Christian Jacquenet <christian.jacquenet@orange.com>";

    description
      "This module contains a collection of YANG definitions for
     PCP client implementations.

     Copyright (c) 2017 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

    revision "2017-10-17" {
      description "Align with NMDA";
      reference
        "-05";

    }

    revision "2015-08-05" {
      description "Changes tbc.";
      reference
        "tbc";

    }


    container pcp-client {
      description "PCP client ";
      leaf enable {
        type boolean;
        description
          "Enable/disable the PCP client.";
      }

      leaf description {
        type string;
        description
          "Associated a description with the module.";
      }

      container instances {
        description
          "A set of PCP client instances.";
        list instance {
          key "id";
          description
            "A PCP client instance.";
          leaf id {
            type uint32;
            description
              "An identifier of the PCP client instance.";
          }

          leaf name {
            type string;
            description
              "A name of the PCP client instance.";
          }

          container capabilities {
            description "Capabilities";
            list supported-version {
              key "version";
              description
                "list of supported PCP versions";
              uses pcp:pcp-version;
            }  // list supported-version

            leaf preferred-version {
              type uint8;
              description
                "The preferred version configured
                by an administrator.";
            }

            leaf authentication-support {
              type boolean;
              description
                "Indicates whether PCP authentication is
                supported.";
            }

            container opcode-capability {
              description
                "Opcode-related capabilities.";
              uses pcp:opcode;
            }  // container opcode-capability

            container option-capability {
              description
                "Option-related capabilities";
              uses pcp:option;
            }  // container option-capability
          }  // container capabilities

          list version {
            key "version";
            description
              "Indicates the set of supported PCP versions
              (0, 1, 2)";
            uses pcp:pcp-version;
          }  // list version

          list pcp-servers {
            key "pcp-server-id";
            description
              "List of provisioned PCP servers.";
            uses pcp:pcp-server-address;
          }  // list pcp-servers

          leaf authentication-enable {
            type boolean;
            description
              "Enable/Disable PCP authentication.";
          }

          container opcode-configuration {
            description
              "Opcode-related configuration";
            uses pcp:opcode;
          }  // container opcode-configuration

          container option-configuration {
            description
              "Options-related configuration.";
            uses pcp:option;
          }  // container option-configuration

          container mapping-table {
            description
              "Mapping table maintained by a PCP client
              instance.";
            list mapping-entry {
              key "index";
              description
                "PCP Mapping entry.";
              uses pcp:mapping-entry;
            }  // list mapping-entry
          }  // container mapping-table

          container traffic-statistics {
            description
              "traffic statistics.";
            uses pcp:traffic-stat;

            container mapping-table {
              description
                "mapping table related statistics.";
              uses pcp:mapping-table-stats;
            }  // container mapping-table
          }  // container traffic-statistics
        }  // list instance
      }  // container instances
    }  // container pcp-client
  }  // module ietf-pcp-client