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://grouper.ieee.org/groups/802/1/ WG-EMail: stds-802-1@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-L@LISTSERV.IEEE.ORG"; description "IEEE Std 802.1Q extension tlvs for LLDP"; revision 2020-04-01 { description "LLDP extension tlvs for the basicSet"; reference "IEEE Std 802.1Q-2018 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-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 reserved0 { position 0; description "Reserved for future standardization"; } 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"; } bit reserved3 { position 3; description "Reserved for future standardization"; } bit reserved4 { position 4; description "Reserved for future standardization"; } bit reserved5 { position 5; description "Reserved for future standardization"; } bit reserved6 { position 6; description "Reserved for future standardization"; } bit reserved7 { position 7; description "Reserved for future standardization"; } } description "Port and Protocol VLAN capability and status"; reference "IEEE Std 802.1Q-2018 Annex D.2.2.1"; } } 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 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 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; description "Advertise VID Usage Digest"; reference "IEEE Std 802.1Q-2018 Annex D.2.5.1"; } } grouping management-vid-tlv { description "Management VID TLV"; reference "IEEE Std 802.1Q-2018 Annex D.2.6"; leaf management-vid { type uint32; description "Advertise Management VID"; reference "IEEE Std 802.1Q-2018 Annex D.2.6.1"; } } 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"; } bit reserved4 { position 4; description "Reserved for future standardization"; } bit reserved5 { position 5; description "Reserved for future standardization"; } bit reserved6 { position 6; description "Reserved for future standardization"; } bit reserved7 { position 7; description "Reserved for future standardization"; } } description "Link Aggregation capability and status"; 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"; } } augment "/lldp:lldp" { description "Augments lldp with information needed for system level extension tlvs"; container vid-usage-digest-tlv-extension { uses vid-usage-digest-tlv; } container management-vid-tlv-extension { 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 "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 { uses port-vlan-id-tlv; } container port-and-protocol-vlan-id-extension { uses port-and-protocol-vlan-id-tlv; } container port-vlan-name-tlv-extension { uses port-vlan-name-tlv; } container protocol-identity-tlv-extension { uses protocol-identity-tlv; } container link-aggregation-tlv-extension { 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 { uses port-vlan-id-tlv; } container port-and-protocol-vlan-id-extension { uses port-and-protocol-vlan-id-tlv; } container port-vlan-name-tlv-extension { uses port-vlan-name-tlv; } container protocol-identity-tlv-extension { uses protocol-identity-tlv; } container link-aggregation-tlv-extension { uses link-aggregation-tlv; } container vid-usage-digest-tlv-extension { uses vid-usage-digest-tlv; } container management-vid-tlv-extension { uses management-vid-tlv; } } }