ieee802-dot1q-lldp-pbbn-aa-tlv

LLDP PBBN Auto Attach TLVs Copyright (C) IEEE (2023). This version of this YANG module is part of IEEE Std 802.1Q; see the sta...

  • Version: 2023-10-26

    ieee802-dot1q-lldp-pbbn-aa-tlv@2023-10-26


    
      module ieee802-dot1q-lldp-pbbn-aa-tlv {
    
        yang-version 1.1;
    
        namespace
          'urn:ieee:std:802.1Q:yang:ieee802-dot1q-lldp-pbbn-aa-tlv';
    
        prefix lldp-aa-tlv;
    
        import ieee802-dot1ab-lldp {
          prefix lldp;
        }
        import ieee802-dot1q-types {
          prefix dot1qtypes;
        }
    
        organization
          "Institute of Electrical and Electronics Engineers";
    
        contact
          "WG-URL: http://ieee802.org/1/
        WG-EMail: stds-802-1-l@ieee.org
        Contact: IEEE 802.1 Working Group Chair
        Postal: C/O IEEE 802.1 Working Group
           IEEE Standards Association
           445 Hoes Lane
           Piscataway, NJ 08854
           USA
        
        E-mail: stds-802-1-chairs@ieee.org";
    
        description
          "LLDP PBBN Auto Attach TLVs
    
        Copyright (C) IEEE (2023).
    
        This version of this YANG module is part of IEEE Std 802.1Q; see the
        standard itself for full legal notices.";
    
        revision "2023-10-26" {
          description
            "Published as part of IEEE Std 802.1Qcj-2023.
    
          The following reference statement identifies each referenced IEEE
          Standard as updated by applicable amendments.";
          reference
            "IEEE Std 802.1Q Bridges and Bridged Networks:
            IEEE Std 802.1Q-2022, IEEE Std 802.1Qcz-2023, IEEE Std 802.1Qcw-2023,
            IEEE Std 802.1Qcj-2023.
            IEEE Std 802 Overview and Architecture: IEEE Std 802-2014.";
    
        }
    
    
        identity assoc-state-selector {
          description
            "Specify the state of the association between the AAS entities as
          described by D.2.17.5 of IEEE Std 802.1Q";
        }
    
        identity not-ready {
          base assoc-state-selector;
          description
            "Indicates the association state of NOT_READY as specified in D.2.17.5
          of IEEE Std 802.1Q. Signaled as the value 0x00.";
        }
    
        identity ready-to-assoc {
          base assoc-state-selector;
          description
            "Indicates the association state of READY_TO_ASSOC as specified in
          D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x01.";
        }
    
        identity ready-to-attach {
          base assoc-state-selector;
          description
            "Indicates the association state of READY_TO_ATTACH as specified in
          D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x02.";
        }
    
        identity assoc-failed-types {
          base assoc-state-selector;
          description
            "Indicates the association state of ASSOC_FAILED_TYPES as specified
          in D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x12.";
        }
    
        identity assoc-failed-tags {
          base assoc-state-selector;
          description
            "Indicates the association state of ASSOC_FAILED_TAGS as specified
          in D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x22.";
        }
    
        identity assoc-failed-topo {
          base assoc-state-selector;
          description
            "Indicates the association state of ASSOC_FAILED_TOPO as specified
          in D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x32.";
        }
    
        identity assoc-failed-other {
          base assoc-state-selector;
          description
            "Indicates the association state of ASSOC_FAILED_OTHER as specified
          in D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x42.";
        }
    
        identity assoc-attached {
          base assoc-state-selector;
          description
            "Indicates the association state of ASSOC_ATTACHED as specified in
          D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x03.";
        }
    
        identity assoc-standby {
          base assoc-state-selector;
          description
            "Indicates the association state of ASSOC_STANDBY as specified in
          D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x13.";
        }
    
        identity assoc-invalid {
          base assoc-state-selector;
          description
            "Indicates the association state of ASSOC_INVALID as specified in
          D.2.17.5 of IEEE Std 802.1Q. Signaled as the value 0x23.";
        }
    
        identity system-type-selector {
          description
            "Specify the selection of the PPBN Auto-attach system type as
          specified in D.2.17.7 of IEEE Std 802.1Q";
        }
    
        identity aab-system {
          base system-type-selector;
          description
            "Indicates the system type of an Auto Attach BEB (AAB) in the PPBN
          Auto Attach System TLV specified in D.2.17 of IEEE Std 802.1Q.
          Signaled as the value 1.";
        }
    
        identity aad-cvlan-system {
          base system-type-selector;
          description
            "Indicates the system type of a C-VLAN aware Auto Attach Device
          (AAD) in the PPBN Auto Attach System TLV specified in D.2.17 of
          IEEE Std 802.1Q. Signaled as the value 2.";
        }
    
        identity aad-vlan-unaware-system {
          base system-type-selector;
          description
            "Indicates the system type of a VLAN unaware Auto Attach Device
          (AAD) in the PPBN Auto Attach System TLV specified in D.2.17 of
          IEEE Std 802.1Q. Signaled as the value 3.";
        }
    
        identity aad-svlan-system {
          base system-type-selector;
          description
            "Indicates the system type of a S-VLAN aware Auto Attach Device
          (AAD) in the PPBN Auto Attach System TLV specified in D.2.17 of
          IEEE Std 802.1Q. Signaled as the value 4.";
        }
    
        identity tagging-selector {
          description
            "Specify the tagging field selection of the PPBN Auto Attach System
          TLV as specified in D.2.17.8 of IEEE Std 802.1Q";
        }
    
        identity tagged-only {
          base tagging-selector;
          description
            "Indicates the AAD link tagging requirement of all VLAN tagged in
          AAD sourced frames. Signaled as the value 0 in the PPBN Auto Attach
          System TLV specified in D.2.17 of IEEE Std 802.1Q.";
        }
    
        identity untagged-or-tagged {
          base tagging-selector;
          description
            "Indicates the AAD link tagging requirement of untagged and VLAN
          tagged in AAD sourced frames. Signaled as the value 1 in the PPBN
          Auto Attach System TLV specified in D.2.17 of IEEE Std 802.1Q.";
        }
    
        identity untagged-only {
          base tagging-selector;
          description
            "Indicates the AAD link tagging requirement of all untagged in AAD
          sourced frames. Signaled as the value 2 in the PPBN Auto Attach
          System TLV specified in D.2.17 of IEEE Std 802.1Q.";
        }
    
        identity assignment-status-selector {
          description
            "Specify the status of an assignment in the PBBN Auto Attach
          Assignment TLV sent by the AAB for each VID/I-SID assignment request.";
        }
    
        identity pending {
          base assignment-status-selector;
          description
            "Indicates the AAB is processing the assignment. This status is
          used by the AAD while it is waiting for a response from the AAB as
          described in D.2.18.6 of IEEE Std 802.1Q. Signaled as the value 1.";
        }
    
        identity accepted {
          base assignment-status-selector;
          description
            "Indicates the AAB assignment processing request is complete for
          the VID/I-SID and the VLAN to BSI connection has been established
          as described in D.2.18.6 of IEEE Std 802.1Q. Signaled as the value
          2.";
        }
    
        identity rejected-generic {
          base assignment-status-selector;
          description
            "Indicates an undefined rejection has occurred as described in
          D.2.18.6 of IEEE Std 802.1Q. Signaled as the value 3.";
        }
    
        identity rejected-resource {
          base assignment-status-selector;
          description
            "Indicates a rejection has occurred due to system resources being
          unavailable as described in D.2.18.6 of IEEE Std 802.1Q. Signaled
          as the value 4.";
        }
    
        identity rejected-invalid-vlan {
          base assignment-status-selector;
          description
            "Indicates a rejection has occurred because the VID value is
          outside the range of 1 to 4094 as described in D.2.18.6 of IEEE Std
          802.1Q. Signaled as the value 5.";
        }
    
        identity rejected-vlan-resource {
          base assignment-status-selector;
          description
            "Indicates a rejection has occurred due to maximum VLAN resource
          limits have been reached as described in D.2.18.6 of IEEE Std
          802.1Q. Signaled as the value 6.";
        }
    
        identity rejected-invalid-isid {
          base assignment-status-selector;
          description
            "Indicates a rejection has occurred because the I-SID value is
          outside of the range 1 or 256 through 16777214 as described in
          D.2.18.6 of IEEE Std 802.1Q. Signaled as the value 7.";
        }
    
        identity rejected-isid-resource {
          base assignment-status-selector;
          description
            "Indicates a rejection has occurred due to maximum I-SID resource
          limits have been reached as described in D.2.18.6 of IEEE Std
          802.1Q. Signaled as the value 8.";
        }
    
        identity rejected-application {
          base assignment-status-selector;
          description
            "Indicates a rejection has occurred because of an issue with Auto
          Attach agent functions on the AAB as described in D.2.18.6 of IEEE
          Std 802.1Q. Signaled as the value 9.";
        }
    
        identity rejected-policy {
          base assignment-status-selector;
          description
            "Indicates a rejection has occurred because the Auto Attach
          assignment processing is subject to a policy or rule on the AAB
          where the assignment requested is not permitted or denied as
          described in D.2.18.6 of IEEE Std 802.1Q. Signaled as the value 10.";
        }
    
        typedef aa-isid-type {
          type dot1qtypes:isid-type {
            range "1 | 256..16777214";
          }
          description
            "The aa-i-sid type represents a Backbone Service Instance
          Identifier (I-SID). This is the 24-bit I-SID field used in the
          I-TAG TCI of a Provider Backbone Bridging frame. The values 0,
          2-254, and 16777215 are reserved for future standardization. The
          value 255 is dedicated to use by the SPB protocol. For Auto Attach
          values 2-255 are not allowed.";
          reference
            "D.2.18.8 of IEEE Std 802.1Q.";
    
        }
    
        typedef port-netid-type {
          type binary {
            length "12";
          }
          description
            "A 12-octet binary string representing the PortNetID fields of the
          PPBN Auto Attach System TLV as specified in D.2.17 of IEEE Std
          802.1Q. The 12 octet field uniquely identifies an Auto Attach port
          within the administrative domain used for Auto Attach. The first 6
          octets of the string are the binary representation of the system's
          MAC address. The next 2 octets are reserved and have the value 0.
          The last 4 octets are the integer IfIndex for the port.";
          reference
            "D.2.17.10 of IEEE Std 802.1Q";
    
        }
    
        grouping aa-system-tlv {
          description
            "PBBN Auto Attach System TLV";
          reference
            "D.2.17 of IEEE Std 802.1Q";
    
          leaf assoc-state {
            type identityref {
              base assoc-state-selector;
            }
            config false;
            description
              "Association state between AAS entities on the link";
            reference
              "D.2.17.5 of IEEE Std 802.1Q.";
    
          }
    
          leaf system-type {
            type identityref {
              base system-type-selector;
            }
            config false;
            description
              "Identifies the capability of the advertising system type.";
            reference
              "D.2.17.7 of IEEE Std 802.1Q.";
    
          }
    
          leaf tagging {
            type identityref {
              base tagging-selector;
            }
            config false;
            description
              "Indicates AAD link tagging requirements in AAD-sourced frames
            and current provisioning mode information.";
            reference
              "D.2.17.8 of IEEE Std 802.1Q.";
    
          }
    
          leaf portnetid {
            type port-netid-type;
            config false;
            description
              "Uniquely identifies an Auto Attach port within the
            administrative domain used for Auto Attach connection management.";
            reference
              "D.2.17.10 of IEEE Std 802.1Q.";
    
          }
        }  // grouping aa-system-tlv
    
        grouping aa-assign-tlv {
          description
            "PBBN Auto Attach Assignment TLV";
          reference
            "D.2.18 of IEEE Std 802.1Q";
    
          leaf num-assigns {
            type uint8 {
              range "0..101";
            }
            config false;
            description
              "Contains the number of Status/VID/I-SID triples in the PBBN Auto
            Attach assignment TLV.";
            reference
              "D.2.18.5 of IEEE Std 802.1Q.";
    
          }
    
          list assignments {
            key "vlan-id i-sid";
            config false;
            description
              "A triplet of fields in the PBBN Auto Attach Assignment TLV that
            indicates the mapping of VLAN ID to I-SID and the status of that
            mapping.";
            leaf assignment-status {
              type identityref {
                base assignment-status-selector;
              }
              config false;
              reference
                "D.2.18.6 of IEEE Std 802.1Q.";
    
            }
    
            leaf vlan-id {
              type dot1qtypes:vlanid;
              config false;
              description
                "Advertises the VLAN ID of the VLAN being mapped by the
              assignment. If this is an association with a VLAN unaware AAD
              this field is transmitted as zero and ignored on receive. If
              this is a VLAN aware AAD, then this field is a valid VID.";
              reference
                "D.2.18.7 of IEEE Std 802.1Q.";
    
            }
    
            leaf i-sid {
              type aa-isid-type;
              config false;
              description
                "Advertises the value of the PBBN Backbone Service
              Instance Identifier (I-SID) mapped by this assignment.";
              reference
                "D.2.18.8 of IEEE Std 802.1Q.";
    
            }
          }  // list assignments
        }  // grouping aa-assign-tlv
    
        augment /lldp:lldp/lldp:port {
          description
            "Augments port with the PBBN Auto Attach TLVs";
          leaf tlvs-tx-org-aa-system-enable {
            type bits {
              bit aaSystem {
                position 0;
                description
                  "D.2.17 of IEEE Std 802.1Q";
              }
              bit aaAssign {
                position 1;
                description
                  "D.2.18 of IEEE Std 802.1Q";
              }
            }
            config false;
            description
              "Bitmap that includes the aaSet of TLVs from Table D-1 of IEEE
            Std 802.1Q";
            reference
              "D.1 of IEEE Std 802.1Q";
    
          }
    
          container aa-system-tlv-extension {
            description
              "The PBBN Auto Attach System TLV";
            uses aa-system-tlv;
          }  // container aa-system-tlv-extension
    
          container aa-assign-tlv-extension {
            description
              "The PBBN Auto Attach Assignment TLV";
            uses aa-assign-tlv;
          }  // container aa-assign-tlv-extension
        }
    
        augment /lldp:lldp/lldp:port/lldp:remote-systems-data {
          description
            "Augments port remote-systems-data with received PBBN Auto Attach
          TLVs";
          container aa-system-tlv-extension {
            description
              "Holds a received PBBN Auto Attach System TLV";
            uses aa-system-tlv;
          }  // container aa-system-tlv-extension
    
          container aa-assign-tlv-extension {
            description
              "Holds a received PBBN Auto Attach Assignment TLV";
            uses aa-assign-tlv;
          }  // container aa-assign-tlv-extension
        }
      }  // module ieee802-dot1q-lldp-pbbn-aa-tlv
    

© 2023 YumaWorks, Inc. All rights reserved.