bbf-pppoe-intermediate-agent

This module contains a collection of YANG definitions for supporting the Broadband Forum requirements on subscriber management v...

  • Version: 2017-05-08

    bbf-pppoe-intermediate-agent@2017-05-08


    
      module bbf-pppoe-intermediate-agent {
    
        yang-version 1.1;
    
        namespace
          "urn:bbf:yang:bbf-pppoe-intermediate-agent";
    
        prefix bbf-pppoe-ia;
    
        import ietf-interfaces {
          prefix if;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import bbf-yang-types {
          prefix bbf-yang;
        }
        import bbf-if-type {
          prefix bbfift;
        }
        import bbf-subscriber-types {
          prefix bbf-subtype;
        }
    
        organization
          "Broadband Forum <https://www.broadband-forum.org>
         Common YANG Project Stream";
    
        contact
          "Comments or questions about this Broadband Forum YANG module
         should be directed to <mailto:help@broadband-forum.org>.
    
         Editor:      Joey Boyd, ADTRAN
                      <mailto:joey.boyd@adtran.com>
    
         Editor:      Ludwig Pauwels, Nokia
                      <mailto:ludwig.pauwels@nokia.com>
    
         PS Leader:   Michael Shaffer, Nokia
                      <mailto:michael.shaffer@nokia.com>
    
         PS Leader:   William Lupton, Broadband Forum
                      <mailto:wlupton@broadband-forum.org>";
    
        description
          "This module contains a collection of YANG definitions for 
         supporting the Broadband Forum requirements on subscriber 
         management via the PPPoE protocol as applicable to access 
         network equipment. As such, this module is specific to access 
         network equipment (e.g., BBF-specified Access Nodes and FTTdp 
         DPUs).
    
         Copyright (c) 2017, Broadband Forum
    
         Redistribution and use in source and binary forms, with or
         without modification, are permitted provided that the following
         conditions are met:
    
         1. Redistributions of source code must retain the above copyright
            notice, this list of conditions and the following disclaimer.
    
         2. Redistributions in binary form must reproduce the above
            copyright notice, this list of conditions and the following
            disclaimer in the documentation and/or other materials
            provided with the distribution.
    
         3. Neither the name of the copyright holder nor the names of its
            contributors may be used to endorse or promote products
            derived from this software without specific prior written
            permission.
    
         THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
         CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,
         INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
         MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
         DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
         CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
         NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
         LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
         CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
         STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
         ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
         ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
         The above license is used as a license under copyright only.
         Please reference the Forum IPR Policy for patent licensing terms
         <https://www.broadband-forum.org/ipr-policy>.
    
         Any moral rights which are necessary to exercise under the above
         license grant are also deemed granted under this license.
    
         This version of this YANG module is part of TR-383; see
         the TR itself for full legal notices.";
    
        revision "2017-05-08" {
          description
            "Initial revision.
           * Approval Date:    see revision date above.
           * Publication Date: 2017-06-02.";
          reference
            "TR-383: Common YANG Modules
            	<https://www.broadband-forum.org/technical/download/
            		 TR-383.pdf>";
    
        }
    
    
        augment /if:interfaces/if:interface {
          when
            "derived-from-or-self (if:type,
           'bbfift:vlan-sub-interface')" {
            description
              "Applies only to VLAN sub-interfaces.";
          }
          description
            "Additions for PPPoE Intermediate Agent on the VLAN 
           sub-interface.";
          container pppoe {
            presence
              "Presence of this container indicates PPPoE is supported on 
             this interface.";
            description
              "PPPoE Intermediate Agent configuration parameters.";
            leaf enable {
              type boolean;
              default "false";
              description
                "Enable PPPoE Intermediate Agent functionality.";
            }
    
            leaf profile-ref {
              when "../enable = 'true'" {
                description
                  "Applicable only when PPPoE Intermediate Agent
                 functionality is enabled.";
              }
              type leafref {
                path "/bbf-pppoe-ia:pppoe-profiles/bbf-pppoe-ia:pppoe-profile/bbf-pppoe-ia:name";
              }
              mandatory true;
              description
                "Reference to the PPPoE configuration profile.";
            }
          }  // container pppoe
        }
    
        container pppoe-profiles {
          description
            "PPPoE Intermediate Agent configuration profile.";
          list pppoe-profile {
            key "name";
            description
              "List containing the parameters for PPPoE Intermediate Agent 
             configuration.";
            leaf name {
              type bbf-yang:string-ascii64;
              description "Name of the profile.";
            }
    
            container pppoe-vendor-specific-tag {
              description
                "Contains information that needs to be filled in the
               vendor-specific tag - 0x0105.";
              leaf-list subtag {
                type enumeration {
                  enum "circuit-id" {
                    value 0;
                    description
                      "Add the sub-option Agent Circuit ID in the 
                     vendor-specific tag with sub-option number 0x01.
    
                     The value inserted is the value of the leaf 
                     circuit-id defined in the instance in the list 
                     subscriber-profiles/subscriber-profile that is 
                     associated with the interface, if any. If this leaf 
                     is unknown, then a sub-option 
                     Agent Circuit ID will be generated according to the 
                     syntax defined in the leaf 
                     default-circuit-id-syntax.";
                    reference
                      "TR-101i2 - Section 8.3";
    
                  }
                  enum "remote-id" {
                    value 1;
                    description
                      "Add the sub-option Agent Remote ID in the 
                     vendor-specific tag with sub-option number 0x02.
    
                     The value inserted is the value of the leaf 
                     remote-id defined in the instance in the list 
                     subscriber-profiles/subscriber-profile that is 
                     associated with the interface, if any. If this leaf 
                     is unknown, then a sub-option 
                     Agent Remote ID will be generated according to the 
                     syntax defined in the leaf 
                     default-remote-id-syntax.";
                    reference
                      "TR-101i2 - Section 8.3";
    
                  }
                  enum
                    "access-loop-characteristics" {
                    value 2;
                    description
                      "Access loop characteristics to be added in the 
                     vendor-specific tag with sub-tag-numbers 0x81-0x8E 
                     and 0x90. 
    
                     The characteristics to be added to the sub-option are
                     controlled via the leaf access-loop-subtags";
                    reference
                      "TR-101i2 - Section 8.4";
    
                  }
                }
                min-elements 1;
                description
                  "Identifies the sub-tags that should be part of the
                 vendor-specific tag.";
              }
    
              leaf default-circuit-id-syntax {
                type bbf-yang:string-ascii63-or-empty;
                default "";
                description
                  "To be used to generate a sub-option Agent Circuit ID when
                 no circuit-id is provided for the VLAN sub-interface via
                 a referenced subscriber-profiles/subscriber-profile.
    
                 The syntax is a string of ASCII characters that 
                 determines the actual value inserted in the sub-option.
                 Parts of the syntax that are recognized as predefined
                 keywords will be replaced by an actual value.";
                reference
                  "TR-178 - R117";
    
              }
    
              leaf default-remote-id-syntax {
                type bbf-yang:string-ascii63-or-empty;
                default "";
                description
                  "To be used to generate a sub-option Agent Remote ID when 
                 no remote-id is provided for the VLAN sub-interface via a
                 referenced subscriber-profiles/subscriber-profile.
    
                 The syntax is a string of ASCII characters that 
                 determines the actual value inserted in the sub-option. 
                 Parts of the syntax that are recognized as predefined 
                 keywords will be replaced by an actual value.";
                reference
                  "TR-178 - R120";
    
              }
    
              leaf access-loop-subtags {
                type bbf-subtype:broadband-line-characteristics;
                default "";
                description
                  "Access Loop sub-tags that are to be added in the
                 vendor-specific tag.";
                reference
                  "TR-178 - R123";
    
              }
    
              leaf start-numbering-from-zero {
                type boolean;
                default "false";
                description
                  "In case the default-circuit-id-syntax or 
                 default-remote-id-syntax indicates a Slot or a Port 
                 identification shall be added to the sub-tag value, then
                 this leaf determines if the slot/port numbering MUST 
                 start from 0 or 1.";
                reference
                  "TR-178 - R118";
    
              }
    
              leaf use-leading-zeroes {
                type boolean;
                default "false";
                description
                  "In case the default-circuit-id-syntax or 
                 default-remote-id-syntax indicates a Slot or a Port 
                 identification shall be added to the sub-tag value, then
                 this leaf determines if the slot/port numbering MUST use
                 leading 0's or not, i.e. generate a fixed length string
                  or a string with only meaningful digits.";
                reference
                  "TR-178 - R119 and TR-101i2 - R153";
    
              }
            }  // container pppoe-vendor-specific-tag
          }  // list pppoe-profile
        }  // container pppoe-profiles
    
        augment /if:interfaces-state/if:interface/if:statistics {
          when
            "derived-from-or-self(../if:type,
           'bbfift:vlan-sub-interface')" {
            description
              "Applies to VLAN sub-interfaces.";
          }
          description
            "PPPoE Intermediate Agent statistics.";
          container pppoe {
            presence
              "This container is present if PPPoE Intermediate Agent 
             functionality is enabled on this interface.";
            description
              "Container presents the packet statistics related to the PPPoE
             Intermediate Agent.";
            leaf in-error-packets-from-client {
              type yang:counter32;
              description
                "Invalid PPPoE discovery stage packets received on the 
               interface. The packets are received from a PPPoE Client 
               connected to it (directly or indirectly through a network).
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf in-error-packets-from-server {
              type yang:counter32;
              description
                "Invalid PPPoE discovery stage packets received on the 
               interface. The packets are received from a PPPoE Server 
               connected to it (directly or indirectly through a network).
    
               Discontinuities in the counter can occur at
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf in-packets-from-client {
              type yang:counter32;
              description
                "Valid PPPoE discovery stage packets received on the 
               interface. The packets are received from a PPPoE Client 
               connected to it (directly or indirectly through a network).
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf in-packets-from-server {
              type yang:counter32;
              description
                "Valid PPPoE discovery stage packets received on the 
               interface. The packets are received from a PPPoE Server 
               connected to it (directly or indirectly through a network).
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf out-packets-to-server {
              type yang:counter32;
              description
                "Valid PPPoE discovery stage packets sent to the 
               interface. The packets are sent to a PPPoE Server 
               connected to it (directly or indirectly through a network).
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf out-packets-to-client {
              type yang:counter32;
              description
                "Valid PPPoE discovery stage packets sent to the 
               interface. The packets are sent to a PPPoE Client 
               connected to it (directly or indirectly through a network).
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf vendor-specific-tag-inserted-packets-to-server {
              type yang:counter32;
              description
                "PPPoE discovery stage packets from a Client to a Server 
               that pass this interface and into which the PPPoE 
               Intermediate Agent functionality inserted the 
               vendor-specific tag.
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf vendor-specific-tag-removed-packets-to-client {
              type yang:counter32;
              description
                "PPPoE discovery stage packets from a Server to a Client 
               that pass this interface and from which the PPPoE 
               Intermediate Agent functionality removed the 
               vendor-specific tag.
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
            }
    
            leaf outgoing-mtu-exceeded-packets-from-client {
              type yang:counter32;
              description
                "PPPoE discovery stage packets from a Client that are 
               dropped because the PPPoE Message size after
               adding the vendor-specific tag would exceed the MTU 
               of the outgoing interface.
    
               Discontinuities in the counter can occur at 
               re-initialization of the management system, and/or when the
               PPPoE Intermediate Agent functionality is disabled/
               enabled.";
              reference
                "TR-254 - section 5.4.2.1";
    
            }
          }  // container pppoe
        }
      }  // module bbf-pppoe-intermediate-agent
    

© 2023 YumaWorks, Inc. All rights reserved.