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 References in this YANG module to IEEE Std 802.1Q are to IEEE Std 802.1Q-2022 as amended by IEEE Std 802.1Qcz-2023. 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-07-03 { description "LLDP extension TLVs for the basicSet. Published as part of IEEE Std 802.1Qcz-2023."; reference "Annex D of IEEE Std 802.1Q"; } grouping port-vlan-id-tlv { description "Port VLAN ID TLV"; reference "D.2.1 of IEEE Std 802.1Q"; leaf port-vlan-id { type dot1qtypes:vlanid; description "Advertise port VLAN Identifier, Send 0 if unknown or unsupported"; reference "D.2.1 of IEEE Std 802.1Q"; } } grouping port-and-protocol-vlan-id-tlv { description "Port and Protocol VLAN ID TLV"; reference "D.2.2 of IEEE Std 802.1Q"; uses port-vlan-id-tlv { reference "D.2.2 of IEEE Std 802.1Q"; } 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 "D.2.2.1 of IEEE Std 802.1Q"; } } grouping port-vlan-name-tlv { description "Port VLAN NAME TLV"; reference "D.2.3 of IEEE Std 802.1Q"; leaf vlan-id { type dot1qtypes:vlanid; description "The VLAN ID associated with the VLAN Name"; reference "D.2.3.2 of IEEE Std 802.1Q"; } leaf port-vlan-name { type string { length "0..32"; } description "Advertise port VLAN Name, Send 0 length if unknown or unsupported"; reference "D.2.3.3 of IEEE Std 802.1Q"; } } grouping protocol-identity-tlv { description "Protocol Identity TLV"; reference "D.2.4 of IEEE Std 802.1Q"; leaf protocol-identity { type string { length "1..255"; } description "Advertise ProtocolIdentity"; reference "D.2.4.3 of IEEE Std 802.1Q"; } } grouping vid-usage-digest-tlv { description "VID Usage Digest TLV"; reference "D.2.5 of IEEE Std 802.1Q"; leaf vid-usage-digest { type uint32; config false; description "Advertise VID Usage Digest"; reference "D.2.5.1 of IEEE Std 802.1Q"; } } grouping management-vid-tlv { description "Management VID TLV"; reference "D.2.6 of IEEE Std 802.1Q"; leaf management-vid { type dot1qtypes:vlanid; description "Advertise Management VID"; reference "D.2.6.1 of IEEE Std 802.1Q"; } } grouping link-aggregation-tlv { description "Link Aggregation TLV"; reference "F.2 of IEEE Std 802.1AX-2020"; 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 "F.2.1 of IEEE Std 802.1AX-2020"; } leaf aggregated-port-id { type uint32; description "Advertise aggregated port identifier"; reference "F.2.2 of IEEE Std 802.1AX-2020"; } } 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 management-vid-tlv-extension { description "The Management VID TLV"; uses management-vid-tlv; } } 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 "D.2.1 of IEEE Std 802.1Q"; } bit port-protocol-vlan-id { position 1; description "D.2.2 of IEEE Std 802.1Q"; } bit vlan-name { position 2; description "D.2.3 of IEEE Std 802.1Q"; } bit protocol-identity { position 3; description "D.2.4 of IEEE Std 802.1Q"; } bit vid-user-digest { position 4; description "D.2.5 of IEEE Std 802.1Q"; } bit management-vid { position 5; description "D.2.6 of IEEE Std 802.1Q"; } bit link-aggregation { position 6; description "Annex F of IEEE Std 802.1AX-2020"; } } description "Bitmap that includes the basicSet of TLVs from Table D-1 of IEEE Std 802.1Q"; reference "D.2 of IEEE Std 802.1Q"; } container port-vlan-id-tlv-extension { description "The Port VLAN ID TLV"; uses port-vlan-id-tlv; } container port-and-protocol-vlan-id-extension { description "The Port and Protocol VLAN ID TLV"; uses port-and-protocol-vlan-id-tlv; } container port-vlan-name-tlv-extension { description "The Port VLAN Name TLV"; uses port-vlan-name-tlv; } container protocol-identity-tlv-extension { description "The Protocol Identity TLV"; uses protocol-identity-tlv; } container link-aggregation-tlv-extension { description "The Link Aggregation TLV"; uses link-aggregation-tlv; } } 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-and-protocol-vlan-id-extension { description "Holds a received Port and Protocol VLAN ID TLV"; uses port-and-protocol-vlan-id-tlv; } container port-vlan-name-tlv-extension { description "Holds a received VLAN Name TLV"; uses port-vlan-name-tlv; } container protocol-identity-tlv-extension { description "Holds a received Protocol Identity TLV"; uses protocol-identity-tlv; } container link-aggregation-tlv-extension { description "Holds a received Link Aggregation TLV"; uses link-aggregation-tlv; } container vid-usage-digest-tlv-extension { description "Holds a received VID Usage TLV"; uses vid-usage-digest-tlv; } container management-vid-tlv-extension { description "Holds a received Management VID TLV"; uses management-vid-tlv; } } }