From def71463ed0d463a75feeca7db3346d587c31115 Mon Sep 17 00:00:00 2001 From: Scott Mansfield Date: Thu, 14 Sep 2023 10:37:05 -0400 Subject: [PATCH] Qcz aedk pub (#1478) * Moved Qcz and AEdk files to published. Updated DC, and ASdm * Added the published files --- standard/ieee/check.sh | 2 +- .../draft/802.1/AEdk/check_pyang_extra_flags | 1 - .../draft/802.1/ASdm/ieee802-dot1as-hs.yang | 340 ++++++ .../draft/802.1/DC/check_pyang_extra_flags | 2 +- .../draft/802.1/Qcw/check_pyang_extra_flags | 1 - .../draft/802.1/Qcz/ieee802-dot1q-ats.yang | 306 ------ .../ieee802-dot1q-stream-filters-gates.yang | 399 ------- .../draft/802.1/Qcz/ieee802-dot1q-types.yang | 992 ------------------ .../802.1}/ieee802-dot1ae-pry.yang | 0 .../802.1}/ieee802-dot1ae-secy.yang | 0 .../802.1}/ieee802-dot1q-ats-bridge.yang | 0 .../published/802.1/ieee802-dot1q-ats.yang | 211 ++-- ...802-dot1q-congestion-isolation-bridge.yang | 0 .../ieee802-dot1q-congestion-isolation.yang | 0 .../802.1}/ieee802-dot1q-lldp-basic-tlv.yang | 0 .../802.1}/ieee802-dot1q-lldp-ci-tlv.yang | 0 .../802.1}/ieee802-dot1q-lldp-cn-tlv.yang | 0 .../802.1}/ieee802-dot1q-lldp-dcbx-tlv.yang | 0 .../802.1}/ieee802-dot1q-lldp-evb-tlv.yang | 0 .../802.1}/ieee802-dot1q-lldp-tr-tlv.yang | 0 ...802-dot1q-stream-filters-gates-bridge.yang | 0 .../ieee802-dot1q-stream-filters-gates.yang | 259 ++--- .../published/802.1/ieee802-dot1q-types.yang | 256 ++--- .../802.1}/ieee802-dot1x-eapol.yang | 0 24 files changed, 707 insertions(+), 2062 deletions(-) delete mode 100644 standard/ieee/draft/802.1/AEdk/check_pyang_extra_flags create mode 100644 standard/ieee/draft/802.1/ASdm/ieee802-dot1as-hs.yang delete mode 100644 standard/ieee/draft/802.1/Qcw/check_pyang_extra_flags delete mode 100644 standard/ieee/draft/802.1/Qcz/ieee802-dot1q-ats.yang delete mode 100644 standard/ieee/draft/802.1/Qcz/ieee802-dot1q-stream-filters-gates.yang delete mode 100644 standard/ieee/draft/802.1/Qcz/ieee802-dot1q-types.yang rename standard/ieee/{draft/802.1/AEdk => published/802.1}/ieee802-dot1ae-pry.yang (100%) rename standard/ieee/{draft/802.1/AEdk => published/802.1}/ieee802-dot1ae-secy.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-ats-bridge.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-congestion-isolation-bridge.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-congestion-isolation.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-lldp-basic-tlv.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-lldp-ci-tlv.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-lldp-cn-tlv.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-lldp-dcbx-tlv.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-lldp-evb-tlv.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-lldp-tr-tlv.yang (100%) rename standard/ieee/{draft/802.1/Qcz => published/802.1}/ieee802-dot1q-stream-filters-gates-bridge.yang (100%) rename standard/ieee/{draft/802.1/AEdk => published/802.1}/ieee802-dot1x-eapol.yang (100%) diff --git a/standard/ieee/check.sh b/standard/ieee/check.sh index c5a0d46e5..f8ac263cb 100755 --- a/standard/ieee/check.sh +++ b/standard/ieee/check.sh @@ -7,7 +7,7 @@ cwd=$(pwd) ietf_dir="standard/ietf" ieee_dir="standard/ieee" -to_check="draft/802 draft/802.1 draft/802/f draft/802.1/AEdk draft/802.1/ASdn draft/802.1/ASdm draft/802.1/Qcw draft/802.1/Qcz draft/802.1/Qcj draft/802.1/CScorr draft/802.1/DC draft/802.1/Qdj draft/802.3 draft/1588 published/1906.1 published/802 published/802.1" +to_check="draft/802 draft/802.1 draft/802/f draft/802.1/ASdn draft/802.1/ASdm draft/802.1/Qcw draft/802.1/Qcj draft/802.1/CScorr draft/802.1/DC draft/802.1/Qdj draft/802.3 draft/1588 published/1906.1 published/802 published/802.1" # relax constraint for now # add --ietf if you want to do strict IETF checking diff --git a/standard/ieee/draft/802.1/AEdk/check_pyang_extra_flags b/standard/ieee/draft/802.1/AEdk/check_pyang_extra_flags deleted file mode 100644 index 53103737a..000000000 --- a/standard/ieee/draft/802.1/AEdk/check_pyang_extra_flags +++ /dev/null @@ -1 +0,0 @@ - -p ../Qcw diff --git a/standard/ieee/draft/802.1/ASdm/ieee802-dot1as-hs.yang b/standard/ieee/draft/802.1/ASdm/ieee802-dot1as-hs.yang new file mode 100644 index 000000000..81282a168 --- /dev/null +++ b/standard/ieee/draft/802.1/ASdm/ieee802-dot1as-hs.yang @@ -0,0 +1,340 @@ +module ieee802-dot1as-hs { + yang-version 1.1; + namespace "urn:ieee:std:802.1AS:yang:ieee802-dot1as-hs"; + prefix dot1as-hs; + + import ieee1588-ptp { + prefix ptp; + } + import ieee802-dot1as-ptp { + prefix dot1as-ptp; + } + + organization + "IEEE 802.1 Working Group"; + 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 + "Management objects that control hot standby systems as specified in + IEEE Std 802.1ASdm-d1.1. + + Copyright (C) IEEE (2023). + This version of this YANG module is part of IEEE Std 802.1ASdm; + see the standard itself for full legal notices."; + + revision 2023-07-12 { + description + "Published as part of IEEE Std 802.1ASdm-XXXX. + Initial version."; + reference + "IEEE Std 802.1ASdm-XXXX - YANG Data Model"; + } + + // The year (XXXX) will be replaced during publication. + // This is the 1st balloted draft D0.1 + // of the YANG module for amendment IEEE P802.1ASdm. + + feature hot-standby { + description + "This feature indicates that the device supports the hot-standby functionality."; + } + + typedef ptp-instance-state-type { + type enumeration { + enum not-capable { + value 0; + description + "For all enabled PTP ports, asCapable is FALSE, i.e., the neighbor is not + exchanging the messages that are required for conformance to this standard."; + } + enum synced { + value 1; + description + "Time is synchronized to the requirements of this standard (see 17.5.3 and 17.5.4), or to + the requirements specified by a profile standard."; + } + enum not-synced { + value 2; + description + "On the PTP Port in SlavePort state, the port failed to receive time synchronization + event messages or is not synchronized according to the requirements of this standard (see 17.5.3 and + 17.5.4), or to the requirements specified by a profile standard."; + } + enum initializing { + value 3; + description + "Time synchronization does not conform to the requirements of this standard."; + } + } + } + + typedef hot-standby-system-state-type { + type enumeration { + enum init { + value 0; + description + "Initialization after the HotStandbySystem powers on and is enabled. In this state, the system is + waiting for both PTP Instances to synchronize."; + } + enum redundant { + value 1; + description + "Both PTP Instances are synchronized according to the requirements of the + respective application or profile standard (see 3.24). Time synchronization is redundant."; + } + enum not-redundant { + value 2; + description + "One PTP Instance is synchronized, and the other PTP Instance is faulted (not + synchronized). Time synchronization continues to meet the requirements of the respective + application or profile standard (see 3.24). Time synchronization is not redundant."; + } + enum out-of-sync { + value 3; + description + "The HotStandbySystem is adjusting phase/frequency of its local time using the + data stored while the system was in the REDUNDANT or NOT_REDUNDANT state, but the local + time will eventually drift relative to other time-aware systems. During OUT_OF_SYNC state, time + synchronization might not meet the requirements of the respective application or profile standard + (see 3.24)."; + } + } + } + + augment "/ptp:ptp/ptp:instances/ptp:instance" { + description + "Augment IEEE Std 1588 instanceList."; + container ptp-instance-sync-ds { + description + "The ptpInstanceSyncDS describes the synchronization status of the PTP Instance."; + reference + "14.8 of IEEE Std 802.1ASdm-2023"; + leaf ptp-instance-state { + type ptp-instance-state-type; + config false; + description + " State of the PTP Instance with respect to requirements of the respective + application or profile standard"; + reference + "14.8.2 of IEEE Std 802.1ASdm-2023"; + } + leaf offset-from-master-threshold { + type ptp:time-interval; + config true; + description + "The value is the threshold for offsetFromMaster (see 17.5.1.2), below which the PTP Instance is considered + to be synchronized."; + reference + "14.8.3"; + } + leaf rx_slave-port-sync-count-threshold { + type uint32; + config true; + description + "The value of rxSlavePortSyncCountThreshold is the threshold for rxSyncCountSlaveP (see 17.5.1.4), above + which the PTP Instance is considered to be synchronized."; + reference + "14.8.4"; + } + leaf thresh-exceedance { + type uint32; + config true; + description + "The value of threshExceedance (see 17.5.1.7) is the threshold for the number of consecutive exceedances of + offsetFromMasterThreshold (see 17.5.1.3) by offsetFromMaster (see 17.5.1.2), at which the PTP Instance is + no longer in the SYNCED state (see 17.5.3.3)."; + reference + "14.8.5"; + } + leaf thresh-in-ranges { + type uint32; + config true; + description + "The value of threshInRanges (17.5.1.9) is the threshold for the number of consecutive occurrences of + offsetFromMaster (see 17.5.1.2) being within offsetFromMasterThreshold (see 17.5.1.3), at which the PTP + Instance is placed in the SYNCED state (see 17.5.3.3)."; + reference + "14.8.6"; + } + } + container drift-tracking-ds { + description + "The driftTrackingDS contains a managed object that is used to enable or disable the optional Drift_Tracking + TLV."; + reference + "14.9 of IEEE Std 802.1ASdm-2023"; + leaf drift-tracking-tlv-support { + type boolean; + config true; + description + "The value of driftTrackingTlvSupport indicates whether the Drift_Tracking TLV is enabled or disabled."; + reference + "14.9.2 of IEEE Std 802.1ASdm-2023"; + } + } + } + + augment "/ptp:ptp/ptp:instances/ptp:instance/ptp:ports/ptp:port/ptp:port-ds" { + description + "Augment IEEE Std 1588 cmommonServices."; + leaf gptp-capable-state-machines-enabled { + type boolean; + config true; + description + "A Boolean that is used to enable or disable the GptpCapableTransmit, GptpCapableReceive, and + GptpCapableIntervalSetting state machines."; + reference + "14.8.55 of IEEE Std 802.1ASdm-2023"; + } + } + + augment "/ptp:ptp/ptp:instances/ptp:instance/ptp:ports/ptp:port/dot1as-ptp:port-statistics-ds" { + description + "Augment IEEE Std 802.1AS PortStatisticsDS."; + leaf rx-sync-count-slave-p { + type uint32; + config false; + description + "This counter increments whenever time synchronization information is received on a PTP Port + when its port state is SlavePort."; + reference + "14.10.20 of IEEE Std 802.1ASdm-2023"; + } + } + + augment "/ptp:ptp/ptp:common-services" { + description + "Augment IEEE Std 1588 cmommonServices. + + 14.6.9 of IEEE Std 802.1AS-2020 specifies neighborRateRatio + (neighbor-rate-ratio), which is provided in YANG as the + semantically equivalent node in ieee1588-ptp named + scaled-neighbor-rate-ratio (in link-port-ds)."; + container hot-standby-system { + if-feature "hot-standby"; + description + "The hotStandbyService structure contains the hotStandbySystemList, which is a list of instances of the Hot + Standby Service."; + reference + "14.1.1 of IEEE Std 802.1ASdm-2023"; + list hot-standby-sytem { + description + "List of instances of the Hot Standby Service"; + reference + "14.1.1 of IEEE Std 802.1ASdm-2023"; + key "hot-standby-system-index"; + leaf hot-standby-system-index { + type uint8; + config true; + } + container hot-standby-system-ds { + description + "The hotStandbySystemDS describes the attributes of the respective instance of the Hot Standby Service."; + reference + "14.19 of IEEE Std 802.1ASdm-2023"; + leaf primary-ptp-instance-index { + type uint32; + config true; + description + "The value of primaryPtpInstanceIndex is the index (see 14.1.1) of the primary PTP Instance associated with + this hotStandbySystem instance."; + reference + "14.19.2 of IEEE Std 802.1ASdm-2023"; + } + leaf secondary-ptp-instance-index { + type uint32; + config true; + description + "The value of secondaryPtpInstanceIndex is the index (see 14.1.1) of the secondaryPTP Instance associated + with this hotStandbySystem instance."; + reference + "14.19.3 of IEEE Std 802.1ASdm-2023"; + } + leaf hot-standby-system-enable { + type boolean; + config true; + description + "The value is the hotStandbySystemEnable attribute of the HotStandbySystem entity (see 17.6.1.2)."; + reference + "14.19.4 of IEEE Std 802.1ASdm-2023"; + } + leaf hot-standby-system-state { + type hot-standby-system-state-type; + config false; + description + "The value of hotStandbySystemState is the state of the hotStandbySystem, i.e., the value of the global + variable hotStandbySystemState (see 17.6.1.1)."; + reference + "14.19.5 of IEEE Std 802.1ASdm-2023"; + } + leaf hot-standby-system-log-sync-time-threshold { + type int8; + config true; + description + "The value of hotStandbySystemLogSyncTimeThreshold1 is the logarithm to base 2 of the time interval, in + seconds, after which a hotStandbySystem in the INIT state transitions from the INIT state to the + NOT_REDUNDANT state if the conditions to transition to the REDUNDANT state are not met (see + 17.6.4). The value -128 means that the transition time is zero, i.e., the transition occurs immediately."; + reference + "14.19.6 of IEEE Std 802.1ASdm-2023"; + } + leaf hot-standby-system-split-functionality { + type boolean; + config true; + description + "If the value is TRUE, the optional split functionality (see 17.6.3.4) is used. If the value is FALSE, the + optional split functionality is not used."; + reference + "14.19.8 of IEEE Std 802.1ASdm-2023"; + } + leaf primary-secondary-offset { + type dot1as-ptp:scaled-ns; + config false; + description + "The absolute value of the difference between the clockSlaveTimes (see 10.2.4.3) of the primary and + secondary PTP Instances."; + reference + "14.19.9 of IEEE Std 802.1ASdm-2023"; + } + leaf primary-secondary-offset-threshold { + type dot1as-ptp:scaled-ns; + config true; + description + "The threshold for hotStandbySystemDS.primarySecondaryOffset (see 14.19.9), above which the + hotStandbySytemState transitions from REDUNDANT to NOT_REDUNDANT, or does not transition from + NOT_REDUNDANT or OUT_OF_SYNC to REDUNDANT even if other conditions for these transitions + are satisfied."; + reference + "14.19.10 of IEEE Std 802.1ASdm-2023"; + } + } + container hot-standby-system-description-ds { + description + "The hotStandbySystemDescriptionDS contains descriptive information for the respective instance of the Hot Standby Service."; + reference + "14.20 of IEEE Std 802.1ASdm-2023"; + leaf user-description { + type string { + length "0..128"; + } + config true; + description + "Configurable description of the hot standby system."; + reference + "14.20.3 of IEEE Std 802.1ASdm-2023"; + } + } + } + } + } +} diff --git a/standard/ieee/draft/802.1/DC/check_pyang_extra_flags b/standard/ieee/draft/802.1/DC/check_pyang_extra_flags index 57d279738..43508a93a 100644 --- a/standard/ieee/draft/802.1/DC/check_pyang_extra_flags +++ b/standard/ieee/draft/802.1/DC/check_pyang_extra_flags @@ -1 +1 @@ --p ../Qcw -p ../Qcz +-p ../Qcw diff --git a/standard/ieee/draft/802.1/Qcw/check_pyang_extra_flags b/standard/ieee/draft/802.1/Qcw/check_pyang_extra_flags deleted file mode 100644 index b2f7a6fe1..000000000 --- a/standard/ieee/draft/802.1/Qcw/check_pyang_extra_flags +++ /dev/null @@ -1 +0,0 @@ --p ../Qcz \ No newline at end of file diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-ats.yang b/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-ats.yang deleted file mode 100644 index b68813786..000000000 --- a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-ats.yang +++ /dev/null @@ -1,306 +0,0 @@ -module ieee802-dot1q-ats { - yang-version "1.1"; - namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-ats; - prefix ats; - import ietf-yang-types { - prefix yang; - } - import ieee802-dot1q-types { - prefix dot1qtypes; - } - import ieee802-dot1q-stream-filters-gates { - prefix sfsg; - } - organization - "IEEE 802.1 Working Group"; - 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 - "This module provides management of IEEE 802.1Q Bridge components - that support Asynchronous Traffic Shaping (ATS). - - 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 - "Published as part of IEEE Std 802.1Qcz-2023."; - reference - "IEEE Std 802.1Qcz-2023, Bridges and Bridged Networks - Congestion - Isolation."; - } - revision 2022-01-19 { - description - "Published as part of IEEE Std 802.1Q-2022."; - reference - "IEEE Std 802.1Q-2022, Bridges and Bridged Networks."; - } - revision 2020-11-06 { - description - "Published as part of IEEE Std 802.1Qcr-2020."; - reference - "IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks - - Asynchronous Traffic Shaping."; - } - grouping ats-port-parameters { - description - "This container comprises all ATS per-Port parameters."; - leaf discarded-frames-count { - type yang:counter64; - config false; - description - "A counter of frames discarded by ATS scheduler instances - associated with the Bridge Port."; - reference - "12.31.7.2 of IEEE Std 802.1Q"; - } - } - grouping ats-parameters { - description - "System specific configuration for ATS includes: - a) ATS schedulers - b) ATS scheduler groups"; - container schedulers { - description - "This container comprises all nodes related to ATS schedulers."; - list scheduler-instance-table { - key "scheduler-instance-id"; - description - "Each list entry comprises a set of parameters that defines a - single ATS scheduler instance, as detailed in Table 12-38."; - reference - "12.31.5 of IEEE Std 802.1Q"; - leaf scheduler-instance-id { - type uint32; - mandatory true; - description - "A unique index identifying this ATS scheduler instance."; - reference - "12.31.5.1, 8.6.5.6 of IEEE Std 802.1Q"; - } - leaf committed-information-rate { - type uint64; - units "bits/second"; - mandatory true; - description - "The committed information rate parameter of this ATS - scheduler instance."; - reference - "12.31.5.3, 8.6.5.6 of IEEE Std 802.1Q"; - } - leaf committed-burst-size { - type uint32; - units "bits"; - mandatory true; - description - "The committed burst size parameter of this ATS scheduler - instance."; - reference - "12.31.5.2, 8.6.5.6 of IEEE Std 802.1Q"; - } - leaf scheduler-group-ref { - type leafref { - path - '..'+ - '/..'+ - '/..'+ - '/scheduler-groups'+ - '/scheduler-group-instance-table'+ - '/scheduler-group-instance-id'; - } - mandatory true; - description - "A reference to the scheduler group (12.31.5.4) associated - with this ATS scheduler instance. Multiple ATS scheduler - instances can be associated to one scheduler group, as - detailed in 8.6.5.6."; - reference - "12.31.5.4, 8.6.5.6 of IEEE Std 802.1Q"; - } - } - leaf max-scheduler-instances { - type uint32; - config false; - description - "The maximum number of ATS scheduler instances supported by - this Bridge component."; - reference - "12.31.1.5 of IEEE Std 802.1Q"; - } - } - container scheduler-groups { - description - "This container comprises all ATS scheduler group related nodes."; - list scheduler-group-instance-table { - key "scheduler-group-instance-id"; - description - "Each list entry comprises a set of parameters that defines a - single ATS scheduler group instance."; - reference - "12.31.6, 8.6.5.6 of IEEE Std 802.1Q"; - leaf scheduler-group-instance-id { - type uint32; - description - "A unique index identifying this ATS scheduler group - instance."; - reference - "12.31.6.1, 8.6.5.6 of IEEE Std 802.1Q"; - } - leaf max-residence-time { - type uint32; - units "nanoseconds"; - mandatory true; - description - "The maximum residence time parameter of the ATS scheduler - group."; - reference - "12.31.6.2, 8.6.5.6 of IEEE Std 802.1Q"; - } - } - leaf max-scheduler-group-instances { - type uint32; - config false; - description - "The maximum number of ATS scheduler group instances supported - by this Bridge component."; - reference - "12.31.1.6, 8.6.5.6 of IEEE Std 802.1Q"; - } - container scheduler-timing-characteristics { - description - "This container comprises all ATS scheduler timing - characteristics related nodes."; - list scheduler-timing-characteristics-table { - key "reception-port transmission-port"; - config false; - description - "Each list entry comprises the timing characteristics of a - reception Port transmission Port pair, as detailed in Table - 12-41."; - reference - "12.31.8, 8.6.11 of IEEE Std 802.1Q"; - leaf reception-port { - type dot1qtypes:port-number-type; - config false; - mandatory true; - description - "A reference to the associated reception Port."; - reference - "12.31.8.1 of IEEE Std 802.1Q"; - } - leaf transmission-port { - type dot1qtypes:port-number-type; - config false; - mandatory true; - description - "A reference to the associated transmission Port."; - reference - "12.31.8.2 of IEEE Std 802.1Q"; - } - leaf clock-offset-variation-max { - type uint32; - units "nanoseconds"; - config false; - mandatory true; - description - "The maximum clock offset variation associated with the - reception Port transmission Port pair."; - reference - "12.31.8.3 of IEEE Std 802.1Q"; - } - leaf clock-rate-deviation-max { - type uint32; - units "ppm"; - config false; - mandatory true; - description - "The maximum clock rate deviation associated with the - reception Port transmission Port pair."; - reference - "12.31.8.4 of IEEE Std 802.1Q"; - } - leaf arrival-recognition-delay-max { - type uint32; - units "nanoseconds"; - config false; - mandatory true; - description - "The maximum arrival time recognition delay associated with - the reception Port transmission Port pair."; - reference - "12.31.8.5 of IEEE Std 802.1Q"; - } - leaf processing-delay-min { - type uint32; - units "nanoseconds"; - config false; - mandatory true; - description - "The minimum processing delay associated with the reception - Port transmission Port pair."; - reference - "12.31.8.6 of IEEE Std 802.1Q"; - } - leaf processing-delay-max { - type uint32; - units "nanoseconds"; - config false; - mandatory true; - description - "The maximum processing delay associated with the reception - Port transmission Port pair."; - reference - "12.31.8.7 of IEEE Std 802.1Q"; - } - } - } - } - } - uses sfsg:sfsg-parameters { - augment "stream-filters/stream-filter-instance-table" { - description - "Augments the system stream filter for ATS schedulers."; - uses ats:ats-parameters; - container scheduler { - description - "This container encapsulates ATS scheduler nodes."; - leaf scheduler-ref { - type leafref { - path - '..'+ - '/..'+ - '/schedulers'+ - '/scheduler-instance-table'+ - '/scheduler-instance-id'; - } - description - "A reference to the ATS scheduler associated with this stream - filter."; - } - leaf scheduler-enable { - type boolean; - default "false"; - description - "If TRUE, this stream filter has an associated ATS scheduler - referenced by scheduler-ref. If FALSE, no ATS scheduler is - associated with this stream filter (scheduler-ref is - ignored)."; - } - } - } - } -} diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-stream-filters-gates.yang b/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-stream-filters-gates.yang deleted file mode 100644 index ea7d996ce..000000000 --- a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-stream-filters-gates.yang +++ /dev/null @@ -1,399 +0,0 @@ -module ieee802-dot1q-stream-filters-gates { - yang-version "1.1"; - namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-stream-filters-gates; - prefix sfsg; - organization - "IEEE 802.1 Working Group"; - 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 - "This module provides management of IEEE 802.1Q Bridge components - that support Stream Filters and Stream Gates. - - 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 - "Published as part of IEEE Std 802.1Qcz-2023."; - reference - "IEEE Std 802.1Qcz-2023 - Bridges and Bridged Networks - Amendment: - Congestion Isolation."; - } - revision 2022-10-29 { - description - "Published as part of IEEE Std 802.1Q-2022."; - reference - "IEEE Std 802.1Q-2022, Bridges and Bridged Networks."; - } - revision 2020-11-06 { - description - "Published as part of IEEE Std 802.1Qcr-2020."; - reference - "IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks - - Asynchronous Traffic Shaping."; - } - feature closed-gate-state { - description - "The bridge component supports gate state closed."; - reference - "IEEE Std 802.1Q"; - } - - /* Types and groupings */ - typedef priority-spec-type { - type enumeration { - enum zero { - value 0; - description - "Priority 0"; - } - enum one { - value 1; - description - "Priority 1"; - } - enum two { - value 2; - description - "Priority 2"; - } - enum three { - value 3; - description - "Priority 3"; - } - enum four { - value 4; - description - "Priority 4"; - } - enum five { - value 5; - description - "Priority 5"; - } - enum six { - value 6; - description - "Priority 6"; - } - enum seven { - value 7; - description - "Priority 7"; - } - enum wildcard { - description - "wildcard value"; - } - } - description - "The frame's priority value"; - reference - "8.6.5.2 of IEEE Std 802.1Q"; - } - typedef ipv-spec-type { - type enumeration { - enum zero { - value 0; - description - "Priority 0"; - } - enum one { - value 1; - description - "Priority 1"; - } - enum two { - value 2; - description - "Priority 2"; - } - enum three { - value 3; - description - "Priority 3"; - } - enum four { - value 4; - description - "Priority 4"; - } - enum five { - value 5; - description - "Priority 5"; - } - enum six { - value 6; - description - "Priority 6"; - } - enum seven { - value 7; - description - "Priority 7"; - } - enum null { - description - "null value"; - } - } - description - "An IPV can be either of the following: - 1) The null value. For a frame that passes through the gate, the - priority value associated with the frame is used to determine - the frame's traffic class, using the Traffic Class Table as - specified in 8.6.6. - 2) An internal priority value. For a frame that passes through - the gate, the IPV is used, in place of the priority value - associated with the frame, to determine the frame's traffic - class, using the Traffic Class Table as specified in 8.6.6."; - reference - "8.6.5.2 of IEEE Std 802.1Q"; - } - typedef gate-state-value-type { - type enumeration { - enum closed { - description - "Gate closed"; - } - enum open { - description - "Gate open"; - } - } - description - "The gate-state-value-type indicates a gate state, open or closed, - for the stream gate."; - reference - "12.31.3.2.1 of IEEE Std 802.1Q"; - } - grouping sfsg-parameters { - description - "The grouping of all stream filter and stream gate parameters."; - container stream-gates { - description - "This container encapsulates all nodes related to Stream Gates."; - list stream-gate-instance-table { - key "stream-gate-instance-id"; - description - "Each list entry contains a set of parameters that defines a - single stream gate (8.6.5.4), as detailed in Table 12-36. - Entries in the table can be created or removed dynamically in - implementations that support dynamic configuration of stream - gates."; - reference - "12.31.3 of IEEE Std 802.1Q"; - leaf stream-gate-instance-id { - type uint32; - description - "An integer table index that allows the stream gate to be - referenced from Stream Filter Instance Table entries."; - reference - "12.31.2.5 of IEEE Std 802.1Q - 8.6.5.3 of IEEE Std 802.1Q - 8.6.5.4 of IEEE Std 802.1Q"; - } - leaf gate-enable { - type boolean; - default "false"; - description - "A Boolean variable that indicates whether the operation of - the state machines is enabled (TRUE) or disabled (FALSE). - This variable is set by management. The default value of this - variable is FALSE."; - reference - "8.6.9.4.14 of IEEE Std 802.1Q"; - } - leaf admin-gate-states { - type gate-state-value-type; - default "open"; - description - "The administratively set gate state of this gate."; - reference - "12.31.3.2.1 of IEEE Std 802.1Q - 8.6.10.4 of IEEE Std 802.1Q"; - } - leaf admin-ipv { - type ipv-spec-type; - default "null"; - description - "The administratively set internal priority value - specification."; - reference - "12.31.3.3 of IEEE Std 802.1Q - 8.6.10.6 of IEEE Std 802.1Q - 8.6.5.4 of IEEE Std 802.1Q"; - } - } - leaf max-stream-gate-instances { - type uint32; - config false; - description - "The maximum number of Stream Gate instances supported by this - Bridge component."; - reference - "12.31.1.2 of IEEE Std 802.1Q"; - } - } - container stream-filters { - description - "This container encapsulates all nodes related to stream filters."; - reference - "12.31 of IEEE Std 802.1Q"; - list stream-filter-instance-table { - key "stream-filter-instance-id"; - description - "Each list entry contains a set of parameters that defines a - single stream filter (8.6.5.1) with associated maximum SDU size - filtering (8.6.5.3.1), as detailed in Table 12-35. Entries can - be created or removed dynamically in implementations that - support dynamic configuration of stream filters. The value of - the stream-handle-spec and priority-spec parameters associated - with a received frame determine which stream filter is selected - by the frame, and therefore what combination of filtering and - policing actions is applied to the frame. If the - stream-handle-spec and priority-spec parameters associated with - a received frame match more than one stream filter, the stream - filter that is selected is the one that appears earliest in the - ordered list. If a received frame's stream-handle-spec and - priority-spec does not match any of the stream filters in the - list, the frame is processed as if stream filters and stream - gates would not be supported."; - reference - "12.31.2 of IEEE Std 802.1Q"; - leaf stream-filter-instance-id { - type uint32; - mandatory true; - description - "An integer index value that determines the place of the - stream filter in the ordered list of stream filter instances. - The values are ordered according to their integer value; - smaller values appear earlier in the ordered list."; - reference - "12.31.2.1 of IEEE Std 802.1Q"; - } - choice stream-handle-spec { - description - "The stream_handle specification data type allows either of - the following to be represented: - a) A stream_handle value, represented as an integer. - b) The wildcard value, which matches any frame"; - reference - "12.31.2.2 of IEEE Std 802.1Q"; - - /* NOTE: The mapping of the wildcard literal is - * other than in the MIB definition, where - * the wildcard value is mapped to -1. - */ - case wildcard { - leaf wildcard { - type empty; - description - "The stream handle specification represents a wildcard - value."; - } - } - case stream-handle { - leaf stream-handle { - type uint32; - mandatory true; - description - "The stream handle specification refers to a - stream_handle value."; - } - } - } - leaf priority-spec { - type priority-spec-type; - mandatory true; - description - "The priority specification data type allows either of the - following to be represented: - a) A priority value, represented as an integer. - b) The wildcard value, which matches any priority."; - reference - "12.31.2.3 of IEEE Std 802.1Q"; - } - leaf max-sdu-size { - type uint32; - units "octets"; - mandatory true; - description - "The allowed maximum SDU size, in octets. If set to 0, any - SDU size is accepted."; - reference - "8.6.5.3.1 of IEEE Std 802.1Q"; - } - leaf stream-blocked-due-to-oversize-frame-enabled { - type boolean; - default "false"; - description - "A value of true indicates that - stream-blocked-due-to-oversize-frame is set to true as soon - as a frame exceeds max-sdu-size."; - reference - "8.6.5.3.1 of IEEE Std 802.1Q"; - } - leaf stream-blocked-due-to-oversize-frame { - type boolean; - default "false"; - description - "Indicates by value true that frames are permanently - discarded as a result of an initial frame exceeding - max-sdu-size. The value of - stream-blocked-due-to-oversize-frame can be administratively - reset to false."; - reference - "8.6.5.3.1 of IEEE Std 802.1Q"; - } - leaf stream-gate-ref { - type leafref { - path - '..'+ - '/..'+ - '/..'+ - '/stream-gates'+ - '/stream-gate-instance-table'+ - '/stream-gate-instance-id'; - } - mandatory true; - description - "This node refers to the stream gate (12.31.3) that is - associated with the stream filter. The relationship between - stream filters and stream gates is many to one; a given - stream filter can be associated with only one stream gate, - but there can be multiple stream filters associated with a - given stream gate."; - reference - "12.31.3.1 of IEEE Std 802.1Q"; - } - } - leaf max-stream-filter-instances { - type uint32; - config false; - description - "The maximum number of stream filter instances supported by - this Bridge component."; - reference - "12.31.1.1, 8.6.5.1 of IEEE Std 802.1Q"; - } - } - } -} diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-types.yang b/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-types.yang deleted file mode 100644 index 03bd20437..000000000 --- a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-types.yang +++ /dev/null @@ -1,992 +0,0 @@ -module ieee802-dot1q-types { - namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-types; - prefix dot1q-types; - import ietf-yang-types { - prefix yang; - } - organization - "IEEE 802.1 Working Group"; - 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 - "Common types used within dot1Q-bridge modules. - - 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 - "Published as part of IEEE Std 802.1Qcz-2023."; - reference - "IEEE Std 802.1Qcz-2023, Bridges and Bridged Networks - Congestion - Isolation."; - } - revision 2022-10-29 { - description - "Published as part of IEEE Std 802.1Q-2022."; - reference - "IEEE Std 802.1Q-2022, Bridges and Bridged Networks."; - } - revision 2020-06-04 { - description - "Published as part of IEEE Std 802.1Qcx-2020."; - reference - "IEEE Std 802.1Qcx-2020, Bridges and Bridged Networks - YANG Data - Model for Connectivity Fault Management."; - } - revision 2018-03-07 { - description - "Published as part of IEEE Std 802.1Q-2018."; - reference - "IEEE Std 802.1Q-2018, Bridges and Bridged Networks."; - } - identity dot1q-vlan-type { - description - "Base identity from which all 802.1Q VLAN tag types are derived - from."; - } - identity c-vlan { - base dot1q-vlan-type; - description - "An 802.1Q Customer VLAN, using the 81-00 EtherType."; - reference - "5.5 of IEEE Std 802.1Q"; - } - identity s-vlan { - base dot1q-vlan-type; - description - "An 802.1Q Service VLAN, using the 88-A8 EtherType originally - introduced in 802.1ad, and incorporated into 802.1Q (2011)"; - reference - "5.6 of IEEE Std 802.1Q"; - } - identity transmission-selection-algorithm { - description - "Specify the transmission selection algorithms of IEEE Std - 802.1Q Table 8-6"; - } - identity strict-priority { - base transmission-selection-algorithm; - description - "Indicates the strict priority transmission selection algorithm."; - reference - "Table 8-6 of IEEE Std 802.1Q"; - } - identity credit-based-shaper { - base transmission-selection-algorithm; - description - "Indicates the credit based shaper transmission selection - algorithm."; - reference - "Table 8-6 of IEEE Std 802.1Q"; - } - identity enhanced-transmission-selection { - base transmission-selection-algorithm; - description - "Indicates the enhanced transmission selection algorithm."; - reference - "Table 8-6 of IEEE Std 802.1Q"; - } - identity asynchronous-traffic-shaping { - base transmission-selection-algorithm; - description - "Indicates the asynchronous transmission selection algorithm."; - reference - "Table 8-6 of IEEE Std 802.1Q"; - } - identity vendor-specific { - base transmission-selection-algorithm; - description - "Indicates a vendor specific transmission selection algorithm."; - reference - "Table 8-6 of IEEE Std 802.1Q"; - } - typedef name-type { - type string { - length "0..32"; - } - description - "A text string of up to 32 characters, of locally determined - significance."; - } - typedef port-number-type { - type uint32 { - range "1..4095"; - } - description - "The port number of the Bridge port for which this entry contains - Bridge management information."; - } - typedef priority-type { - type uint8 { - range "0..7"; - } - description - "A range of priorities from 0 to 7 (inclusive). The Priority Code - Point (PCP) is a 3-bit field that refers to the class of service - associated with an 802.1Q VLAN tagged frame. The field specifies a - priority value between 0 and 7, these values can be used by quality - of service (QoS) to prioritize different classes of traffic."; - } - typedef num-traffic-class-type { - type uint8 { - range "1..8"; - } - description - "The number of traffic classes supported or participating in a - particular feature. There are between 1 and 8 supported traffic - classes defined by IEEE Std 802.1Q."; - } - typedef vid-range-type { - type string { - pattern - "([1-9]"+ - "[0-9]{0,3}"+ - "(-[1-9][0-9]{0,3})?"+ - "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; - } - description - "A list of VLAN Ids, or non overlapping VLAN ranges, in ascending - order, between 1 and 4094. - - This type is used to match an ordered list of VLAN Ids, or - contiguous ranges of VLAN Ids. Valid VLAN Ids must be in the range - 1 to 4094, and included in the list in non overlapping ascending - order. - - For example: 1,10-100,250,500-1000"; - } - typedef vlanid { - type uint16 { - range "1..4094"; - } - description - "The vlanid type uniquely identifies a VLAN. This is the 12-bit - VLAN-ID used in the VLAN Tag header. The range is defined by the - referenced specification. This type is in the value set and its - semantics equivalent to the VlanId textual convention of the SMIv2."; - } - typedef vlan-index-type { - type uint32 { - range "1..4094 | 4096..4294967295"; - } - description - "A value used to index per-VLAN tables. Values of 0 and 4095 are - not permitted. The range of valid VLAN indices. If the value is - greater than 4095, then it represents a VLAN with scope local to - the particular agent, i.e., one without a global VLAN-ID assigned - to it. Such VLANs are outside the scope of IEEE 802.1Q, but it is - convenient to be able to manage them in the same way using this - YANG module."; - reference - "9.6 of IEEE Std 802.1Q"; - } - typedef mstid-type { - type uint32 { - range "1..4094"; - } - description - "In an MSTP Bridge, an MSTID, i.e., a value used to identify a - spanning tree (or MST) instance"; - reference - "13.8 of IEEE Std 802.1Q"; - } - typedef pcp-selection-type { - type enumeration { - enum 8P0D { - description - "8 priorities, 0 drop eligible"; - } - enum 7P1D { - description - "7 priorities, 1 drop eligible"; - } - enum 6P2D { - description - "6 priorities, 2 drop eligible"; - } - enum 5P3D { - description - "5 priorities, 3 drop eligible"; - } - } - description - "Priority Code Point selection types."; - reference - "12.6.2.5.3, 6.9.3 of IEEE Std 802.1Q"; - } - typedef protocol-frame-format-type { - type enumeration { - enum Ethernet { - description - "Ethernet frame format"; - } - enum rfc1042 { - description - "RFC 1042 frame format"; - } - enum snap8021H { - description - "SNAP 802.1H frame format"; - } - enum snapOther { - description - "Other SNAP frame format"; - } - enum llcOther { - description - "Other LLC frame format"; - } - } - description - "A value representing the frame format to be matched."; - reference - "12.10.1.7.1 of IEEE Std 802.1Q"; - } - typedef ethertype-type { - type string { - pattern "[0-9a-fA-F]{2}-[0-9a-fA-F]{2}"; - } - description - "The EtherType value represented in the canonical order defined by - IEEE 802. The canonical representation uses uppercase characters."; - reference - "9.2 of IEEE Std 802-2014"; - } - typedef dot1q-tag-type { - type identityref { - base dot1q-vlan-type; - } - description - "Identifies a specific 802.1Q tag type"; - reference - "9.5 IEEE Std 802.1Q"; - } - typedef traffic-class-type { - type uint8 { - range "0..7"; - } - description - "This is the numerical value associated with a traffic class in a - Bridge. Larger values are associated with higher priority traffic - classes."; - reference - "3.273 of IEEE Std 802.1Q"; - } - grouping dot1q-tag-classifier-grouping { - description - "A grouping which represents an 802.1Q VLAN, matching both the - EtherType and a single VLAN Id."; - leaf tag-type { - type dot1q-tag-type; - mandatory true; - description - "VLAN type"; - } - leaf vlan-id { - type vlanid; - mandatory true; - description - "VLAN Id"; - } - } - grouping dot1q-tag-or-any-classifier-grouping { - description - "A grouping which represents an 802.1Q VLAN, matching both the - EtherType and a single VLAN Id or 'any' to match on any VLAN Id."; - leaf tag-type { - type dot1q-tag-type; - mandatory true; - description - "VLAN type"; - } - leaf vlan-id { - type union { - type vlanid; - type enumeration { - enum any { - value 4095; - description - "Matches 'any' VLAN in the range 1 to 4094 that is not - matched by a more specific VLAN Id match"; - } - } - } - mandatory true; - description - "VLAN Id or any"; - } - } - grouping dot1q-tag-ranges-classifier-grouping { - description - "A grouping which represents an 802.1Q VLAN that matches a range of - VLAN Ids."; - leaf tag-type { - type dot1q-tag-type; - mandatory true; - description - "VLAN type"; - } - leaf vlan-ids { - type vid-range-type; - mandatory true; - description - "VLAN Ids"; - } - } - grouping dot1q-tag-ranges-or-any-classifier-grouping { - description - "A grouping which represents an 802.1Q VLAN, matching both the - EtherType and a single VLAN Id, ordered list of ranges, or 'any' to - match on any VLAN Id."; - leaf tag-type { - type dot1q-tag-type; - mandatory true; - description - "VLAN type"; - } - leaf vlan-id { - type union { - type vid-range-type; - type enumeration { - enum any { - value 4095; - description - "Matches 'any' VLAN in the range 1 to 4094."; - } - } - } - mandatory true; - description - "VLAN Ids or any"; - } - } - grouping priority-regeneration-table-grouping { - description - "The priority regeneration table provides the ability to map - incoming priority values on a per-Port basis, under management - control."; - reference - "6.9.4 of IEEE Std 802.1Q"; - leaf priority0 { - type priority-type; - default "0"; - description - "Priority 0"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - leaf priority1 { - type priority-type; - default "1"; - description - "Priority 1"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - leaf priority2 { - type priority-type; - default "2"; - description - "Priority 2"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - leaf priority3 { - type priority-type; - default "3"; - description - "Priority 3"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - leaf priority4 { - type priority-type; - default "4"; - description - "Priority 4"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - leaf priority5 { - type priority-type; - default "5"; - description - "Priority 5"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - leaf priority6 { - type priority-type; - default "6"; - description - "Priority 6"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - leaf priority7 { - type priority-type; - default "7"; - description - "Priority 7"; - reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; - } - } - grouping pcp-decoding-table-grouping { - description - "The Priority Code Point decoding table enables the decoding of the - priority and drop-eligible parameters from the PCP."; - reference - "6.9.3 of IEEE Std 802.1Q"; - list pcp-decoding-map { - key "pcp"; - description - "This map associates the priority code point field found in the - VLAN with a priority and drop eligible value based upon the - priority code point selection type."; - leaf pcp { - type pcp-selection-type; - description - "The priority code point selection type."; - reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; - } - list priority-map { - key "priority-code-point"; - description - "This map associates a priority code point value with priority - and drop eligible parameters."; - leaf priority-code-point { - type priority-type; - description - "Priority associated with the pcp."; - reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; - } - leaf priority { - type priority-type; - description - "Priority associated with the pcp."; - reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; - } - leaf drop-eligible { - type boolean; - description - "Drop eligible value for pcp"; - reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; - } - } - } - } - grouping pcp-encoding-table-grouping { - description - "The Priority Code Point encoding table encodes the priority and - drop-eligible parameters in the PCP field of the VLAN tag."; - reference - "12.6.2.9, 6.9.3 of IEEE Std 802.1Q"; - list pcp-encoding-map { - key "pcp"; - description - "This map associates the priority and drop-eligible parameters - with the priority used to encode the PCP of the VLAN based upon - the priority code point selection type."; - leaf pcp { - type pcp-selection-type; - description - "The priority code point selection type."; - reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; - } - list priority-map { - key "priority dei"; - description - "This map associates the priority and drop-eligible parameters - with the priority code point field of the VLAN tag."; - leaf priority { - type priority-type; - description - "Priority associated with the pcp."; - reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; - } - leaf dei { - type boolean; - description - "The drop eligible value."; - reference - "12.6.2, 8.6.6 of IEEE Std 802.1Q"; - } - leaf priority-code-point { - type priority-type; - description - "PCP value for priority when DEI value"; - reference - "12.6.2.9, 6.9.3 of IEEE Std 802.1Q"; - } - } - } - } - grouping service-access-priority-table-grouping { - description - "The Service Access Priority Table associates a received priority - with a service access priority."; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - leaf priority0 { - type priority-type; - default "0"; - description - "Service access priority value for priority 0"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - leaf priority1 { - type priority-type; - default "1"; - description - "Service access priority value for priority 1"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - leaf priority2 { - type priority-type; - default "2"; - description - "Service access priority value for priority 2"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - leaf priority3 { - type priority-type; - default "3"; - description - "Service access priority value for priority 3"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - leaf priority4 { - type priority-type; - default "4"; - description - "Service access priority value for priority 4"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - leaf priority5 { - type priority-type; - default "5"; - description - "Service access priority value for priority 5"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - leaf priority6 { - type priority-type; - default "6"; - description - "Service access priority value for priority 6"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - leaf priority7 { - type priority-type; - default "7"; - description - "Service access priority value for priority 7"; - reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; - } - } - grouping traffic-class-table-grouping { - description - "The Traffic Class Table models the operations that can be - performed on, or can inquire about, the current contents of the - Traffic Class Table (8.6.6) for a given Port."; - reference - "12.6.3, 8.6.6 of IEEE Std 802.1Q"; - list traffic-class-map { - key "priority"; - description - "The priority index into the traffic class table."; - leaf priority { - type priority-type; - description - "The priority of the traffic class entry."; - reference - "8.6.6 of IEEE Std 802.1Q"; - } - list available-traffic-class { - key "num-traffic-class"; - description - "The traffic class index associated with a given priority - within the traffic class table."; - reference - "8.6.6 of IEEE Std 802.1Q"; - leaf num-traffic-class { - type uint8 { - range "1..8"; - } - description - "The available number of traffic classes."; - reference - "8.6.6 of IEEE Std 802.1Q"; - } - leaf traffic-class { - type traffic-class-type; - description - "The traffic class index associated with a given traffic - class entry."; - reference - "8.6.6 of IEEE Std 802.1Q"; - } - } - } - } - grouping transmission-selection-table-grouping { - description - "The Transmission Selection Algorithm Table models the operations - that can be performed on, or can inquire about, the current contents - of the Transmission Selection Algorithm Table (12.20.2) for a given - Port."; - reference - "12.20.2, 8.6.8 of IEEE Std 802.1Q"; - list transmission-selection-algorithm-map { - key "traffic-class"; - description - "The traffic class to index into the transmission selection - table."; - leaf traffic-class { - type traffic-class-type; - description - "The traffic class of the entry."; - reference - "8.6.6 of IEEE Std 802.1Q"; - } - leaf transmission-selection-algorithm { - type identityref { - base dot1q-types:transmission-selection-algorithm; - } - description - "Transmission selection algorithm"; - reference - "8.6.8, Table 8-6 of IEEE Std 802.1Q"; - } - } - } - grouping port-map-grouping { - description - "A set of control indicators, one for each Port. A Port Map, - containing a control element for each outbound Port"; - reference - "8.8.1, 8.8.2 of IEEE Std 802.1Q"; - list port-map { - key "port-ref"; - description - "The list of entries composing the port map."; - leaf port-ref { - type port-number-type; - description - "The interface port reference associated with this map."; - reference - "8.8.1 of IEEE Std 802.1Q"; - } - choice map-type { - description - "Type of port map"; - container static-filtering-entries { - description - "Static filtering entries attributes."; - leaf control-element { - type enumeration { - enum forward { - description - "Forwarded, independently of any dynamic filtering - information held by the FDB."; - } - enum filter { - description - "Filtered, independently of any dynamic filtering - information."; - } - enum forward-filter { - description - "Forwarded or filtered on the basis of dynamic - filtering information, or on the basis of the default - Group filtering behavior for the outbound Port (8.8.6) - if no dynamic filtering information is present - specifically for the MAC address."; - } - } - description - "A control element for each outbound Port, specifying that - a frame with a destination MAC address, and in the case of - VLAN Bridge components, VID that meets this specification."; - reference - "8.8.1 of IEEE Std 802.1Q"; - } - leaf connection-identifier { - type port-number-type; - description - "A Port MAP may contain a connection identifier (8.8.12) - for each outbound port. The connection identifier may be - associated with the Bridge Port value maintained in a - Dynamic Filtering Entry of the FDB for Bridge Ports."; - reference - "8.8.1, 8.8.12 of IEEE Std 802.1Q"; - } - } - container static-vlan-registration-entries { - description - "Static VLAN registration entries."; - leaf registrar-admin-control { - type enumeration { - enum fixed-new-ignored { - description - "Registration Fixed (New ignored)."; - } - enum fixed-new-propagated { - description - "Registration Fixed (New propagated."; - } - enum forbidden { - description - "Registration Forbidden."; - } - enum normal { - description - "Normal Registration."; - } - } - description - "The Registrar Administrative Control values for MVRP and - MIRP for the VID."; - reference - "8.8.2 of IEEE Std 802.1Q"; - } - leaf vlan-transmitted { - type enumeration { - enum tagged { - description - "VLAN-tagged"; - } - enum untagged { - description - "VLAN-untagged"; - } - } - description - "Whether frames are to be VLAN-tagged or untagged when - transmitted."; - reference - "8.8.2 of IEEE Std 802.1Q"; - } - } - container mac-address-registration-entries { - description - "MAC address registration entries attributes."; - leaf control-element { - type enumeration { - enum registered { - description - "Forwarded, independently of any dynamic filtering - information held by the FDB."; - } - enum not-registered { - description - "Filtered, independently of any dynamic filtering - information."; - } - } - description - "A control element for each outbound Port, specifying that - a frame with a destination MAC address, and in the case of - VLAN Bridge components, VID that meets this specification."; - reference - "8.8.4 of IEEE Std 802.1Q"; - } - } - container dynamic-vlan-registration-entries { - description - "Dynamic VLAN registration entries attributes."; - leaf control-element { - type enumeration { - enum registered { - description - "Forwarded, independently of any dynamic filtering - information held by the FDB."; - } - } - description - "A control element for each outbound Port, specifying that - a frame with a destination MAC address, and in the case of - VLAN Bridge components, VID that meets this specification."; - reference - "8.8.5 of IEEE Std 802.1Q"; - } - } - container dynamic-reservation-entries { - description - "Dynamic reservation entries attributes."; - leaf control-element { - type enumeration { - enum forward { - description - "Forwarded, independently of any dynamic filtering - information held by the FDB."; - } - enum filter { - description - "Filtered, independently of any dynamic filtering - information."; - } - } - description - "A control element for each outbound Port, specifying that - a frame with a destination MAC address, and in the case of - VLAN Bridge components, VID that meets this specification."; - reference - "8.8.7 of IEEE Std 802.1Q"; - } - } - container dynamic-filtering-entries { - description - "Dynamic filtering entries attributes."; - leaf control-element { - type enumeration { - enum forward { - description - "Forwarded, independently of any dynamic filtering - information held by the FDB."; - } - } - description - "A control element for each outbound Port, specifying that - a frame with a destination MAC address, and in the case of - VLAN Bridge components, VID that meets this specification."; - reference - "8.8.3 of IEEE Std 802.1Q"; - } - } - } - } - } - grouping bridge-port-statistics-grouping { - description - "Grouping of bridge port statistics."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - leaf delay-exceeded-discards { - type yang:counter64; - description - "The number of frames discarded by this port due to excessive - transit delay through the Bridge. It is incremented by both - transparent and source route Bridges."; - reference - "12.6.1.1.3, 8.6.6 of IEEE Std 802.1Q"; - } - leaf mtu-exceeded-discards { - type yang:counter64; - description - "The number of frames discarded by this port due to an excessive - size. It is incremented by both transparent and source route - Bridges."; - reference - "Item g) in 12.6.1.1.3 of IEEE Std 802.1Q"; - } - leaf frame-rx { - type yang:counter64; - description - "The number of frames that have been received by this port from - its segment. Note that a frame received on the interface - corresponding to this port is only counted by this object if and - only if it is for a protocol being processed by the local - bridging function, including Bridge management frames."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - } - leaf octets-rx { - type yang:counter64; - description - "The total number of octets in all valid frames received - (including BPDUs, frames addressed to the Bridge as an end - station, and frames that were submitted to the Forwarding - Process)."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - } - leaf frame-tx { - type yang:counter64; - description - "The number of frames that have been transmitted by this port to - its segment. Note that a frame transmitted on the interface - corresponding to this port is only counted by this object if and - only if it is for a protocol being processed by the local - bridging function, including Bridge management frames."; - } - leaf octets-tx { - type yang:counter64; - description - "The total number of octets that have been transmitted by this - port to its segment."; - } - leaf discard-inbound { - type yang:counter64; - description - "Count of received valid frames that were discarded (i.e., - filtered) by the Forwarding Process."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - } - leaf forward-outbound { - type yang:counter64; - description - "The number of frames forwarded to the associated MAC Entity - (8.5)."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - } - leaf discard-lack-of-buffers { - type yang:counter64; - description - "The count of frames that were to be transmitted through the - associated Port but were discarded due to lack of buffers."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - } - leaf discard-transit-delay-exceeded { - type yang:counter64; - description - "The number of frames discarded by this port due to excessive - transit delay through the Bridge. It is incremented by both - transparent and source route Bridges."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - } - leaf discard-on-error { - type yang:counter64; - description - "The number of frames that were to be forwarded on the associated - MAC but could not be transmitted (e.g., frame would be too large, - 6.5.8)."; - reference - "12.6.1.1.3 of IEEE Std 802.1Q"; - } - } -} diff --git a/standard/ieee/draft/802.1/AEdk/ieee802-dot1ae-pry.yang b/standard/ieee/published/802.1/ieee802-dot1ae-pry.yang similarity index 100% rename from standard/ieee/draft/802.1/AEdk/ieee802-dot1ae-pry.yang rename to standard/ieee/published/802.1/ieee802-dot1ae-pry.yang diff --git a/standard/ieee/draft/802.1/AEdk/ieee802-dot1ae-secy.yang b/standard/ieee/published/802.1/ieee802-dot1ae-secy.yang similarity index 100% rename from standard/ieee/draft/802.1/AEdk/ieee802-dot1ae-secy.yang rename to standard/ieee/published/802.1/ieee802-dot1ae-secy.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-ats-bridge.yang b/standard/ieee/published/802.1/ieee802-dot1q-ats-bridge.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-ats-bridge.yang rename to standard/ieee/published/802.1/ieee802-dot1q-ats-bridge.yang diff --git a/standard/ieee/published/802.1/ieee802-dot1q-ats.yang b/standard/ieee/published/802.1/ieee802-dot1q-ats.yang index a225bb7a0..b68813786 100644 --- a/standard/ieee/published/802.1/ieee802-dot1q-ats.yang +++ b/standard/ieee/published/802.1/ieee802-dot1q-ats.yang @@ -5,15 +5,9 @@ module ieee802-dot1q-ats { import ietf-yang-types { prefix yang; } - import ietf-interfaces { - prefix if; - } import ieee802-dot1q-types { prefix dot1qtypes; } - import ieee802-dot1q-bridge { - prefix dot1q; - } import ieee802-dot1q-stream-filters-gates { prefix sfsg; } @@ -25,20 +19,30 @@ module ieee802-dot1q-ats { 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 + IEEE Standards Association + 445 Hoes Lane + Piscataway, NJ 08854 + USA E-mail: stds-802-1-chairs@ieee.org"; description - "This module provides management of 802.1Q bridge components that - support Asynchronous Traffic Shaping (ATS). + "This module provides management of IEEE 802.1Q Bridge components + that support Asynchronous Traffic Shaping (ATS). - Copyright (C) IEEE (2022). + 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 + "Published as part of IEEE Std 802.1Qcz-2023."; + reference + "IEEE Std 802.1Qcz-2023, Bridges and Bridged Networks - Congestion + Isolation."; + } revision 2022-01-19 { description "Published as part of IEEE Std 802.1Q-2022."; @@ -47,104 +51,46 @@ module ieee802-dot1q-ats { } revision 2020-11-06 { description - "Published as part of IEEE Std 802.1Qcr-2020. Initial version."; + "Published as part of IEEE Std 802.1Qcr-2020."; reference "IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks - Asynchronous Traffic Shaping."; } - typedef scheduler-ref-type { - type leafref { - path - '/dot1q:bridges'+ - '/dot1q:bridge'+ - '/dot1q:component'+ - '/ats:schedulers'+ - '/ats:scheduler-instance-table'+ - '/ats:scheduler-instance-id'; - } - description - "This type is used to refer to an ATS scheduler instance."; - } - typedef scheduler-group-ref-type { - type leafref { - path - '/dot1q:bridges'+ - '/dot1q:bridge'+ - '/dot1q:component'+ - '/ats:scheduler-groups'+ - '/ats:scheduler-group-instance-table'+ - '/ats:scheduler-group-instance-id'; - } - description - "This type is used to refer to an ATS scheduler group instance."; - } - augment - "/dot1q:bridges"+ - "/dot1q:bridge"+ - "/dot1q:component"+ - "/sfsg:stream-filters"+ - "/sfsg:stream-filter-instance-table" { - description - "Augments the Bridge component stream filter for ATS schedulers."; - container scheduler { - description - "Enapsulates ATS scheduler nodes."; - leaf scheduler-ref { - type ats:scheduler-ref-type; - description - "A reference to the ATS scheduler associated with this stream - filter."; - } - leaf scheduler-enable { - type boolean; - default "false"; - description - "If TRUE, this stream filter has an associated ATS scheduler - referenced by scheduler-ref. If FALSE, no ATS scheduler is - associated with this stream filter (scheduler-ref is ignored)."; - } - } - } - augment "/if:interfaces/if:interface/dot1q:bridge-port" { + grouping ats-port-parameters { description - "Augments Bridge Ports by ATS per-Port parameters."; - container ats-port-parameters { + "This container comprises all ATS per-Port parameters."; + leaf discarded-frames-count { + type yang:counter64; + config false; description - "This container comprises all ATS per-Port parameters."; - leaf discarded-frames-count { - type yang:counter64; - config false; - description - "A counter of frames discarded by ATS scheduler instances - associated with the Bridge Port."; - reference - "12.31.7.3 of IEEE Std 802.1Q-2022"; - } + "A counter of frames discarded by ATS scheduler instances + associated with the Bridge Port."; + reference + "12.31.7.2 of IEEE Std 802.1Q"; } } - augment "/dot1q:bridges/dot1q:bridge/dot1q:component" { + grouping ats-parameters { description - "Augments the Bridge component by + "System specific configuration for ATS includes: a) ATS schedulers b) ATS scheduler groups"; container schedulers { description - "This container comprises all nodes related to an ATS - schedulers."; + "This container comprises all nodes related to ATS schedulers."; list scheduler-instance-table { key "scheduler-instance-id"; description "Each list entry comprises a set of parameters that defines a - single ATS scheduler instance, as detailed in Table 12-33."; + single ATS scheduler instance, as detailed in Table 12-38."; reference - "12.31.5 of IEEE Std 802.1Q-2022"; + "12.31.5 of IEEE Std 802.1Q"; leaf scheduler-instance-id { type uint32; mandatory true; description "A unique index identifying this ATS scheduler instance."; reference - "12.31.5.1, 8.6.5.6 of IEEE Std 802.1Q-2022"; + "12.31.5.1, 8.6.5.6 of IEEE Std 802.1Q"; } leaf committed-information-rate { type uint64; @@ -154,7 +100,7 @@ module ieee802-dot1q-ats { "The committed information rate parameter of this ATS scheduler instance."; reference - "12.31.5.3, 8.6.5.6 of IEEE Std 802.1Q-2022"; + "12.31.5.3, 8.6.5.6 of IEEE Std 802.1Q"; } leaf committed-burst-size { type uint32; @@ -164,18 +110,26 @@ module ieee802-dot1q-ats { "The committed burst size parameter of this ATS scheduler instance."; reference - "12.31.5.3, 8.6.5.6 of IEEE Std 802.1Q-2022"; + "12.31.5.2, 8.6.5.6 of IEEE Std 802.1Q"; } leaf scheduler-group-ref { - type ats:scheduler-group-ref-type; + type leafref { + path + '..'+ + '/..'+ + '/..'+ + '/scheduler-groups'+ + '/scheduler-group-instance-table'+ + '/scheduler-group-instance-id'; + } mandatory true; description - "A reference to the scheduler group (12.32.5) associated + "A reference to the scheduler group (12.31.5.4) associated with this ATS scheduler instance. Multiple ATS scheduler instances can be associated to one scheduler group, as detailed in 8.6.5.6."; reference - "12.31.6 of IEEE Std 802.1Q-2022"; + "12.31.5.4, 8.6.5.6 of IEEE Std 802.1Q"; } } leaf max-scheduler-instances { @@ -185,7 +139,7 @@ module ieee802-dot1q-ats { "The maximum number of ATS scheduler instances supported by this Bridge component."; reference - "12.31.1.5 of IEEE Std 802.1Q-2022"; + "12.31.1.5 of IEEE Std 802.1Q"; } } container scheduler-groups { @@ -197,14 +151,14 @@ module ieee802-dot1q-ats { "Each list entry comprises a set of parameters that defines a single ATS scheduler group instance."; reference - "12.31.6, 8.6.5.6 of IEEE Std 802.1Q-2022"; + "12.31.6, 8.6.5.6 of IEEE Std 802.1Q"; leaf scheduler-group-instance-id { type uint32; description "A unique index identifying this ATS scheduler group instance."; reference - "12.31.6, 8.6.5.6 of IEEE Std 802.1Q-2022"; + "12.31.6.1, 8.6.5.6 of IEEE Std 802.1Q"; } leaf max-residence-time { type uint32; @@ -214,7 +168,7 @@ module ieee802-dot1q-ats { "The maximum residence time parameter of the ATS scheduler group."; reference - "8.6.11.2.13, 8.6.5.6 of IEEE Std 802.1Q-2022"; + "12.31.6.2, 8.6.5.6 of IEEE Std 802.1Q"; } } leaf max-scheduler-group-instances { @@ -224,7 +178,7 @@ module ieee802-dot1q-ats { "The maximum number of ATS scheduler group instances supported by this Bridge component."; reference - "12.31.1.6, 8.6.5.6 of IEEE Std 802.1Q-2022"; + "12.31.1.6, 8.6.5.6 of IEEE Std 802.1Q"; } container scheduler-timing-characteristics { description @@ -236,9 +190,9 @@ module ieee802-dot1q-ats { description "Each list entry comprises the timing characteristics of a reception Port transmission Port pair, as detailed in Table - 12-36."; + 12-41."; reference - "12.31.8, 8.6.11 of IEEE Std 802.1Q-2022"; + "12.31.8, 8.6.11 of IEEE Std 802.1Q"; leaf reception-port { type dot1qtypes:port-number-type; config false; @@ -246,7 +200,7 @@ module ieee802-dot1q-ats { description "A reference to the associated reception Port."; reference - "12.31.8.1 of IEEE Std 802.1Q-2022"; + "12.31.8.1 of IEEE Std 802.1Q"; } leaf transmission-port { type dot1qtypes:port-number-type; @@ -255,7 +209,7 @@ module ieee802-dot1q-ats { description "A reference to the associated transmission Port."; reference - "12.31.8.2 of IEEE Std 802.1Q-2022"; + "12.31.8.2 of IEEE Std 802.1Q"; } leaf clock-offset-variation-max { type uint32; @@ -266,7 +220,7 @@ module ieee802-dot1q-ats { "The maximum clock offset variation associated with the reception Port transmission Port pair."; reference - "12.31.8.3 of IEEE Std 802.1Q-2022"; + "12.31.8.3 of IEEE Std 802.1Q"; } leaf clock-rate-deviation-max { type uint32; @@ -277,7 +231,7 @@ module ieee802-dot1q-ats { "The maximum clock rate deviation associated with the reception Port transmission Port pair."; reference - "12.31.8.4 of IEEE Std 802.1Q-2022"; + "12.31.8.4 of IEEE Std 802.1Q"; } leaf arrival-recognition-delay-max { type uint32; @@ -285,10 +239,10 @@ module ieee802-dot1q-ats { config false; mandatory true; description - "The maximum arrival time recognition delay associated - with the reception Port transmission Port pair."; + "The maximum arrival time recognition delay associated with + the reception Port transmission Port pair."; reference - "12.31.8.5 of IEEE Std 802.1Q-2022"; + "12.31.8.5 of IEEE Std 802.1Q"; } leaf processing-delay-min { type uint32; @@ -296,10 +250,10 @@ module ieee802-dot1q-ats { config false; mandatory true; description - "The minimum processing delay associated with the - reception Port transmission Port pair."; + "The minimum processing delay associated with the reception + Port transmission Port pair."; reference - "12.31.8.6 of IEEE Std 802.1Q-2022"; + "12.31.8.6 of IEEE Std 802.1Q"; } leaf processing-delay-max { type uint32; @@ -307,11 +261,44 @@ module ieee802-dot1q-ats { config false; mandatory true; description - "The maximum processing delay associated with the - reception Port transmission Port pair."; + "The maximum processing delay associated with the reception + Port transmission Port pair."; reference - "12.31.8.7 of IEEE Std 802.1Q-2022"; + "12.31.8.7 of IEEE Std 802.1Q"; + } + } + } + } + } + uses sfsg:sfsg-parameters { + augment "stream-filters/stream-filter-instance-table" { + description + "Augments the system stream filter for ATS schedulers."; + uses ats:ats-parameters; + container scheduler { + description + "This container encapsulates ATS scheduler nodes."; + leaf scheduler-ref { + type leafref { + path + '..'+ + '/..'+ + '/schedulers'+ + '/scheduler-instance-table'+ + '/scheduler-instance-id'; } + description + "A reference to the ATS scheduler associated with this stream + filter."; + } + leaf scheduler-enable { + type boolean; + default "false"; + description + "If TRUE, this stream filter has an associated ATS scheduler + referenced by scheduler-ref. If FALSE, no ATS scheduler is + associated with this stream filter (scheduler-ref is + ignored)."; } } } diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-congestion-isolation-bridge.yang b/standard/ieee/published/802.1/ieee802-dot1q-congestion-isolation-bridge.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-congestion-isolation-bridge.yang rename to standard/ieee/published/802.1/ieee802-dot1q-congestion-isolation-bridge.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-congestion-isolation.yang b/standard/ieee/published/802.1/ieee802-dot1q-congestion-isolation.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-congestion-isolation.yang rename to standard/ieee/published/802.1/ieee802-dot1q-congestion-isolation.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-basic-tlv.yang b/standard/ieee/published/802.1/ieee802-dot1q-lldp-basic-tlv.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-basic-tlv.yang rename to standard/ieee/published/802.1/ieee802-dot1q-lldp-basic-tlv.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-ci-tlv.yang b/standard/ieee/published/802.1/ieee802-dot1q-lldp-ci-tlv.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-ci-tlv.yang rename to standard/ieee/published/802.1/ieee802-dot1q-lldp-ci-tlv.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-cn-tlv.yang b/standard/ieee/published/802.1/ieee802-dot1q-lldp-cn-tlv.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-cn-tlv.yang rename to standard/ieee/published/802.1/ieee802-dot1q-lldp-cn-tlv.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-dcbx-tlv.yang b/standard/ieee/published/802.1/ieee802-dot1q-lldp-dcbx-tlv.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-dcbx-tlv.yang rename to standard/ieee/published/802.1/ieee802-dot1q-lldp-dcbx-tlv.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-evb-tlv.yang b/standard/ieee/published/802.1/ieee802-dot1q-lldp-evb-tlv.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-evb-tlv.yang rename to standard/ieee/published/802.1/ieee802-dot1q-lldp-evb-tlv.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-tr-tlv.yang b/standard/ieee/published/802.1/ieee802-dot1q-lldp-tr-tlv.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-lldp-tr-tlv.yang rename to standard/ieee/published/802.1/ieee802-dot1q-lldp-tr-tlv.yang diff --git a/standard/ieee/draft/802.1/Qcz/ieee802-dot1q-stream-filters-gates-bridge.yang b/standard/ieee/published/802.1/ieee802-dot1q-stream-filters-gates-bridge.yang similarity index 100% rename from standard/ieee/draft/802.1/Qcz/ieee802-dot1q-stream-filters-gates-bridge.yang rename to standard/ieee/published/802.1/ieee802-dot1q-stream-filters-gates-bridge.yang diff --git a/standard/ieee/published/802.1/ieee802-dot1q-stream-filters-gates.yang b/standard/ieee/published/802.1/ieee802-dot1q-stream-filters-gates.yang index 4bed65ed9..ea7d996ce 100644 --- a/standard/ieee/published/802.1/ieee802-dot1q-stream-filters-gates.yang +++ b/standard/ieee/published/802.1/ieee802-dot1q-stream-filters-gates.yang @@ -2,9 +2,6 @@ module ieee802-dot1q-stream-filters-gates { yang-version "1.1"; namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-stream-filters-gates; prefix sfsg; - import ieee802-dot1q-bridge { - prefix dot1q; - } organization "IEEE 802.1 Working Group"; contact @@ -13,29 +10,39 @@ module ieee802-dot1q-stream-filters-gates { 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 + IEEE Standards Association + 445 Hoes Lane + Piscataway, NJ 08854 + USA E-mail: stds-802-1-chairs@ieee.org"; description - "This module provides management of 802.1Q bridge components that - support Stream Filters and Stream Gates. + "This module provides management of IEEE 802.1Q Bridge components + that support Stream Filters and Stream Gates. - Copyright (C) IEEE (2022). + 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 + "Published as part of IEEE Std 802.1Qcz-2023."; + reference + "IEEE Std 802.1Qcz-2023 - Bridges and Bridged Networks - Amendment: + Congestion Isolation."; + } revision 2022-10-29 { description - "Published as part of IEEE Std 802.1Q-2022. Second version."; + "Published as part of IEEE Std 802.1Q-2022."; reference "IEEE Std 802.1Q-2022, Bridges and Bridged Networks."; } revision 2020-11-06 { description - "Published as part of IEEE Std 802.1Qcr-2020. Initial version."; + "Published as part of IEEE Std 802.1Qcr-2020."; reference "IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks - Asynchronous Traffic Shaping."; @@ -44,7 +51,7 @@ module ieee802-dot1q-stream-filters-gates { description "The bridge component supports gate state closed."; reference - "IEEE Std 802.1Q-2022"; + "IEEE Std 802.1Q"; } /* Types and groupings */ @@ -98,7 +105,7 @@ module ieee802-dot1q-stream-filters-gates { description "The frame's priority value"; reference - "8.6.5.2 of IEEE Std 802.1Q-2022"; + "8.6.5.2 of IEEE Std 802.1Q"; } typedef ipv-spec-type { type enumeration { @@ -149,16 +156,16 @@ module ieee802-dot1q-stream-filters-gates { } description "An IPV can be either of the following: - 1) The null value. For a frame that passes through the gate, - the priority value associated with the frame is used to - determine the frame's traffic class, using the Traffic Class - Table as specified in 8.6.6. + 1) The null value. For a frame that passes through the gate, the + priority value associated with the frame is used to determine + the frame's traffic class, using the Traffic Class Table as + specified in 8.6.6. 2) An internal priority value. For a frame that passes through the gate, the IPV is used, in place of the priority value associated with the frame, to determine the frame's traffic class, using the Traffic Class Table as specified in 8.6.6."; reference - "8.6.5.2 of IEEE Std 802.1Q-2022"; + "8.6.5.2 of IEEE Std 802.1Q"; } typedef gate-state-value-type { type enumeration { @@ -175,62 +182,112 @@ module ieee802-dot1q-stream-filters-gates { "The gate-state-value-type indicates a gate state, open or closed, for the stream gate."; reference - "12.31.3.2.1 of IEEE Std 802.1Q-2022"; - } - typedef stream-gate-ref { - type leafref { - path - '/dot1q:bridges'+ - '/dot1q:bridge'+ - '/dot1q:component'+ - '/sfsg:stream-gates'+ - '/sfsg:stream-gate-instance-table'+ - '/sfsg:stream-gate-instance-id'; - } - description - "This type is used to refer to a stream gate instance."; + "12.31.3.2.1 of IEEE Std 802.1Q"; } - augment "/dot1q:bridges/dot1q:bridge/dot1q:component" { + grouping sfsg-parameters { description - "Augments the Bridge component with stream filters and stream - gates."; + "The grouping of all stream filter and stream gate parameters."; + container stream-gates { + description + "This container encapsulates all nodes related to Stream Gates."; + list stream-gate-instance-table { + key "stream-gate-instance-id"; + description + "Each list entry contains a set of parameters that defines a + single stream gate (8.6.5.4), as detailed in Table 12-36. + Entries in the table can be created or removed dynamically in + implementations that support dynamic configuration of stream + gates."; + reference + "12.31.3 of IEEE Std 802.1Q"; + leaf stream-gate-instance-id { + type uint32; + description + "An integer table index that allows the stream gate to be + referenced from Stream Filter Instance Table entries."; + reference + "12.31.2.5 of IEEE Std 802.1Q + 8.6.5.3 of IEEE Std 802.1Q + 8.6.5.4 of IEEE Std 802.1Q"; + } + leaf gate-enable { + type boolean; + default "false"; + description + "A Boolean variable that indicates whether the operation of + the state machines is enabled (TRUE) or disabled (FALSE). + This variable is set by management. The default value of this + variable is FALSE."; + reference + "8.6.9.4.14 of IEEE Std 802.1Q"; + } + leaf admin-gate-states { + type gate-state-value-type; + default "open"; + description + "The administratively set gate state of this gate."; + reference + "12.31.3.2.1 of IEEE Std 802.1Q + 8.6.10.4 of IEEE Std 802.1Q"; + } + leaf admin-ipv { + type ipv-spec-type; + default "null"; + description + "The administratively set internal priority value + specification."; + reference + "12.31.3.3 of IEEE Std 802.1Q + 8.6.10.6 of IEEE Std 802.1Q + 8.6.5.4 of IEEE Std 802.1Q"; + } + } + leaf max-stream-gate-instances { + type uint32; + config false; + description + "The maximum number of Stream Gate instances supported by this + Bridge component."; + reference + "12.31.1.2 of IEEE Std 802.1Q"; + } + } container stream-filters { description - "This container encapsulates all nodes related to stream - bilters."; + "This container encapsulates all nodes related to stream filters."; reference - "12.31 of IEEE Std 802.1Q-2022"; + "12.31 of IEEE Std 802.1Q"; list stream-filter-instance-table { key "stream-filter-instance-id"; description "Each list entry contains a set of parameters that defines a - single stream filter (8.6.5.1) with associated maximum SDU - size filtering (8.6.5.3.1), as detailed in Table 12-32. - Entries can be created or removed dynamically in - implementations that support dynamic configuration of stream - filters. The value of the stream-handle-spec and priority-spec - parameters associated with a received frame determine which - stream filter is selected by the frame, and therefore what - combination of filtering and policing actions is applied to - the frame. If the stream-handle-spec and priority-spec - parameters associated with a received frame match more than - one stream filter, the stream filter that is selected is the - one that appears earliest in the ordered list. If a received - frame's stream-handle-spec and priority-spec does not match - any of the stream filters in the list, the frame is processed - as if stream filters and stream gates would not be supported."; + single stream filter (8.6.5.1) with associated maximum SDU size + filtering (8.6.5.3.1), as detailed in Table 12-35. Entries can + be created or removed dynamically in implementations that + support dynamic configuration of stream filters. The value of + the stream-handle-spec and priority-spec parameters associated + with a received frame determine which stream filter is selected + by the frame, and therefore what combination of filtering and + policing actions is applied to the frame. If the + stream-handle-spec and priority-spec parameters associated with + a received frame match more than one stream filter, the stream + filter that is selected is the one that appears earliest in the + ordered list. If a received frame's stream-handle-spec and + priority-spec does not match any of the stream filters in the + list, the frame is processed as if stream filters and stream + gates would not be supported."; reference - "12.31.2 of IEEE Std 802.1Q-2022"; + "12.31.2 of IEEE Std 802.1Q"; leaf stream-filter-instance-id { type uint32; mandatory true; description "An integer index value that determines the place of the - stream filter in the ordered list of stream filter - instances. The values are ordered according to their integer - value; smaller values appear earlier in the ordered list."; + stream filter in the ordered list of stream filter instances. + The values are ordered according to their integer value; + smaller values appear earlier in the ordered list."; reference - "12.31.2.1 of IEEE Std 802.1Q-2022"; + "12.31.2.1 of IEEE Std 802.1Q"; } choice stream-handle-spec { description @@ -239,7 +296,7 @@ module ieee802-dot1q-stream-filters-gates { a) A stream_handle value, represented as an integer. b) The wildcard value, which matches any frame"; reference - "12.31.2.2 of IEEE Std 802.1Q-2022"; + "12.31.2.2 of IEEE Std 802.1Q"; /* NOTE: The mapping of the wildcard literal is * other than in the MIB definition, where @@ -272,7 +329,7 @@ module ieee802-dot1q-stream-filters-gates { a) A priority value, represented as an integer. b) The wildcard value, which matches any priority."; reference - "12.31.2.3 of IEEE Std 802.1Q-2022"; + "12.31.2.3 of IEEE Std 802.1Q"; } leaf max-sdu-size { type uint32; @@ -282,7 +339,7 @@ module ieee802-dot1q-stream-filters-gates { "The allowed maximum SDU size, in octets. If set to 0, any SDU size is accepted."; reference - "8.6.5.3.1 of IEEE Std 802.1Q-2022"; + "8.6.5.3.1 of IEEE Std 802.1Q"; } leaf stream-blocked-due-to-oversize-frame-enabled { type boolean; @@ -292,7 +349,7 @@ module ieee802-dot1q-stream-filters-gates { stream-blocked-due-to-oversize-frame is set to true as soon as a frame exceeds max-sdu-size."; reference - "8.6.5.3.1 of IEEE Std 802.1Q-2022"; + "8.6.5.3.1 of IEEE Std 802.1Q"; } leaf stream-blocked-due-to-oversize-frame { type boolean; @@ -304,10 +361,18 @@ module ieee802-dot1q-stream-filters-gates { stream-blocked-due-to-oversize-frame can be administratively reset to false."; reference - "8.6.5.3.1 of IEEE Std 802.1Q-2022"; + "8.6.5.3.1 of IEEE Std 802.1Q"; } leaf stream-gate-ref { - type stream-gate-ref; + type leafref { + path + '..'+ + '/..'+ + '/..'+ + '/stream-gates'+ + '/stream-gate-instance-table'+ + '/stream-gate-instance-id'; + } mandatory true; description "This node refers to the stream gate (12.31.3) that is @@ -317,7 +382,7 @@ module ieee802-dot1q-stream-filters-gates { but there can be multiple stream filters associated with a given stream gate."; reference - "12.31.2.4 of IEEE Std 802.1Q-2022"; + "12.31.3.1 of IEEE Std 802.1Q"; } } leaf max-stream-filter-instances { @@ -327,67 +392,7 @@ module ieee802-dot1q-stream-filters-gates { "The maximum number of stream filter instances supported by this Bridge component."; reference - "12.31.1.1, 8.6.5.1 of IEEE Std 802.1Q-2022"; - } - } - container stream-gates { - description - "This container encapsulates all nodes related to Stream Gates."; - list stream-gate-instance-table { - key "stream-gate-instance-id"; - description - "Each list entry contains a set of parameters that defines a - single stream gate (8.6.5.2), as detailed in Table 12-33. - Entries in the table can be created or removed dynamically in - implementations that support dynamic configuration of stream - gates."; - reference - "12.31.3 of IEEE Std 802.1Q-2022"; - leaf stream-gate-instance-id { - type uint32; - description - "An integer table index that allows the stream gate to be - referenced from Stream Filter Instance Table entries."; - reference - "12.31.2.5 of IEEE Std 802.1Q-2022"; - } - leaf gate-enable { - type boolean; - default "false"; - description - "A Boolean variable that indicates whether the operation of - the state machines is enabled (TRUE) or disabled (FALSE). - This variable is set by management. The default value of - this variable is FALSE."; - reference - "8.6.9.4.14 of IEEE Std 802.1Q-2022"; - } - leaf admin-gate-states { - type gate-state-value-type; - default "open"; - description - "The administratively set gate state of this gate."; - reference - "12.31.3.2.1, 8.6.10.4 of IEEE Std 802.1Q-2022"; - } - leaf admin-ipv { - type ipv-spec-type; - default "null"; - description - "The administratively set internal priority value - specification."; - reference - "12.31.3.3 of IEEE Std 802.1Q-2022"; - } - } - leaf max-stream-gate-instances { - type uint32; - config false; - description - "The maximum number of Stream Gate instances supported by this - Bridge component."; - reference - "12.31.1.2 of IEEE Std 802.1Q-2022"; + "12.31.1.1, 8.6.5.1 of IEEE Std 802.1Q"; } } } diff --git a/standard/ieee/published/802.1/ieee802-dot1q-types.yang b/standard/ieee/published/802.1/ieee802-dot1q-types.yang index b2f709971..03bd20437 100644 --- a/standard/ieee/published/802.1/ieee802-dot1q-types.yang +++ b/standard/ieee/published/802.1/ieee802-dot1q-types.yang @@ -12,19 +12,29 @@ module ieee802-dot1q-types { 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 + IEEE Standards Association + 445 Hoes Lane + Piscataway, NJ 08854 + USA E-mail: stds-802-1-chairs@ieee.org"; description "Common types used within dot1Q-bridge modules. - Copyright (C) IEEE (2022). + 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 + "Published as part of IEEE Std 802.1Qcz-2023."; + reference + "IEEE Std 802.1Qcz-2023, Bridges and Bridged Networks - Congestion + Isolation."; + } revision 2022-10-29 { description "Published as part of IEEE Std 802.1Q-2022."; @@ -33,14 +43,14 @@ module ieee802-dot1q-types { } revision 2020-06-04 { description - "Published as part of IEEE Std 802.1Qcx-2020. Second version."; + "Published as part of IEEE Std 802.1Qcx-2020."; reference "IEEE Std 802.1Qcx-2020, Bridges and Bridged Networks - YANG Data Model for Connectivity Fault Management."; } revision 2018-03-07 { description - "Published as part of IEEE Std 802.1Q-2018. Initial version."; + "Published as part of IEEE Std 802.1Q-2018."; reference "IEEE Std 802.1Q-2018, Bridges and Bridged Networks."; } @@ -52,9 +62,9 @@ module ieee802-dot1q-types { identity c-vlan { base dot1q-vlan-type; description - "An 802.1Q Customer VLAN, using the 81-00 EtherType"; + "An 802.1Q Customer VLAN, using the 81-00 EtherType."; reference - "5.5 of IEEE Std 802.1Q-2022"; + "5.5 of IEEE Std 802.1Q"; } identity s-vlan { base dot1q-vlan-type; @@ -62,19 +72,19 @@ module ieee802-dot1q-types { "An 802.1Q Service VLAN, using the 88-A8 EtherType originally introduced in 802.1ad, and incorporated into 802.1Q (2011)"; reference - "5.6 of IEEE Std 802.1Q-2022"; + "5.6 of IEEE Std 802.1Q"; } identity transmission-selection-algorithm { description "Specify the transmission selection algorithms of IEEE Std - 802.1Q-2022 Table 8-6"; + 802.1Q Table 8-6"; } identity strict-priority { base transmission-selection-algorithm; description "Indicates the strict priority transmission selection algorithm."; reference - "Table 8-6 of IEEE Std 802.1Q-2022"; + "Table 8-6 of IEEE Std 802.1Q"; } identity credit-based-shaper { base transmission-selection-algorithm; @@ -82,28 +92,28 @@ module ieee802-dot1q-types { "Indicates the credit based shaper transmission selection algorithm."; reference - "Table 8-6 of IEEE Std 802.1Q-2022"; + "Table 8-6 of IEEE Std 802.1Q"; } identity enhanced-transmission-selection { base transmission-selection-algorithm; description "Indicates the enhanced transmission selection algorithm."; reference - "Table 8-6 of IEEE Std 802.1Q-2022"; + "Table 8-6 of IEEE Std 802.1Q"; } identity asynchronous-traffic-shaping { base transmission-selection-algorithm; description "Indicates the asynchronous transmission selection algorithm."; reference - "Table 8-6 of IEEE Std 802.1Q-2022"; + "Table 8-6 of IEEE Std 802.1Q"; } identity vendor-specific { base transmission-selection-algorithm; description "Indicates a vendor specific transmission selection algorithm."; reference - "Table 8-6 of IEEE Std 802.1Q-2022"; + "Table 8-6 of IEEE Std 802.1Q"; } typedef name-type { type string { @@ -129,9 +139,17 @@ module ieee802-dot1q-types { "A range of priorities from 0 to 7 (inclusive). The Priority Code Point (PCP) is a 3-bit field that refers to the class of service associated with an 802.1Q VLAN tagged frame. The field specifies a - priority value between 0 and 7, these values can be used by - quality of service (QoS) to prioritize different classes of - traffic."; + priority value between 0 and 7, these values can be used by quality + of service (QoS) to prioritize different classes of traffic."; + } + typedef num-traffic-class-type { + type uint8 { + range "1..8"; + } + description + "The number of traffic classes supported or participating in a + particular feature. There are between 1 and 8 supported traffic + classes defined by IEEE Std 802.1Q."; } typedef vid-range-type { type string { @@ -160,8 +178,7 @@ module ieee802-dot1q-types { "The vlanid type uniquely identifies a VLAN. This is the 12-bit VLAN-ID used in the VLAN Tag header. The range is defined by the referenced specification. This type is in the value set and its - semantics equivalent to the VlanId textual convention of the - SMIv2."; + semantics equivalent to the VlanId textual convention of the SMIv2."; } typedef vlan-index-type { type uint32 { @@ -176,7 +193,7 @@ module ieee802-dot1q-types { convenient to be able to manage them in the same way using this YANG module."; reference - "9.6 of IEEE Std 802.1Q-2022"; + "9.6 of IEEE Std 802.1Q"; } typedef mstid-type { type uint32 { @@ -186,7 +203,7 @@ module ieee802-dot1q-types { "In an MSTP Bridge, an MSTID, i.e., a value used to identify a spanning tree (or MST) instance"; reference - "13.8 of IEEE Std 802.1Q-2022"; + "13.8 of IEEE Std 802.1Q"; } typedef pcp-selection-type { type enumeration { @@ -210,7 +227,7 @@ module ieee802-dot1q-types { description "Priority Code Point selection types."; reference - "12.6.2.5.3, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.5.3, 6.9.3 of IEEE Std 802.1Q"; } typedef protocol-frame-format-type { type enumeration { @@ -238,7 +255,7 @@ module ieee802-dot1q-types { description "A value representing the frame format to be matched."; reference - "12.10.1.7.1 of IEEE Std 802.1Q-2022"; + "12.10.1.7.1 of IEEE Std 802.1Q"; } typedef ethertype-type { type string { @@ -257,7 +274,7 @@ module ieee802-dot1q-types { description "Identifies a specific 802.1Q tag type"; reference - "9.5 IEEE Std 802.1Q-2022"; + "9.5 IEEE Std 802.1Q"; } typedef traffic-class-type { type uint8 { @@ -268,7 +285,7 @@ module ieee802-dot1q-types { Bridge. Larger values are associated with higher priority traffic classes."; reference - "3.273 of IEEE Std 802.1Q-2022"; + "3.273 of IEEE Std 802.1Q"; } grouping dot1q-tag-classifier-grouping { description @@ -316,8 +333,8 @@ module ieee802-dot1q-types { } grouping dot1q-tag-ranges-classifier-grouping { description - "A grouping which represents an 802.1Q VLAN that matches a range - of VLAN Ids."; + "A grouping which represents an 802.1Q VLAN that matches a range of + VLAN Ids."; leaf tag-type { type dot1q-tag-type; mandatory true; @@ -334,8 +351,8 @@ module ieee802-dot1q-types { grouping dot1q-tag-ranges-or-any-classifier-grouping { description "A grouping which represents an 802.1Q VLAN, matching both the - EtherType and a single VLAN Id, ordered list of ranges, or 'any' - to match on any VLAN Id."; + EtherType and a single VLAN Id, ordered list of ranges, or 'any' to + match on any VLAN Id."; leaf tag-type { type dot1q-tag-type; mandatory true; @@ -364,14 +381,14 @@ module ieee802-dot1q-types { incoming priority values on a per-Port basis, under management control."; reference - "6.9.4 of IEEE Std 802.1Q-2022"; + "6.9.4 of IEEE Std 802.1Q"; leaf priority0 { type priority-type; default "0"; description "Priority 0"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } leaf priority1 { type priority-type; @@ -379,7 +396,7 @@ module ieee802-dot1q-types { description "Priority 1"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } leaf priority2 { type priority-type; @@ -387,7 +404,7 @@ module ieee802-dot1q-types { description "Priority 2"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } leaf priority3 { type priority-type; @@ -395,7 +412,7 @@ module ieee802-dot1q-types { description "Priority 3"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } leaf priority4 { type priority-type; @@ -403,7 +420,7 @@ module ieee802-dot1q-types { description "Priority 4"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } leaf priority5 { type priority-type; @@ -411,7 +428,7 @@ module ieee802-dot1q-types { description "Priority 5"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } leaf priority6 { type priority-type; @@ -419,7 +436,7 @@ module ieee802-dot1q-types { description "Priority 6"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } leaf priority7 { type priority-type; @@ -427,53 +444,53 @@ module ieee802-dot1q-types { description "Priority 7"; reference - "12.6.2.3, 6.9.4 of IEEE Std 802.1Q-2022"; + "12.6.2.3, 6.9.4 of IEEE Std 802.1Q"; } } grouping pcp-decoding-table-grouping { description - "The Priority Code Point decoding table enables the decoding of - the priority and drop-eligible parameters from the PCP."; + "The Priority Code Point decoding table enables the decoding of the + priority and drop-eligible parameters from the PCP."; reference - "6.9.3 of IEEE Std 802.1Q-2022"; + "6.9.3 of IEEE Std 802.1Q"; list pcp-decoding-map { key "pcp"; description "This map associates the priority code point field found in the - VLAN to a priority and drop eligible value based upon the + VLAN with a priority and drop eligible value based upon the priority code point selection type."; leaf pcp { type pcp-selection-type; description "The priority code point selection type."; reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; } list priority-map { key "priority-code-point"; description - "This map associated a priority code point value to priority + "This map associates a priority code point value with priority and drop eligible parameters."; leaf priority-code-point { type priority-type; description "Priority associated with the pcp."; reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; } leaf priority { type priority-type; description "Priority associated with the pcp."; reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; } leaf drop-eligible { type boolean; description "Drop eligible value for pcp"; reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; } } } @@ -483,45 +500,45 @@ module ieee802-dot1q-types { "The Priority Code Point encoding table encodes the priority and drop-eligible parameters in the PCP field of the VLAN tag."; reference - "12.6.2.9, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.9, 6.9.3 of IEEE Std 802.1Q"; list pcp-encoding-map { key "pcp"; description - "This map associated the priority and drop-eligible parameters - to the priority used to encode the PCP of the VLAN based upon + "This map associates the priority and drop-eligible parameters + with the priority used to encode the PCP of the VLAN based upon the priority code point selection type."; leaf pcp { type pcp-selection-type; description "The priority code point selection type."; reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; } list priority-map { key "priority dei"; description - "This map associated the priority and drop-eligible parameters - to the priority code point field of the VLAN tag."; + "This map associates the priority and drop-eligible parameters + with the priority code point field of the VLAN tag."; leaf priority { type priority-type; description "Priority associated with the pcp."; reference - "12.6.2.7, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.7, 6.9.3 of IEEE Std 802.1Q"; } leaf dei { type boolean; description "The drop eligible value."; reference - "12.6.2, 8.6.6 of IEEE Std 802.1Q-2022"; + "12.6.2, 8.6.6 of IEEE Std 802.1Q"; } leaf priority-code-point { type priority-type; description "PCP value for priority when DEI value"; reference - "12.6.2.9, 6.9.3 of IEEE Std 802.1Q-2022"; + "12.6.2.9, 6.9.3 of IEEE Std 802.1Q"; } } } @@ -531,14 +548,14 @@ module ieee802-dot1q-types { "The Service Access Priority Table associates a received priority with a service access priority."; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; leaf priority0 { type priority-type; default "0"; description "Service access priority value for priority 0"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } leaf priority1 { type priority-type; @@ -546,7 +563,7 @@ module ieee802-dot1q-types { description "Service access priority value for priority 1"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } leaf priority2 { type priority-type; @@ -554,7 +571,7 @@ module ieee802-dot1q-types { description "Service access priority value for priority 2"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } leaf priority3 { type priority-type; @@ -562,7 +579,7 @@ module ieee802-dot1q-types { description "Service access priority value for priority 3"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } leaf priority4 { type priority-type; @@ -570,7 +587,7 @@ module ieee802-dot1q-types { description "Service access priority value for priority 4"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } leaf priority5 { type priority-type; @@ -578,7 +595,7 @@ module ieee802-dot1q-types { description "Service access priority value for priority 5"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } leaf priority6 { type priority-type; @@ -586,7 +603,7 @@ module ieee802-dot1q-types { description "Service access priority value for priority 6"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } leaf priority7 { type priority-type; @@ -594,16 +611,16 @@ module ieee802-dot1q-types { description "Service access priority value for priority 7"; reference - "12.6.2.17, 6.13.1 of IEEE Std 802.1Q-2022"; + "12.6.2.17, 6.13.1 of IEEE Std 802.1Q"; } } grouping traffic-class-table-grouping { description "The Traffic Class Table models the operations that can be - performed on, or inquire about, the current contents of the + performed on, or can inquire about, the current contents of the Traffic Class Table (8.6.6) for a given Port."; reference - "12.6.3, 8.6.6 of IEEE Std 802.1Q-2022"; + "12.6.3, 8.6.6 of IEEE Std 802.1Q"; list traffic-class-map { key "priority"; description @@ -613,7 +630,7 @@ module ieee802-dot1q-types { description "The priority of the traffic class entry."; reference - "8.6.6 of IEEE Std 802.1Q-2022"; + "8.6.6 of IEEE Std 802.1Q"; } list available-traffic-class { key "num-traffic-class"; @@ -621,7 +638,7 @@ module ieee802-dot1q-types { "The traffic class index associated with a given priority within the traffic class table."; reference - "8.6.6 of IEEE Std 802.1Q-2022"; + "8.6.6 of IEEE Std 802.1Q"; leaf num-traffic-class { type uint8 { range "1..8"; @@ -629,7 +646,7 @@ module ieee802-dot1q-types { description "The available number of traffic classes."; reference - "8.6.6 of IEEE Std 802.1Q-2022"; + "8.6.6 of IEEE Std 802.1Q"; } leaf traffic-class { type traffic-class-type; @@ -637,7 +654,7 @@ module ieee802-dot1q-types { "The traffic class index associated with a given traffic class entry."; reference - "8.6.6 of IEEE Std 802.1Q-2022"; + "8.6.6 of IEEE Std 802.1Q"; } } } @@ -645,11 +662,11 @@ module ieee802-dot1q-types { grouping transmission-selection-table-grouping { description "The Transmission Selection Algorithm Table models the operations - that can be performed on, or inquire about, the current contents - of the Transmission Selection Algorithm Table (12.20.2) for a - given Port."; + that can be performed on, or can inquire about, the current contents + of the Transmission Selection Algorithm Table (12.20.2) for a given + Port."; reference - "12.20.2, 8.6.8 of IEEE Std 802.1Q-2022"; + "12.20.2, 8.6.8 of IEEE Std 802.1Q"; list transmission-selection-algorithm-map { key "traffic-class"; description @@ -660,7 +677,7 @@ module ieee802-dot1q-types { description "The traffic class of the entry."; reference - "8.6.6 of IEEE Std 802.1Q-2022"; + "8.6.6 of IEEE Std 802.1Q"; } leaf transmission-selection-algorithm { type identityref { @@ -669,7 +686,7 @@ module ieee802-dot1q-types { description "Transmission selection algorithm"; reference - "8.6.8, Table 8-6 of IEEE Std 802.1Q-2022"; + "8.6.8, Table 8-6 of IEEE Std 802.1Q"; } } } @@ -678,7 +695,7 @@ module ieee802-dot1q-types { "A set of control indicators, one for each Port. A Port Map, containing a control element for each outbound Port"; reference - "8.8.1, 8.8.2 of IEEE Std 802.1Q-2022"; + "8.8.1, 8.8.2 of IEEE Std 802.1Q"; list port-map { key "port-ref"; description @@ -688,7 +705,7 @@ module ieee802-dot1q-types { description "The interface port reference associated with this map."; reference - "8.8.1 of IEEE Std 802.1Q-2022"; + "8.8.1 of IEEE Std 802.1Q"; } choice map-type { description @@ -718,12 +735,11 @@ module ieee802-dot1q-types { } } description - "containing a control element for each outbound Port, - specifying that a frame with a destination MAC address, - and in the case of VLAN Bridge components, VID that meets - this specification."; + "A control element for each outbound Port, specifying that + a frame with a destination MAC address, and in the case of + VLAN Bridge components, VID that meets this specification."; reference - "8.8.1 of IEEE Std 802.1Q-2022"; + "8.8.1 of IEEE Std 802.1Q"; } leaf connection-identifier { type port-number-type; @@ -733,7 +749,7 @@ module ieee802-dot1q-types { associated with the Bridge Port value maintained in a Dynamic Filtering Entry of the FDB for Bridge Ports."; reference - "8.8.1, 8.8.12 of IEEE Std 802.1Q-2022"; + "8.8.1, 8.8.12 of IEEE Std 802.1Q"; } } container static-vlan-registration-entries { @@ -762,7 +778,7 @@ module ieee802-dot1q-types { "The Registrar Administrative Control values for MVRP and MIRP for the VID."; reference - "8.8.2 of IEEE Std 802.1Q-2022"; + "8.8.2 of IEEE Std 802.1Q"; } leaf vlan-transmitted { type enumeration { @@ -779,7 +795,7 @@ module ieee802-dot1q-types { "Whether frames are to be VLAN-tagged or untagged when transmitted."; reference - "8.8.2 of IEEE Std 802.1Q-2022"; + "8.8.2 of IEEE Std 802.1Q"; } } container mac-address-registration-entries { @@ -799,12 +815,11 @@ module ieee802-dot1q-types { } } description - "containing a control element for each outbound Port, - specifying that a frame with a destination MAC address, - and in the case of VLAN Bridge components, VID that meets - this specification."; + "A control element for each outbound Port, specifying that + a frame with a destination MAC address, and in the case of + VLAN Bridge components, VID that meets this specification."; reference - "8.8.4 of IEEE Std 802.1Q-2022"; + "8.8.4 of IEEE Std 802.1Q"; } } container dynamic-vlan-registration-entries { @@ -819,12 +834,11 @@ module ieee802-dot1q-types { } } description - "containing a control element for each outbound Port, - specifying that a frame with a destination MAC address, - and in the case of VLAN Bridge components, VID that meets - this specification."; + "A control element for each outbound Port, specifying that + a frame with a destination MAC address, and in the case of + VLAN Bridge components, VID that meets this specification."; reference - "8.8.5 of IEEE Std 802.1Q-2022"; + "8.8.5 of IEEE Std 802.1Q"; } } container dynamic-reservation-entries { @@ -844,12 +858,11 @@ module ieee802-dot1q-types { } } description - "Containing a control element for each outbound Port, - specifying that a frame with a destination MAC address, - and in the case of VLAN Bridge components, VID that meets - this specification."; + "A control element for each outbound Port, specifying that + a frame with a destination MAC address, and in the case of + VLAN Bridge components, VID that meets this specification."; reference - "8.8.7 of IEEE Std 802.1Q-2022"; + "8.8.7 of IEEE Std 802.1Q"; } } container dynamic-filtering-entries { @@ -864,12 +877,11 @@ module ieee802-dot1q-types { } } description - "Containing a control element for each outbound Port, - specifying that a frame with a destination MAC address, - and in the case of VLAN Bridge components, VID that meets - this specification."; + "A control element for each outbound Port, specifying that + a frame with a destination MAC address, and in the case of + VLAN Bridge components, VID that meets this specification."; reference - "8.8.3 of IEEE Std 802.1Q-2022"; + "8.8.3 of IEEE Std 802.1Q"; } } } @@ -879,7 +891,7 @@ module ieee802-dot1q-types { description "Grouping of bridge port statistics."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; leaf delay-exceeded-discards { type yang:counter64; description @@ -887,7 +899,7 @@ module ieee802-dot1q-types { transit delay through the Bridge. It is incremented by both transparent and source route Bridges."; reference - "12.6.1.1.3, 8.6.6 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3, 8.6.6 of IEEE Std 802.1Q"; } leaf mtu-exceeded-discards { type yang:counter64; @@ -896,7 +908,7 @@ module ieee802-dot1q-types { size. It is incremented by both transparent and source route Bridges."; reference - "Item g) in 12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "Item g) in 12.6.1.1.3 of IEEE Std 802.1Q"; } leaf frame-rx { type yang:counter64; @@ -907,7 +919,7 @@ module ieee802-dot1q-types { only if it is for a protocol being processed by the local bridging function, including Bridge management frames."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; } leaf octets-rx { type yang:counter64; @@ -917,7 +929,7 @@ module ieee802-dot1q-types { station, and frames that were submitted to the Forwarding Process)."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; } leaf frame-tx { type yang:counter64; @@ -940,7 +952,7 @@ module ieee802-dot1q-types { "Count of received valid frames that were discarded (i.e., filtered) by the Forwarding Process."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; } leaf forward-outbound { type yang:counter64; @@ -948,7 +960,7 @@ module ieee802-dot1q-types { "The number of frames forwarded to the associated MAC Entity (8.5)."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; } leaf discard-lack-of-buffers { type yang:counter64; @@ -956,7 +968,7 @@ module ieee802-dot1q-types { "The count of frames that were to be transmitted through the associated Port but were discarded due to lack of buffers."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; } leaf discard-transit-delay-exceeded { type yang:counter64; @@ -965,16 +977,16 @@ module ieee802-dot1q-types { transit delay through the Bridge. It is incremented by both transparent and source route Bridges."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; } leaf discard-on-error { type yang:counter64; description - "The number of frames that were to be forwarded on the - associated MAC but could not be transmitted (e.g., frame would - be too large, 6.5.8)."; + "The number of frames that were to be forwarded on the associated + MAC but could not be transmitted (e.g., frame would be too large, + 6.5.8)."; reference - "12.6.1.1.3 of IEEE Std 802.1Q-2022"; + "12.6.1.1.3 of IEEE Std 802.1Q"; } } } diff --git a/standard/ieee/draft/802.1/AEdk/ieee802-dot1x-eapol.yang b/standard/ieee/published/802.1/ieee802-dot1x-eapol.yang similarity index 100% rename from standard/ieee/draft/802.1/AEdk/ieee802-dot1x-eapol.yang rename to standard/ieee/published/802.1/ieee802-dot1x-eapol.yang