module ieee802-dot1q-lldp-dcbx-tlv {
yang-version 1.1;
namespace
'urn:ieee:std:802.1Q:yang:ieee802-dot1q-lldp-dcbx-tlv';
prefix lldp-dcbx-tlv;
import ieee802-dot1q-types {
prefix dot1q-types;
}
import ieee802-dot1ab-lldp {
prefix lldp;
}
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 tlv for DCBX";
reference
"IEEE Std 802.1Q-2018 Annex D";
}
identity application-priority-selector {
base
description
"Specify the application priority selection of IEEE Std
802.1Q-2018 Clause D.11.2.3, Table D-8";
}
identity default {
base application-priority-selector;
description
"Indicates the default application selection of the Application
Priority Table field of the Application Priority TLV specified
in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 1.";
}
identity pri-tcp-sctp {
base application-priority-selector;
description
"Indicates TCP or SCTP application selection of the Application
Priority Table field of the Application Priority TLV specified
in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 2.";
}
identity pri-udp-dccp {
base application-priority-selector;
description
"Indicates UDP or DCCP application selection of the Application
Priority Table field of the Application Priority TLV specified
in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 3.";
}
identity pri-tcp-sctp-udp-dccp {
base application-priority-selector;
description
"Indicates TCP, SCTP, UDP or DCCP application selection of the
Application Priority Table field of the Application Priority TLV
specified in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as
value 4.";
}
identity pri-dscp {
base application-priority-selector;
description
"Indicates DSCP application selection of the Application
Priority Table field of the Application Priority TLV specified
in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 5.";
}
identity application-vlan-selector {
base
description
"Specify the application vlan selection of IEEE Std 802.1Q-2018
Clause D.11.14.3, Table D-12";
}
identity vlan-pvid-ethertype {
base application-vlan-selector;
description
"Indicates the a PVID or and Ethertype selection of the
Application VLAN Table field of the Application VLAn TLV
specified in IEEE Std 802.1Q-2018 Clause D.2.14. Signalled as
value 1.";
}
identity vlan-tcp-sctp {
base application-vlan-selector;
description
"Indicates TCP or SCTP application selection of the Application
VLAN Table field of the Application VLAN TLV specified in IEEE
Std 802.1Q-2018 Clause D.2.14. Signalled as value 2.";
}
identity vlan-udp-dccp {
base application-vlan-selector;
description
"Indicates UDP or DCCP application selection of the Application
VLAN Table field of the Application VLAN TLV specified in IEEE
Std 802.1Q-2018 Clause D.2.14. Signalled as value 3.";
}
identity vlan-tcp-sctp-udp-dccp {
base application-vlan-selector;
description
"Indicates TCP, SCTP, UDP or DCCP application selection of the
Application VLAN Table field of the Application VLAN TLV
specified in IEEE Std 802.1Q-2018 Clause D.2.14. Signalled as
value 4.";
}
identity vlan-dscp {
base application-vlan-selector;
description
"Indicates DSCP application selection of the Application VLAN
Table field of the Application VLAN TLV specified in IEEE Std
802.1Q-2018 Clause D.2.14. Signalled as value 5.";
}
grouping ets-configuration-tlv {
description
"The Enhanced Transmission Selection configuration TLV";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8";
leaf willing {
type boolean;
description
"True indicates willing to accept configurations from remote
station";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.3";
}
leaf credit-based-shaper {
type boolean;
description
"True indicates station supports the Credit-based Shaper
transmission selection algorithm";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.4";
}
leaf traffic-classes-supported {
type dot1q-types:num-traffic-class-type;
description
"Indicates number of traffic classes supported. The value of 8
is encoded as 0 in the TLV since 3-bits are used to specify
the number";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.5";
}
list priority-assignment-table {
key "priority";
leaf priority {
type dot1q-types:priority-type;
description "Indicates priority";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.6";
}
leaf priority-traffic-class {
type dot1q-types:traffic-class-type;
description
"Indicates mapped traffic class for priority";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.6";
}
leaf transmission-selection-algorithm {
type identityref {
base dot1q-types:transmission-selection-algorithm;
}
description
"Transmission selection algorithm";
reference
"IEEE Std 802.1Q-2018 Clause 8.6.8, Table 8-6";
}
} // list priority-assignment-table
list tc-bandwidth-table {
key "traffic-class";
leaf traffic-class {
type dot1q-types:traffic-class-type;
description
"Indicates traffic class";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.7";
}
leaf percentage-bandwidth {
type uint8 {
range "0..100";
}
description
"Percentage configured for the traffic class";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.7";
}
} // list tc-bandwidth-table
list tsa-assignment-table {
key "tsa-traffic-class";
leaf tsa-traffic-class {
type dot1q-types:traffic-class-type;
description
"Indicates traffic class";
reference
"IEEE Std 802.1Q-2018 Annex D.2.8.8";
}
leaf transmission-selection-algorithm {
type identityref {
base dot1q-types:transmission-selection-algorithm;
}
description
"Transmission selection algorithm";
reference
"IEEE Std 802.1Q-2018 Clause 8.6.8, Table 8-6";
}
} // list tsa-assignment-table
} // grouping ets-configuration-tlv
grouping ets-recommendation-tlv {
description
"Recommendation of Enhanced Transmission Selection configuration
TLV";
reference
"IEEE Std 802.1Q-2018 Annex D.2.9";
list priority-assignment-table {
key "priority";
leaf priority {
type dot1q-types:priority-type;
description "Indicates priority";
reference
"IEEE Std 802.1Q-2018 Annex D.2.9.3";
}
leaf priority-traffic-class {
type dot1q-types:traffic-class-type;
description
"Indicates mapped traffic class for priority";
reference
"IEEE Std 802.1Q-2018 Annex D.2.9.3";
}
} // list priority-assignment-table
list tc-bandwidth-table {
key "traffic-class";
leaf traffic-class {
type dot1q-types:traffic-class-type;
description
"Indicates traffic class";
reference
"IEEE Std 802.1Q-2018 Annex D.2.9.4";
}
leaf percentage-bandwidth {
type uint8 {
range "0..100";
}
description
"Percentage configured for the traffic class";
reference
"IEEE Std 802.1Q-2018 Annex D.2.9.4";
}
} // list tc-bandwidth-table
list tsa-assignment-table {
key "tsa-traffic-class";
leaf tsa-traffic-class {
type dot1q-types:traffic-class-type;
description
"Indicates traffic class";
reference
"IEEE Std 802.1Q-2018 Annex D.2.9.5";
}
leaf transmission-selection-algorithm {
type identityref {
base dot1q-types:transmission-selection-algorithm;
}
description
"Transmission selection algorithm";
reference
"IEEE Std 802.1Q-2018 Clause 8.6.8, Table 8-6";
}
} // list tsa-assignment-table
} // grouping ets-recommendation-tlv
grouping pfc-tlv {
description
"The Priority-based flow control configuration TLV";
reference
"IEEE Std 802.1Q-2018 Annex D.2.10";
leaf willing {
type boolean;
description
"True indicates willing to accept configurations from remote
station";
reference
"IEEE Std 802.1Q-2018 Annex D.2.10.3";
}
leaf macsec-bypass-capable {
type boolean;
description
"True indicates sending station is not capable of bypassing
MACsec";
reference
"IEEE Std 802.1Q-2018 Annex D.2.10.4";
}
leaf number-tc-capable {
type dot1q-types:num-traffic-class-type;
description
"Indicates how many traffic classes may simultaneously support
PFC.";
reference
"IEEE Std 802.1Q-2018 Annex D.2.10.5";
}
leaf enable {
type bits {
bit p0 {
position 0;
description
"1 indicates PFC is enabled on the priority";
}
bit p1 {
position 1;
description
"1 indicates PFC is enabled on the priority";
}
bit p2 {
position 2;
description
"1 indicates PFC is enabled on the priority";
}
bit p3 {
position 3;
description
"1 indicates PFC is enabled on the priority";
}
bit p4 {
position 4;
description
"1 indicates PFC is enabled on the priority";
}
bit p5 {
position 5;
description
"1 indicates PFC is enabled on the priority";
}
bit p6 {
position 6;
description
"1 indicates PFC is enabled on the priority";
}
bit p7 {
position 7;
description
"1 indicates PFC is enabled on the priority";
}
}
description
"PFC enabled per priority";
reference
"IEEE Std 802.1Q-2018 Annex D.2.10.6";
}
} // grouping pfc-tlv
grouping application-priority-tlv {
description
"The application priority table TLV";
reference
"IEEE Std 802.1Q-2018 Annex D.2.11";
list application-priority-table {
key "application-priority";
leaf application-priority {
type dot1q-types:priority-type;
description
"Priority for which the Protocol ID is being used";
reference
"IEEE Std 802.1Q-2018 Annex D.2.11.3";
}
leaf application-priority-selector {
type identityref {
base application-priority-selector;
}
description
"Selector to determine what the Protocol ID means.";
reference
"IEEE Std 802.1Q-2018 Annex D.2.11.3";
}
leaf application-priority-protocol {
type uint16 {
range "0..65535";
}
description
"Protocol ID of the type indicated by the selector";
reference
"IEEE Std 802.1Q-2018 Annex D.2.11.3";
}
} // list application-priority-table
} // grouping application-priority-tlv
grouping application-vlan-tlv {
description
"The Application VLAN table TLV";
reference
"IEEE Std 802.1Q-2018 Annex D.2.14";
list application-vlan-table {
key "application-vlan";
leaf application-vlan {
type dot1q-types:vlanid;
description
"Vlan for which the Protocol ID is being used";
reference
"IEEE Std 802.1Q-2018 Annex D.2.14.3";
}
leaf application-vlan-selector {
type identityref {
base application-vlan-selector;
}
description
"Selector to determine what the Protocol ID means.";
reference
"IEEE Std 802.1Q-2018 Annex D.2.14.3";
}
leaf application-vlan-protocol {
type uint16 {
range "0..65535";
}
description
"Protocol ID of the type indicated by the selector";
reference
"IEEE Std 802.1Q-2018 Annex D.2.14.3";
}
} // list application-vlan-table
} // grouping application-vlan-tlv
augment /lldp:lldp/lldp:port {
description
"Augments port with the dcbx extension tlv";
leaf tlvs-tx-org-dcbx-enable {
type bits {
bit ets-configuration {
position 0;
description
"802.1Q-2018 Annex D2.8";
}
bit ets-recommendation {
position 1;
description
"802.1Q-2018 Annex D2.9";
}
bit pfc {
position 2;
description
"802.1Q-2018 Annex D2.10";
}
bit application-priority {
position 3;
description
"802.1Q-2018 Annex D2.11";
}
bit application-vlan {
position 4;
description
"802.1Q-2018 Annex D2.14";
}
}
description
"Bitmap including the dcbxSet of tlvs from Table D.1 of
802.1Q-2018";
reference
"IEEE Std 802.1Q-2018 Annex D.1";
}
container ets-configuration-tlv-extension {
uses ets-configuration-tlv;
} // container ets-configuration-tlv-extension
container ets-recommendation-tlv-extension {
uses ets-recommendation-tlv;
} // container ets-recommendation-tlv-extension
container pfc-tlv-extension {
uses pfc-tlv;
} // container pfc-tlv-extension
container application-priority-tlv-extension {
uses application-priority-tlv;
} // container application-priority-tlv-extension
container application-vlan-tlv-extension {
uses application-vlan-tlv;
} // container application-vlan-tlv-extension
}
augment /lldp:lldp/lldp:port/lldp:remote-systems-data {
description
"Augments port remote-systems-data with received dcbx extension
tlvs";
container ets-configuration-tlv-extension {
uses ets-configuration-tlv;
} // container ets-configuration-tlv-extension
container ets-recommendation-tlv-extension {
uses ets-recommendation-tlv;
} // container ets-recommendation-tlv-extension
container pfc-tlv-extension {
uses pfc-tlv;
} // container pfc-tlv-extension
container application-priority-tlv-extension {
uses application-priority-tlv;
} // container application-priority-tlv-extension
container application-vlan-tlv-extension {
uses application-vlan-tlv;
} // container application-vlan-tlv-extension
}
} // module ieee802-dot1q-lldp-dcbx-tlv