ieee802-dot1q-lldp-basic-tlv

IEEE Std 802.1Q extension tlvs for LLDP

  • Version: 2021-03-02

    ieee802-dot1q-lldp-basic-tlv@2021-03-02


    
      module ieee802-dot1q-lldp-basic-tlv {
    
        yang-version 1.1;
    
        namespace
          'urn:ieee:std:802.1Q:yang:ieee802-dot1q-lldp-basic-tlv';
    
        prefix lldp-basic-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
          "IEEE Std 802.1Q extension tlvs for LLDP";
    
        revision "2021-03-02" {
          description
            "LLDP extension tlvs for the basicSet. Published as part of IEEE
          Std 802.1Qcz-2021. Initial version.";
          reference
            "IEEE Std 802.1Qcz-2021 Annex D";
    
        }
    
    
        grouping port-vlan-id-tlv {
          description "Port VLAN ID TLV";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.1";
    
          leaf port-vlan-id {
            type dot1qtypes:vlanid;
            description
              "Advertise port VLAN identifier, Send 0 if unknown or unsupported";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.1";
    
          }
        }  // grouping port-vlan-id-tlv
    
        grouping port-and-protocol-vlan-id-tlv {
          description
            "Port and Protocol VLAN ID TLV";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.2";
    
          uses port-vlan-id-tlv {
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.2.2";
    
          }
    
          leaf flags {
            type bits {
              bit
                port-and-protocol-vlan-supported {
                position 1;
                description
                  "1 = supported, 0 = not supported";
              }
              bit
                port-and-protocol-vlan-enabled {
                position 2;
                description
                  "1 = enabled, 0 = not enabled";
              }
            }
            description
              "Port and Protocol VLAN capability and status. Bit positions 0
            and 3-7 are reserved for future standardization";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.2.1";
    
          }
        }  // grouping port-and-protocol-vlan-id-tlv
    
        grouping port-vlan-name-tlv {
          description "Port VLAN NAME TLV";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.3";
    
          leaf vlan-id {
            type dot1qtypes:vlanid;
            description
              "The VLAN ID associated with the VLAN Name";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.3.2";
    
          }
    
          leaf port-vlan-name {
            type string {
              length "0..32";
            }
            description
              "Advertise port VLAN Name, Send 0 length if unknown or
            unsupported";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.3.3";
    
          }
        }  // grouping port-vlan-name-tlv
    
        grouping protocol-identity-tlv {
          description "Protocol Identity TLV";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.4";
    
          leaf protocol-identity {
            type string {
              length "1..255";
            }
            description
              "Advertise ProtocolIdentity";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.4.3";
    
          }
        }  // grouping protocol-identity-tlv
    
        grouping vid-usage-digest-tlv {
          description "VID Usage Digest TLV";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.5";
    
          leaf vid-usage-digest {
            type uint32;
            config false;
            description
              "Advertise VID Usage Digest";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.5.1";
    
          }
        }  // grouping vid-usage-digest-tlv
    
        grouping management-vid-tlv {
          description "Management VID TLV";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.6";
    
          leaf management-vid {
            type dot1qtypes:vlanid;
            description
              "Advertise Management VID";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2.6.1";
    
          }
        }  // grouping management-vid-tlv
    
        grouping link-aggregation-tlv {
          description "Link Aggregation TLV";
          reference
            "IEEE Std 802.1AX-2014 Annex F.1";
    
          leaf aggregation-status {
            type bits {
              bit aggregation-capability {
                position 0;
                description
                  "1 = supported, 0 = not supported";
              }
              bit aggregation-status {
                position 1;
                description
                  "1 = currently aggregated, 0 = not currently aggregated";
              }
              bit port-typeLS {
                position 2;
                description
                  "Least Significant Bit of 2 bit port type value";
              }
              bit port-typeMS {
                position 3;
                description
                  "Most Significant Bit of 2 bit port type value";
              }
            }
            description
              "Link Aggregation capability and status. Bit positions 4-7 are
            reserved for future standardization";
            reference
              "IEEE Std 802.1AX-2014 Annex F.1.1";
    
          }
    
          leaf aggregated-port-id {
            type uint32;
            description
              "Advertise aggregated port identifier";
            reference
              "IEEE Std 802.1AX-2014 Annex F.1.2";
    
          }
        }  // grouping link-aggregation-tlv
    
        augment /lldp:lldp {
          description
            "Augments lldp with information needed for system level extension
          tlvs";
          container vid-usage-digest-tlv-extension {
            description
              "The VID Usage Digest TLV";
            uses vid-usage-digest-tlv;
          }  // container vid-usage-digest-tlv-extension
    
          container management-vid-tlv-extension {
            description "The Management VID TLV";
            uses management-vid-tlv;
          }  // container management-vid-tlv-extension
        }
    
        augment /lldp:lldp/lldp:port {
          description
            "Augments port with basic extension tlvs";
          leaf tlvs-tx-org-basic-enable {
            type bits {
              bit port-vlan-id {
                position 0;
                description
                  "802.1Q-2018 Annex D2.1";
              }
              bit port-protocol-vlan-id {
                position 1;
                description
                  "802.1Q-2018 Annex D2.2";
              }
              bit vlan-name {
                position 2;
                description
                  "802.1Q-2018 Annex D2.3";
              }
              bit protocol-identity {
                position 3;
                description
                  "802.1Q-2018 Annex D2.4";
              }
              bit vid-user-digest {
                position 4;
                description
                  "802.1Q-2018 Annex D2.5";
              }
              bit management-vid {
                position 5;
                description
                  "802.1Q-2018 Annex D2.6";
              }
              bit link-aggregation {
                position 6;
                description
                  "802.1AX-2014 Annex F";
              }
            }
            description
              "Bitmap that includdes the basicSet of tlvs from Table D.1 of
            802.1Q-2018";
            reference
              "IEEE Std 802.1Q-2018 Annex D.2";
    
          }
    
          container port-vlan-id-tlv-extension {
            description "The Port VLAN ID TLV";
            uses port-vlan-id-tlv;
          }  // container port-vlan-id-tlv-extension
    
          container port-and-protocol-vlan-id-extension {
            description
              "The Port and Protocol VLAN ID TLV";
            uses port-and-protocol-vlan-id-tlv;
          }  // container port-and-protocol-vlan-id-extension
    
          container port-vlan-name-tlv-extension {
            description "The Port VLAN Name TLV";
            uses port-vlan-name-tlv;
          }  // container port-vlan-name-tlv-extension
    
          container protocol-identity-tlv-extension {
            description
              "The Protocol Identity TLV";
            uses protocol-identity-tlv;
          }  // container protocol-identity-tlv-extension
    
          container link-aggregation-tlv-extension {
            description
              "The Link Aggregation TLV";
            uses link-aggregation-tlv;
          }  // container link-aggregation-tlv-extension
        }
    
        augment /lldp:lldp/lldp:port/lldp:remote-systems-data {
          description
            "Augments port remote-systems-data with received basic extension
          tlvs";
          container port-vlan-id-tlv-extension {
            description
              "Holds a received Port VLAN ID TLV";
            uses port-vlan-id-tlv;
          }  // container port-vlan-id-tlv-extension
    
          container port-and-protocol-vlan-id-extension {
            description
              "Holds a received Port and Protocol VLAN ID TLV";
            uses port-and-protocol-vlan-id-tlv;
          }  // container port-and-protocol-vlan-id-extension
    
          container port-vlan-name-tlv-extension {
            description
              "Holds a received VLAN Name TLV";
            uses port-vlan-name-tlv;
          }  // container port-vlan-name-tlv-extension
    
          container protocol-identity-tlv-extension {
            description
              "Holds a received Protocol Identity TLV";
            uses protocol-identity-tlv;
          }  // container protocol-identity-tlv-extension
    
          container link-aggregation-tlv-extension {
            description
              "Holds a received Link Aggregation TLV";
            uses link-aggregation-tlv;
          }  // container link-aggregation-tlv-extension
    
          container vid-usage-digest-tlv-extension {
            description
              "Holds a received VID Usage TLV";
            uses vid-usage-digest-tlv;
          }  // container vid-usage-digest-tlv-extension
    
          container management-vid-tlv-extension {
            description
              "Holds a received Management VID TLV";
            uses management-vid-tlv;
          }  // container management-vid-tlv-extension
        }
      }  // module ieee802-dot1q-lldp-basic-tlv
    

© 2023 YumaWorks, Inc. All rights reserved.