bbf-pppoe-intermediate-agent

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

  • Version: 2023-12-15

    bbf-pppoe-intermediate-agent@2023-12-15


    
      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-if-type {
          prefix bbfift;
        }
        import bbf-pppoe-intermediate-agent-profile-common {
          prefix bbf-pppoe-ia-pc;
        }
    
        organization
          "Broadband Forum <https://www.broadband-forum.org>
    Common YANG Work Area";
    
        contact
          "Comments or questions about this Broadband Forum YANG module
    should be directed to <mailto:help@broadband-forum.org>.
    
    Editor:      Nick Hancock, Adtran
    
    Editor:      Ludwig Pauwels, Nokia
    
    PS Leader:   Joey Boyd, Adtran
    
    WA Director: Joey Boyd, Adtran
    
    WA Director: Sven Ooghe, Nokia";
    
        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-2023, 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-383a7; see
    the TR itself for full legal notices.";
    
        revision "2023-12-15" {
          description
            "Amendment 7.
    * Approval Date:    2023-12-15.
    * Publication Date: 2023-12-15.";
          reference
            "TR-383a7: Common YANG Modules
            	  <https://www.broadband-forum.org/technical/download/
            		   TR-383_Amendment-7.pdf>";
    
        }
    
        revision "2023-03-07" {
          description
            "Amendment 6.
    * Approval Date:    2023-03-07.
    * Publication Date: 2023-03-07.";
          reference
            "TR-383a6: Common YANG Modules
            	  <https://www.broadband-forum.org/technical/download/
            		   TR-383_Amendment-6.pdf>";
    
        }
    
        revision "2022-03-01" {
          description
            "Amendment 5.
    * Approval Date:    2022-03-01.
    * Publication Date: 2022-03-01.";
          reference
            "TR-383a5: Common YANG Modules
            	  <https://www.broadband-forum.org/technical/download/
            		   TR-383_Amendment-5.pdf>";
    
        }
    
        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>";
    
        }
    
    
        uses bbf-pppoe-ia-pc:pppoe-profiles;
    
        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
              "Enables the management of PPPoE discovery process at this
    VLAN sub-interface.";
            description
              "PPPoE Intermediate Agent configuration parameters.
    
    The presence of the container itself does not instantiate a
    PPPoE Intermediate Agent, this is dependent on the value of
    the contained leaf 'enable'.
    
    If the container is not present, no PPPoE Intermediate Agent
    functionality is performed on this interface. Any received
    PPPoE discovery messages are processed based on the layer 2
    forwarding configuration, e.g., VLAN sub-interface and/or
    layer 2 forwarding.";
            leaf enable {
              type boolean;
              default "false";
              description
                "Controls the PPPoE Intermediate Agent functionality
    processing of PPPoE discovery messages received on an
    interface and messages to be sent to an interface.
    
    If 'true', enables the PPPoE Intermediate Agent to process
    PPPoE discovery messages based on the additional relay
    agent configuration.
    
    If 'false', no PPPoE Intermediate Agent functionality is
    performed. Any received PPPoE discovery messages received
    are processed based on the layer 2 forwarding
    configuration, e.g., VLAN sub-interface and/or layer 2
    forwarding.";
            }
    
            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.
    
    Affects the processing of PPPoE discovery messages,
    received on an interface, that do not contain a
    vendor-specific tag. The existence of the 'profile-ref'
    means that a vendor-specific tag shall be added before
    forwarding the message upstream. The content of the
    vendor-specific tag is determined by the referenced
    profile.
    
    Affects the processing of PPPoE discovery messages received
    on an interface with vendor-specific tag present. In that
    case the vendor-specific tag received on an interface is
    removed and replaced by a newly generated one according the
    referenced profile.";
              reference
                "TR-101i2 Section 3.9.2";
    
            }
          }  // container pppoe
        }
    
        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
              "PPPoE Intermediate Agent message statistics.";
            leaf in-error-packets-from-client {
              type yang:counter32;
              units "messages";
              description
                "Invalid PPPoE discovery stage messages received on the
    interface. The messages 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;
              units "messages";
              description
                "Invalid PPPoE discovery stage messages received on the
    interface. The messages 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;
              units "messages";
              description
                "Valid PPPoE discovery stage messages received on the
    interface. The messages 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;
              units "messages";
              description
                "Valid PPPoE discovery stage messages received on the
    interface. The messages 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;
              units "messages";
              description
                "Valid PPPoE discovery stage messages sent to the interface.
    The messages 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;
              units "messages";
              description
                "Valid PPPoE discovery stage messages sent to the interface.
    The messages 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;
              units "messages";
              description
                "PPPoE discovery stage messages 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;
              units "messages";
              description
                "PPPoE discovery stage messages 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;
              units "messages";
              description
                "PPPoE discovery stage messages 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.