bbf-vlan-sub-interface-profiles

This module contains a collection of YANG definitions for supporting the Broadband Forum requirements on the management of sub-i...

  • Version: 2023-03-07

    bbf-vlan-sub-interface-profiles@2023-03-07


    
      module bbf-vlan-sub-interface-profiles {
    
        yang-version 1.1;
    
        namespace
          "urn:bbf:yang:bbf-vlan-sub-interface-profiles";
    
        prefix bbf-vsi-prof;
    
        import bbf-yang-types {
          prefix bbf-yang;
        }
        import bbf-if-type {
          prefix bbfift;
        }
        import ietf-interfaces {
          prefix if;
        }
    
        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 the management of
    sub-interfaces 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).
    
    Specifically, this module extends the methods for configuring a
    VLAN sub-interface with a method that enables management of the
    configuration through a profile.
    
    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-383a6; see
    the TR itself for full legal notices.";
    
        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>";
    
        }
    
    
        container vsi-profiles {
          description
            "Configuration of VLAN sub-interface profiles.";
          list vsi-profile {
            key "name";
            description
              "A profile providing a mechanism to configure data for VLAN
    sub-interfaces.
    
    Data nodes configured in a VLAN sub-interface profile are to
    be applied to VLAN sub-interfaces that reference the VLAN
    sub-interface profile where they get the same meaning as if
    the data was configured directly on the VLAN sub-interface.";
            leaf name {
              type bbf-yang:string-ascii64;
              description
                "The name of the profile.";
            }
    
            choice frame-processing {
              description
                "Configuring frame processing for a VLAN sub-interface is
    possible with one of multiple alternatives. They all have
    in common that the definition of the frame processing is
    relative to the lower-layer interface configured in the
    VLAN sub-interface its leaf 'subif-lower-layer'.
    
    For example, if there is configuration for ingress frame
    processing, then this means that frames received on the
    referenced lower-layer interface are subject to evaluation
    using the criteria configured.
    
    Not configuring any frame processing implies that there are
    no ingress match criteria to select frames received from
    the lower-layer interface into this sub-interface, and
    hence this sub-interface will not have to process any
    ingress frame.";
            }  // choice frame-processing
    
            container l2-dhcpv4-relay {
              presence
                "Enables support of L2 DHCPv4 Relay Agent functionality on
    interfaces referencing this profile.";
              description
                "L2 DHCPv4 Relay Agent configuration parameters.";
              leaf trusted-port {
                type union {
                  type boolean;
                  type enumeration {
                    enum "replace" {
                      value 0;
                      description
                        "For DHCPv4 messages containing option 82 information,
    remove the existing option 82 information and replace
    it based on the additional configuration for the L2
    DHCPv4 Relay Agent.";
                    }
                  }
                }
                default "false";
                description
                  "Affects the processing of DHCPv4 messages received on an
    interface and containing option 82.
    
    The value 'true' means messages containing option 82 are
    accepted and forwarded with option 82 unchanged. When the
    L2 DHCP Relay Agent receives in the downstream direction a
    reply containing option 82, which is a copy of the value
    that was passed in the upstream direction, then it does not
    remove this and sends the message on the interface with
    option 82 kept in.
    
    The value 'false' means the DHCPv4 messages containing
    option 82 shall be discarded.
    
    The value 'replace' means that the DHCPv4 message received
    on an interface will be modified before forwarding the
    message. The option 82 that is present in downstream
    messages, which is a copy of the one generated by the DHCP
    Relay Agent, shall be removed before sending the message on
    an interface.
    
    Does not affect the processing of DHCPv4 messages received
    on an interface without option 82.";
              }
    
              leaf profile-ref {
                type leafref {
                  path "/bbf-l2-d4r:l2-dhcpv4-relay-profiles/bbf-l2-d4r:l2-dhcpv4-relay-profile/bbf-l2-d4r:name";
                }
                mandatory true;
                description
                  "Reference to the DHCPv4 configuration profile.
    
    Affects the processing of DHCPv4 messages received on an
    interface and not containing option 82. Option 82 shall be
    added before forwarding the message upstream. The content
    of option 82 is determined by the referenced profile. When
    option 82 is inserted in the upstream direction, then
    option 82 shall be removed from the downstream replies
    before sending the message on an interface.
    
    Also affects the processing of DHCPv4 messages received on
    an interface with option 82 when the leaf 'trusted-port' is
    set to 'replace'. In that case the option 82 received on an
    interface is removed and replaced by a newly generated one
    according the referenced profile.
    
    Does not affect the processing of DHCPv4 messages received
    on an interface with option 82 when the leaf 'trusted-port'
    does not exist or has a value different from 'replace'.";
              }
            }  // container l2-dhcpv4-relay
    
            container qos {
              presence
                "Presence of this container indicates QoS functionality is
    enabled.";
              description
                "QoS configuration parameters.";
              leaf ingress-qos-policy-profile {
                type qos-policy-profile-ref;
                description
                  "A reference to a QoS policy profile. The profile is to be
    applied to incoming frames.";
              }
    
              leaf egress-qos-policy-profile {
                type qos-policy-profile-ref;
                description
                  "A reference to a QoS policy profile. The profile is to be
    applied to outgoing frames.";
              }
            }  // container qos
    
            container dhcpv6-ldra {
              presence
                "Enables support of a Lightweight DHCPv6 Relay Agent (LDRA) on
    interfaces referencing this profile.";
              description
                "Lightweight DHCPv6 Relay Agent (LDRA) configuration
    parameters.";
              leaf trusted-port {
                type boolean;
                default "false";
                description
                  "Marks a client-facing interface as trusted for the LDRA.
    When an interface is deemed untrusted, i.e., configured
    'false', then the LDRA must discard any message of type
    RELAY-FORW (12) received from the client-facing interface.
    When an interface is trusted i.e;, configured 'true', then
    the RELAY-FORW DHCPv6 message coming from an LDRA, or other
    messages coming from a client such as a Solicit message,
    are forwarded embedded in a new RELAY-FORW message.";
                reference
                  "RFC 6221 Section 6.1.2";
    
              }
    
              leaf profile-ref {
                type leafref {
                  path "/bbf-ldra:dhcpv6-ldra-profiles/bbf-ldra:dhcpv6-ldra-profile/bbf-ldra:name";
                }
                mandatory true;
                description
                  "Reference to the DHCPv6 configuration profile.";
              }
            }  // container dhcpv6-ldra
    
            container icmpv6 {
              presence
                "Enables ICMPv6 message processing on interfaces referencing
    this profile.";
              description
                "ICMPv6 message processing configuration parameters.";
              leaf enabled {
                type union {
                  type enumeration {
                    enum "true" {
                      value 0;
                      description
                        "The ICMPv6 Relay will process ICMPv6 messages
    received on the interface as defined in the
    referenced Technical Report:
    - Discard messages that are only sent by routers,
      i.e., Router Advertisement, Redirect, MLD Query
      messages.
    - Relay the received Router Solicitation within a new
      IPv6 datagram and insert a LIO.
    - Forward other ICMPv6 messages as normal layer 2
      frames
    
    The downstream IPv6 datagram received as a reply will
    be unpacked and the Router Advertisement message
    included within will be sent on the interface
    identified by the LIO.
    
    Downstream ICMPv6 messages that can come from a
    router are forwarded, Downstream ICMPv6 messages that
    can come only from a host, i.e., the Router
    Solicitation message, shall be discarded (if it
    reaches the VLAN sub-interface).";
                    }
                    enum "secured-host" {
                      value 1;
                      description
                        "Upstream ICMPv6 messages that can be sent by a host
    are forwarded. Messages that can be sent only by a
    router are discarded. Discarded messages are:
    - Router Advertisement
    - Redirect
    - MLD query messages.
    
    Downstream ICMPv6 messages that could reveal data of
    one user to another shall be sent to the right user
    only or shall be discarded. For example, the
    multicast Neighbor Solicitation message sent to
    resolve a user's IP address to a MAC address shall be
    discarded.";
                    }
                  }
                }
                default "true";
                description
                  "The ICMPv6 Relay will forward messages as defined by the
    selected enum value.";
                reference
                  "TR-177 R-17;
                  TR-177 R-18;
                  TR-177 R-19;
                  TR-177 R-20";
    
              }
    
              leaf unknown-type-processing {
                type enumeration {
                  enum "forward" {
                    value 0;
                    description
                      "ICMPv6 messages with a type unknown to the device are
    processed based on the layer 2 forwarding
    configuration.";
                  }
                  enum "discard" {
                    value 1;
                    description
                      "ICMPv6 messages with a type unknown to the device are
    discarded.";
                  }
                }
                default "forward";
                description
                  "Manages how to process ICMPv6 messages with a type unknown
    to the device.";
                reference
                  "TR-177 R-13";
    
              }
    
              leaf profile-ref {
                when "../enabled = 'true'" {
                  description
                    "Applicable only when ICMPv6 Relay functionality is
    enabled.";
                }
                if-feature bbf-icmpv6-pc:relay-with-lio;
                type leafref {
                  path "/bbf-icmpv6:icmpv6-profiles/bbf-icmpv6:icmpv6-profile/bbf-icmpv6:name";
                }
                mandatory true;
                description
                  "Reference to the ICMPv6 configuration profile.";
              }
            }  // container icmpv6
    
            container pppoe {
              presence
                "Enables support of PPPoE Intermediate Agent functionality on
    interfaces referencing this profile.";
              description
                "PPPoE Intermediate Agent configuration parameters.";
              leaf profile-ref {
                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. 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.
    
    Also 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
          }  // list vsi-profile
        }  // container vsi-profiles
      }  // module bbf-vlan-sub-interface-profiles
    

© 2023 YumaWorks, Inc. All rights reserved.