netconfcentral logo

ietf-pcp-client

HTML

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

Summary

  
  
Organization N/A Working Group
  
Module ietf-pcp-client
Version 2017-10-17
File ietf-pcp-client@2017-10-17.yang
  
Prefix pcp-client
Namespace urn:ietf:params:xml:ns:yang:ietf-pcp-client
  
Cooked /cookedmodules/ietf-pcp-client/2017-10-17
YANG /src/ietf-pcp-client@2017-10-17.yang
XSD /xsd/ietf-pcp-client@2017-10-17.xsd
  
Abstract This module contains a collection of YANG definitions for PCP client implementations. Copyright (c) 2017 IETF Trust and the per...
  
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.

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
pcp-client container PCP client
   description leaf Associated a description with the module.
   enable leaf Enable/disable the PCP client.
   instances container A set of PCP client instances.
      instance list A PCP client instance.
         authentication-enable leaf Enable/Disable PCP authentication.
         capabilities container Capabilities
            authentication-support leaf Indicates whether PCP authentication is supported.
            opcode-capability container Opcode-related capabilities.
               announce leaf ANNOUNCE opcode.
               map leaf MAP opcode
               peer leaf PEER opcode
            option-capability container Option-related capabilities
               description container Associates a description with a mapping.
                  description-enabled leaf Enable/disable DESCRIPTION option.
                  max-description leaf Indicates the maximum length of the description associated with a mapping.
               filter container This option indicates that filtering incoming packets is desired.
                  filter-enabled leaf Enable/disable FILTER option.
                  max-filters leaf Indicates the maximum number of filters associated with a mapping.
               port-set leaf Indicates whether PORT_SET is supported/enabled.
               prefer-failure leaf This option indicates that if the PCP server is unable to map both the suggested external port and suggested external address, the PCP server should not create a mapping. This differs from the behavior without this option, which is to create a mapping. ...
               prefix64 leaf PREFIX64 PCP option.
               third-party leaf THIRD_PARTY option is used when a PCP client wants to control a mapping to an internal host other than itself.
            preferred-version leaf The preferred version configured by an administrator.
            supported-version list list of supported PCP versions
               version leaf Indicates a PCP server. Current versions are: 0, 1, and 2.
         id leaf An identifier of the PCP client instance.
         mapping-table container Mapping table maintained by a PCP client instance.
            mapping-entry list PCP Mapping entry.
               description leaf a description string associated with the mapping.
               external-ip-address leaf External IP address. Can be 'Suggested' or 'Assigned'. It can be set by a client to stale-ip-address, if available or to (::) (for requesting external IPv6 addresses) or (::ffff:0:0) (for requesting external IPv4 addresses).
               external-port container External port number. Can be 'Suggested' or 'Assigned'.
                  end-port-number leaf End of the port range.
                  start-port-number leaf Begining of the port range.
               filter list a list of filters associated with the mapping.
                  filter-id leaf An identifier of the filter.
                  remote-ip-prefix leaf The IP address of the remote peer.
                  remote-port-number leaf The port number of the remote peer. Value 0 indicates 'all ports'.
               index leaf A unique identifier of a mapping entry.
               internal-ip-address leaf Corresponds to the PCP Client's IP Address defined in [RFC6887].
               internal-port container Internal port for the mapping. Value 0 indicates 'all ports', and is legal when the lifetime is zero (a delete request), if the protocol does not use 16-bit port numbers, or the client is requesting 'all ports'. If the protocol is zero (meaning 'all prot...
                  end-port-number leaf End of the port range.
                  start-port-number leaf Begining of the port range.
               lifetime leaf Lifetime of the mapping. Can be requested/assigned/remaining
               mapping-nonce leaf A random value chosen by the PCP client
               prefer-failure-tagged leaf a tag which indicates whether PREFER_FAILURE is (to be) used.
               protocol leaf Upper-layer protocol associated with this Opcode. Values are taken from the IANA protocol registry. For example, this field contains 6 (TCP) if the Opcode is intended to create a TCP mapping. This field contains 17 (UDP) if the Opcode is intended to crea...
               status leaf Indicates the status of a mapping entry.
               third-party-address leaf used to indicate the internal IP address when THIRD_PARTY is in use.
         name leaf A name of the PCP client instance.
         opcode-configuration container Opcode-related configuration
            announce leaf ANNOUNCE opcode.
            map leaf MAP opcode
            peer leaf PEER opcode
         option-configuration container Options-related configuration.
            description container Associates a description with a mapping.
               description-enabled leaf Enable/disable DESCRIPTION option.
               max-description leaf Indicates the maximum length of the description associated with a mapping.
            filter container This option indicates that filtering incoming packets is desired.
               filter-enabled leaf Enable/disable FILTER option.
               max-filters leaf Indicates the maximum number of filters associated with a mapping.
            port-set leaf Indicates whether PORT_SET is supported/enabled.
            prefer-failure leaf This option indicates that if the PCP server is unable to map both the suggested external port and suggested external address, the PCP server should not create a mapping. This differs from the behavior without this option, which is to create a mapping. ...
            prefix64 leaf PREFIX64 PCP option.
            third-party leaf THIRD_PARTY option is used when a PCP client wants to control a mapping to an internal host other than itself.
         pcp-servers list List of provisioned PCP servers.
            external-address-familly leaf The address family of the external address(es) managed by the PCP server. Can be IPv4, IPv6 or both.
            pcp-server-id leaf A unique identifier.
            pcp-server-ip-address list a list of IP addresses of a PCP server
               address-id leaf An identifier
               ip-address leaf An IP address of a PCP server.
            stale-external-ip-address leaf A stale address that can be used by the PCP client to be assigned the same address upon reboot or other failure events.
         traffic-statistics container traffic statistics.
            mapping-table container mapping table related statistics.
               current-mt-size leaf Size of the mapping table
               max-mt-size leaf Maximum configured size of the mapping table.
            opcode-statistics container Opcode-related statistics.
               rcvd-announce leaf Counter for received ANNOUNCED messages
               rcvd-malformed leaf Counter for received malformed opcodes
               rcvd-map leaf Counter for received MAP messages
               rcvd-peer leaf Counter for received PEER messages
               rcvd-unknown leaf Counter for received unknown opcodes
               sent-annonce leaf Counter for sent ANNOUNCE messages
               sent-map leaf Counter for sent MAP messages
               sent-peer leaf Counter for sent PEER messages
            traffic-statistics container Generic traffic statistics.
               dropped-byte leaf Counter for dropped traffic in bytes.
               dropped-packet leaf Counter for dropped packets.
               rcvd-byte leaf Counter for received traffic in bytes.
               rcvd-packet leaf Counter for received packets.
               sent-byte leaf Counter for sent traffic in bytes.
               sent-packet leaf Packets sent
         version list Indicates the set of supported PCP versions (0, 1, 2)
            version leaf Indicates a PCP server. Current versions are: 0, 1, and 2.