1 module ieee802-dot1q-types {
2 namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-types;
4 import ietf-yang-types {
8 "IEEE 802.1 Working Group";
10 "WG-URL: http://ieee802.org/1/
11 WG-EMail: stds-802-1-l@ieee.org
13 Contact: IEEE 802.1 Working Group Chair
14 Postal: C/O IEEE 802.1 Working Group
15 IEEE Standards Association
20 E-mail: stds-802-1-chairs@ieee.org";
22 "Common types used within dot1Q-bridge modules.";
25 "Published as part of IEEE Std 802.1Qcx-2020.
28 "IEEE Std 802.1Qcx-2020, Bridges and Bridged Networks -
29 YANG Data Model for Connectivity Fault Management.";
33 "Published as part of IEEE Std 802.1Q-2018.
36 "IEEE Std 802.1Q-2018, Bridges and Bridged Networks.";
39 identity dot1q-vlan-type {
41 "Base identity from which all 802.1Q VLAN tag types are derived
47 "An 802.1Q Customer VLAN, using the 81-00 EtherType";
49 "5.5 of IEEE Std 802.1Q-2018";
54 "An 802.1Q Service VLAN, using the 88-A8 EtherType originally
55 introduced in 802.1ad, and incorporated into 802.1Q (2011)";
57 "5.6 of IEEE Std 802.1Q-2018";
64 "A text string of up to 32 characters, of locally determined
67 typedef port-number-type {
72 "The port number of the Bridge port for which this entry
73 contains Bridge management information.";
75 typedef priority-type {
80 "A range of priorities from 0 to 7 (inclusive). The Priority
81 Code Point (PCP) is a 3-bit field that refers to the class of
82 service associated with an 802.1Q VLAN tagged frame. The field
83 specifies a priority value between 0 and 7, these values can be
84 used by quality of service (QoS) to prioritize different classes
87 typedef vid-range-type {
92 "(-[1-9][0-9]{0,3})?"+
93 "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
96 "A list of VLAN Ids, or non overlapping VLAN ranges, in
97 ascending order, between 1 and 4094.
99 This type is used to match an ordered list of VLAN Ids, or
100 contiguous ranges of VLAN Ids. Valid VLAN Ids must be in the
101 range 1 to 4094, and included in the list in non overlapping
104 For example: 1,10-100,250,500-1000";
111 "The vlanid type uniquely identifies a VLAN. This is the 12-bit
112 VLAN-ID used in the VLAN Tag header. The range is defined by the
113 referenced specification. This type is in the value set and its
114 semantics equivalent to the VlanId textual convention of the
117 typedef vlan-index-type {
119 range "1..4094 | 4096..4294967295";
122 "A value used to index per-VLAN tables. Values of 0 and 4095 are
123 not permitted. The range of valid VLAN indices. If the value is
124 greater than 4095, then it represents a VLAN with scope local to
125 the particular agent, i.e., one without a global VLAN-ID
126 assigned to it. Such VLANs are outside the scope of IEEE 802.1Q,
127 but it is convenient to be able to manage them in the same way
128 using this YANG module.";
130 "9.6 of IEEE Std 802.1Q-2018";
137 "In an MSTP Bridge, an MSTID, i.e., a value used to identify a
138 spanning tree (or MST) instance";
140 "13.8 of IEEE Std 802.1Q-2018";
142 typedef pcp-selection-type {
146 "8 priorities, 0 drop eligible";
150 "7 priorities, 1 drop eligible";
154 "6 priorities, 2 drop eligible";
158 "5 priorities, 3 drop eligible";
162 "Priority Code Point selection types.";
164 "12.6.2.5.3 of IEEE Std 802.1Q-2018
165 6.9.3 of IEEE Std 802.1Q-2018";
167 typedef protocol-frame-format-type {
171 "Ethernet frame format";
175 "RFC 1042 frame format";
179 "SNAP 802.1H frame format";
183 "Other SNAP frame format";
187 "Other LLC frame format";
191 "A value representing the frame format to be matched.";
193 "12.10.1.7.1 of IEEE Std 802.1Q-2018";
195 typedef ethertype-type {
197 pattern "[0-9a-fA-F]{2}-[0-9a-fA-F]{2}";
200 "The EtherType value represented in the canonical order defined
201 by IEEE 802. The canonical representation uses uppercase
204 "9.2 of IEEE Std 802-2014";
206 typedef dot1q-tag-type {
208 base dot1q-vlan-type;
211 "Identifies a specific 802.1Q tag type";
213 "IEEE Std 802.1Q-2018";
215 typedef traffic-class-type {
220 "This is the numerical value associated with a traffic class in
221 a Bridge. Larger values are associated with higher priority
224 "3.239 of IEEE Std 802.1Q-2018";
226 grouping dot1q-tag-classifier-grouping {
228 "A grouping which represents an 802.1Q VLAN, matching both the
229 EtherType and a single VLAN Id.";
243 grouping dot1q-tag-or-any-classifier-grouping {
245 "A grouping which represents an 802.1Q VLAN, matching both the
246 EtherType and a single VLAN Id or 'any' to match on any VLAN Id.";
260 "Matches 'any' VLAN in the range 1 to 4094 that is not
261 matched by a more specific VLAN Id match";
270 grouping dot1q-tag-ranges-classifier-grouping {
272 "A grouping which represents an 802.1Q VLAN that matches a range
287 grouping dot1q-tag-ranges-or-any-classifier-grouping {
289 "A grouping which represents an 802.1Q VLAN, matching both the
290 EtherType and a single VLAN Id, ordered list of ranges, or 'any'
291 to match on any VLAN Id.";
305 "Matches 'any' VLAN in the range 1 to 4094.";
314 grouping priority-regeneration-table-grouping {
316 "The priority regeneration table provides the ability to map
317 incoming priority values on a per-Port basis, under management
320 "6.9.4 of IEEE Std 802.1Q-2018";
327 "12.6.2.3 of IEEE Std 802.1Q-2018
328 6.9.4 of IEEE Std 802.1Q-2018";
336 "12.6.2.3 of IEEE Std 802.1Q-2018
337 6.9.4 of IEEE Std 802.1Q-2018";
345 "12.6.2.3 of IEEE Std 802.1Q-2018
346 6.9.4 of IEEE Std 802.1Q-2018";
354 "12.6.2.3 of IEEE Std 802.1Q-2018
355 6.9.4 of IEEE Std 802.1Q-2018";
363 "12.6.2.3 of IEEE Std 802.1Q-2018
364 6.9.4 of IEEE Std 802.1Q-2018";
372 "12.6.2.3 of IEEE Std 802.1Q-2018
373 6.9.4 of IEEE Std 802.1Q-2018";
381 "12.6.2.3 of IEEE Std 802.1Q-2018
382 6.9.4 of IEEE Std 802.1Q-2018";
390 "12.6.2.3 of IEEE Std 802.1Q-2018
391 6.9.4 of IEEE Std 802.1Q-2018";
394 grouping pcp-decoding-table-grouping {
396 "The Priority Code Point decoding table enables the decoding of
397 the priority and drop-eligible parameters from the PCP.";
399 "6.9.3 of IEEE Std 802.1Q-2018";
400 list pcp-decoding-map {
403 "This map associates the priority code point field found in
404 the VLAN to a priority and drop eligible value based upon the
405 priority code point selection type.";
407 type pcp-selection-type;
409 "The priority code point selection type.";
411 "12.6.2.7 of IEEE Std 802.1Q-2018
412 6.9.3 of IEEE Std 802.1Q-2018";
415 key "priority-code-point";
417 "This map associated a priority code point value to priority
418 and drop eligible parameters.";
419 leaf priority-code-point {
422 "Priority associated with the pcp.";
424 "12.6.2.7 of IEEE Std 802.1Q-2018
425 6.9.3 of IEEE Std 802.1Q-2018";
430 "Priority associated with the pcp.";
432 "12.6.2.7 of IEEE Std 802.1Q-2018
433 6.9.3 of IEEE Std 802.1Q-2018";
438 "Drop eligible value for pcp";
440 "12.6.2.7 of IEEE Std 802.1Q-2018
441 6.9.3 of IEEE Std 802.1Q-2018";
446 grouping pcp-encoding-table-grouping {
448 "The Priority Code Point encoding table encodes the priority and
449 drop-eligible parameters in the PCP field of the VLAN tag.";
451 "12.6.2.9 of IEEE Std 802.1Q-2018
452 6.9.3 of IEEE Std 802.1Q-2018";
453 list pcp-encoding-map {
456 "This map associated the priority and drop-eligible parameters
457 to the priority used to encode the PCP of the VLAN based upon
458 the priority code point selection type.";
460 type pcp-selection-type;
462 "The priority code point selection type.";
464 "12.6.2.7 of IEEE Std 802.1Q-2018
465 6.9.3 of IEEE Std 802.1Q-2018";
470 "This map associated the priority and drop-eligible
471 parameters to the priority code point field of the VLAN tag.";
475 "Priority associated with the pcp.";
477 "12.6.2.7 of IEEE Std 802.1Q-2018
478 6.9.3 of IEEE Std 802.1Q-2018";
483 "The drop eligible value.";
485 "12.6.2 of IEEE Std 802.1Q-2018
486 8.6.6 of IEEE Std 802.1Q-2018";
488 leaf priority-code-point {
491 "PCP value for priority when DEI value";
493 "12.6.2.9 of IEEE Std 802.1Q-2018
494 6.9.3 of IEEE Std 802.1Q-2018";
499 grouping service-access-priority-table-grouping {
501 "The Service Access Priority Table associates a received
502 priority with a serice access priority.";
504 "12.6.2.17 of IEEE Std 802.1Q-2018
505 6.13.1 of IEEE Std 802.1Q-2018";
510 "Service access priority value for priority 0";
512 "12.6.2.17 of IEEE Std 802.1Q-2018
513 6.13.1 of IEEE Std 802.1Q-2018";
519 "Service access priority value for priority 1";
521 "12.6.2.17 of IEEE Std 802.1Q-2018
522 6.13.1 of IEEE Std 802.1Q-2018";
528 "Service access priority value for priority 2";
530 "12.6.2.17 of IEEE Std 802.1Q-2018
531 6.13.1 of IEEE Std 802.1Q-2018";
537 "Service access priority value for priority 3";
539 "12.6.2.17 of IEEE Std 802.1Q-2018
540 6.13.1 of IEEE Std 802.1Q-2018";
546 "Service access priority value for priority 4";
548 "12.6.2.17 of IEEE Std 802.1Q-2018
549 6.13.1 of IEEE Std 802.1Q-2018";
555 "Service access priority value for priority 5";
557 "12.6.2.17 of IEEE Std 802.1Q-2018
558 6.13.1 of IEEE Std 802.1Q-2018";
564 "Service access priority value for priority 6";
566 "12.6.2.17 of IEEE Std 802.1Q-2018
567 6.13.1 of IEEE Std 802.1Q-2018";
573 "Service access priority value for priority 7";
575 "12.6.2.17 of IEEE Std 802.1Q-2018
576 6.13.1 of IEEE Std 802.1Q-2018";
579 grouping traffic-class-table-grouping {
581 "The Traffic Class Table models the operations that can be
582 performed on, or inquire about, the current contents of the
583 Traffic Class Table (8.6.6) for a given Port.";
585 "12.6.3 of IEEE Std 802.1Q-2018
586 8.6.6 of IEEE Std 802.1Q-2018";
587 list traffic-class-map {
590 "The priority index into the traffic class table.";
594 "The priority of the traffic class entry.";
596 "8.6.6 of IEEE Std 802.1Q-2018";
598 list available-traffic-class {
599 key "num-traffic-class";
601 "The traffic class index associated with a given priority
602 within the traffic class table.";
604 "8.6.6 of IEEE Std 802.1Q-2018";
605 leaf num-traffic-class {
610 "The available number of traffic classes.";
612 "8.6.6 of IEEE Std 802.1Q-2018";
615 type traffic-class-type;
617 "The traffic class index associated with a given traffic
620 "8.6.6 of IEEE Std 802.1Q-2018";
625 grouping port-map-grouping {
627 "A set of control indicators, one for each Port. A Port Map,
628 containing a control element for each outbound Port";
630 "8.8.1 of IEEE Std 802.1Q-2018
631 8.8.2 of IEEE Std 802.1Q-2018";
635 "The list of entries composing the port map.";
637 type port-number-type;
639 "The interface port reference associated with this map.";
641 "8.8.1 of IEEE Std 802.1Q-2018";
646 container static-filtering-entries {
648 "Static filtering entries attributes.";
649 leaf control-element {
653 "Forwarded, independently of any dynamic filtering
654 information held by the FDB.";
658 "Filtered, independently of any dynamic filtering
661 enum forward-filter {
663 "Forwarded or filtered on the basis of dynamic
664 filtering information, or on the basis of the
665 default Group filtering behavior for the outbound
666 Port (8.8.6) if no dynamic filtering information is
667 present specifically for the MAC address.";
671 "containing a control element for each outbound Port,
672 specifying that a frame with a destination MAC address,
673 and in the case of VLAN Bridge components, VID that
674 meets this specification.";
676 "8.8.1 of IEEE Std 802.1Q-2018";
678 leaf connection-identifier {
679 type port-number-type;
681 "A Port MAP may contain a connection identifier (8.8.12)
682 for each outbound port. The connection identifier may be
683 associated with the Bridge Port value maintained in a
684 Dynamic Filtering Entry of the FDB for Bridge Ports.";
686 "8.8.1 of IEEE Std 802.1Q-2018
687 8.8.12 of IEEE Std 802.1Q-2018";
690 container static-vlan-registration-entries {
692 "Static VLAN registration entries.";
693 leaf registrar-admin-control {
695 enum fixed-new-ignored {
697 "Registration Fixed (New ignored).";
699 enum fixed-new-propagated {
701 "Registration Fixed (New propagated.";
705 "Registration Forbidden.";
709 "Normal Registration.";
713 "The Registrar Administrative Control values for MVRP
714 and MIRP for the VID.";
716 "8.8.2 of IEEE Std 802.1Q-2018";
718 leaf vlan-transmitted {
730 "Whether frames are to be VLAN-tagged or untagged when
733 "8.8.2 of IEEE Std 802.1Q-2018";
736 container mac-address-registration-entries {
738 "MAC address registration entries attributes.";
739 leaf control-element {
743 "Forwarded, independently of any dynamic filtering
744 information held by the FDB.";
746 enum not-registered {
748 "Filtered, independently of any dynamic filtering
753 "containing a control element for each outbound Port,
754 specifying that a frame with a destination MAC address,
755 and in the case of VLAN Bridge components, VID that
756 meets this specification.";
758 "8.8.4 of IEEE Std 802.1Q-2018";
761 container dynamic-vlan-registration-entries {
763 "Dynamic VLAN registration entries attributes.";
764 leaf control-element {
768 "Forwarded, independently of any dynamic filtering
769 information held by the FDB.";
773 "containing a control element for each outbound Port,
774 specifying that a frame with a destination MAC address,
775 and in the case of VLAN Bridge components, VID that
776 meets this specification.";
778 "8.8.5 of IEEE Std 802.1Q-2018";
781 container dynamic-reservation-entries {
783 "Dynamic reservation entries attributes.";
784 leaf control-element {
788 "Forwarded, independently of any dynamic filtering
789 information held by the FDB.";
793 "Filtered, independently of any dynamic filtering
798 "Containing a control element for each outbound Port,
799 specifying that a frame with a destination MAC address,
800 and in the case of VLAN Bridge components, VID that
801 meets this specification.";
803 "8.8.7 of IEEE Std 802.1Q-2018";
806 container dynamic-filtering-entries {
808 "Dynamic filtering entries attributes.";
809 leaf control-element {
813 "Forwarded, independently of any dynamic filtering
814 information held by the FDB.";
818 "Containing a control element for each outbound Port,
819 specifying that a frame with a destination MAC address,
820 and in the case of VLAN Bridge components, VID that
821 meets this specification.";
823 "8.8.3 of IEEE Std 802.1Q-2018";
829 grouping bridge-port-statistics-grouping {
831 "Grouping of bridge port statistics.";
833 "12.6.1.1.3 of IEEE Std 802.1Q-2018";
834 leaf delay-exceeded-discards {
837 "The number of frames discarded by this port due to excessive
838 transit delay through the Bridge. It is incremented by both
839 transparent and source route Bridges.";
841 "12.6.1.1.3 of IEEE Std 802.1Q-2018
842 8.6.6 of IEEE Std 802.1Q-2018";
844 leaf mtu-exceeded-discards {
847 "The number of frames discarded by this port due to an
848 excessive size. It is incremented by both transparent and
849 source route Bridges.";
851 "12.6.1.1.3, item g) of IEEE Std 802.1Q-2018";
856 "The number of frames that have been received by this port
857 from its segment. Note that a frame received on the interface
858 corresponding to this port is only counted by this object if
859 and only if it is for a protocol being processed by the local
860 bridging function, including Bridge management frames.";
862 "12.6.1.1.3 of IEEE Std 802.1Q-2018";
867 "The total number of octets in all valid frames received
868 (including BPDUs, frames addressed to the Bridge as an end
869 station, and frames that were submitted to the Forwarding
872 "12.6.1.1.3 of IEEE Std 802.1Q-2018";
877 "The number of frames that have been transmitted by this port
878 to its segment. Note that a frame transmitted on the interface
879 corresponding to this port is only counted by this object if
880 and only if it is for a protocol being processed by the local
881 bridging function, including Bridge management frames.";
886 "The total number of octets that have been transmitted by this
887 port to its segment.";
889 leaf discard-inbound {
892 "Count of received valid frames that were discarded (i.e.,
893 filtered) by the Forwarding Process.";
895 "12.6.1.1.3 of IEEE Std 802.1Q-2018";
897 leaf forward-outbound {
900 "The number of frames forwarded to the associated MAC Entity
903 "12.6.1.1.3 of IEEE Std 802.1Q-2018";
905 leaf discard-lack-of-buffers {
908 "The count of frames that were to be transmitted through the
909 associated Port but were discarded due to lack of buffers.";
911 "12.6.1.1.3 of IEEE Std 802.1Q-2018";
913 leaf discard-transit-delay-exceeded {
916 "The number of frames discarded by this port due to excessive
917 transit delay through the Bridge. It is incremented by both
918 transparent and source route Bridges.";
920 "12.6.1.1.3 of IEEE Std 802.1Q-2018";
922 leaf discard-on-error {
925 "The number of frames that were to be forwarded on the
926 associated MAC but could not be transmitted (e.g., frame would
927 be too large, 6.5.8).";
929 "12.6.1.1.3 of IEEE Std 802.1Q-2018";