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 "2020-08-10" {
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-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 {
uses vid-usage-digest-tlv;
} // container vid-usage-digest-tlv-extension
container management-vid-tlv-extension {
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 {
uses port-vlan-id-tlv;
} // container port-vlan-id-tlv-extension
container port-and-protocol-vlan-id-extension {
uses port-and-protocol-vlan-id-tlv;
} // container port-and-protocol-vlan-id-extension
container port-vlan-name-tlv-extension {
uses port-vlan-name-tlv;
} // container port-vlan-name-tlv-extension
container protocol-identity-tlv-extension {
uses protocol-identity-tlv;
} // container protocol-identity-tlv-extension
container link-aggregation-tlv-extension {
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 {
uses port-vlan-id-tlv;
} // container port-vlan-id-tlv-extension
container port-and-protocol-vlan-id-extension {
uses port-and-protocol-vlan-id-tlv;
} // container port-and-protocol-vlan-id-extension
container port-vlan-name-tlv-extension {
uses port-vlan-name-tlv;
} // container port-vlan-name-tlv-extension
container protocol-identity-tlv-extension {
uses protocol-identity-tlv;
} // container protocol-identity-tlv-extension
container link-aggregation-tlv-extension {
uses link-aggregation-tlv;
} // container link-aggregation-tlv-extension
container vid-usage-digest-tlv-extension {
uses vid-usage-digest-tlv;
} // container vid-usage-digest-tlv-extension
container management-vid-tlv-extension {
uses management-vid-tlv;
} // container management-vid-tlv-extension
}
} // module ieee802-dot1q-lldp-basic-tlv