Requested revision
Standard: | IEEE 802.1Qcw-2023 | Clause: | 48.6.17 and 48.6.21 |
Clause title: | "The ieee802-dot1q-sched YANG module" and "The ieee802-dot1q-psfp YANG module" |
Rationale for revision
In the current YANG models there are several statements such as
must
"(count(./gate-control-entry) <= ../supported-list-max)" {
These implicitly require that several leafs need to exist like
/ietf-interfaces:interfaces/interface[name='eth0']/ieee802-dot1q-bridge:bridge-port/ieee802-dot1q-sched-bridge:gate-parameter-table/supported-list-max
for EVERY interface, otherwise a YANG data tree does not validate.
This includes interfaces where no scheduling configuration shall be applied at all, like in
{
"ietf-interfaces:interfaces": {
"interface": [
{
"if-index": 1,
"name": "eth0",
"type": "iana-if-type:ethernetCsmacd",
"oper-status": "down",
"admin-status": "down",
"statistics": {
"discontinuity-time": "2023-12-15T10:04:12.345+00:00"
}
}
]
}
}
or even iana-if-type:ilan interfaces which are required for applying the IEEE 802.1CB YANG models.
Also see https://www.ieee802.org/1/private/email2/msg36517.html and the follow up mails for further discussion on this topic.
Proposed text
In 48.6.17 apply the following diff:
--- ieee802-dot1q-sched.yang 2024-02-08 15:20:30.413357268 +0100
+++ ieee802-dot1q-sched@2024-01-30.yang 2024-02-13 11:22:04.876588200 +0100
@@ -33,6 +33,10 @@
This version of this YANG module is part of IEEE Std 802.1Q; see the
standard itself for full legal notices.";
+ revision 2024-01-30 {
+ description
+ "TODO add proper revision description";
+ }
revision 2023-10-22 {
description
"Published as part of IEEE Std 802.1Qcw-2023.
@@ -77,7 +81,7 @@
}
refine "gate-control-entry/time-interval-value" {
must
- "(. <= ../../../supported-interval-max )";
+ "not (. > ../../../supported-interval-max )";
}
augment "gate-control-entry" {
description
@@ -187,9 +191,9 @@
}
container admin-control-list {
must
- "(count(./gate-control-entry) <= ../supported-list-max)" {
+ "not(count(./gate-control-entry) > ../supported-list-max)" {
error-message
- "Number of elements in admin-control-list must not be greater"+
+ "Number of elements in admin-control-list must not be greater "+
"than supported-list-max";
}
description
@@ -202,9 +206,9 @@
}
container oper-control-list {
must
- "(count(./gate-control-entry) <= ../supported-list-max)" {
+ "not(count(./gate-control-entry) > ../supported-list-max)" {
error-message
- "Number of elements in oper-control-list must not be greater"+
+ "Number of elements in oper-control-list must not be greater "+
"than supported-list-max";
}
config false;
@@ -217,7 +221,7 @@
}
container admin-cycle-time {
must
- "(./numerator div ./denominator <= "+
+ "not (./numerator div ./denominator > "+
"../supported-cycle-max/numerator div "+
"../supported-cycle-max/denominator )" {
error-message
@@ -235,7 +239,7 @@
}
container oper-cycle-time {
must
- "(./numerator div ./denominator <= "+
+ "not (./numerator div ./denominator > "+
"../supported-cycle-max/numerator div "+
"../supported-cycle-max/denominator )" {
error-message
In 48.6.21 apply the following diff:
--- ieee802-dot1q-psfp.yang 2024-02-13 10:57:01.045060316 +0100
+++ ieee802-dot1q-psfp@2024-01-30.yang 2024-02-13 11:22:52.733000013 +0100
@@ -36,6 +36,10 @@
This version of this YANG module is part of IEEE Std 802.1Q; see the
standard itself for full legal notices.";
+ revision 2024-01-30 {
+ description
+ "TODO add proper revision description";
+ }
revision 2023-10-26 {
description
"Published as part of IEEE Std 802.1Qcw-2023.
@@ -86,7 +90,7 @@
}
refine "gate-control-entry/time-interval-value" {
must
- "(. <= ../../../../supported-interval-max )";
+ "not (. > ../../../../supported-interval-max )";
}
augment "gate-control-entry" {
description
@@ -130,9 +134,9 @@
"This container comprises all flow meter related nodes.";
list flow-meter-instance-table {
must
- "(count(.) <= ../max-flow-meter-instances)" {
+ "not (count(.) > ../max-flow-meter-instances)" {
error-message
- "Number of elements in flow-meter-instance-table must not be"+
+ "Number of elements in flow-meter-instance-table must not be "+
"greater than max-flow-meter-instances.";
}
key "flow-meter-instance-id";
@@ -420,9 +424,9 @@
}
container admin-control-list {
must
- "(count(./gate-control-entry) <= ../../supported-list-max)" {
+ "not (count(./gate-control-entry) > ../../supported-list-max)" {
error-message
- "Number of elements in admin-control-list must not be"+
+ "Number of elements in admin-control-list must not be "+
"greater than supported-list-max";
}
description
@@ -436,9 +440,9 @@
}
container oper-control-list {
must
- "(count(./gate-control-entry) <= ../../supported-list-max)" {
+ "not (count(./gate-control-entry) > ../../supported-list-max)" {
error-message
- "Number of elements in oper-control-list must not be greater"+
+ "Number of elements in oper-control-list must not be greater "+
"than supported-list-max";
}
config false;
@@ -453,11 +457,11 @@
}
container admin-cycle-time {
must
- "(./numerator div ./denominator <= "+
+ "not (./numerator div ./denominator > "+
"../../supported-cycle-max/numerator div "+
"../../supported-cycle-max/denominator)" {
error-message
- "admin-cycle-time must not be greater than"+
+ "admin-cycle-time must not be greater than "+
"supported-cycle-max";
}
description
@@ -472,11 +476,11 @@
}
container oper-cycle-time {
must
- "(./numerator div ./denominator <= "+
+ "not (./numerator div ./denominator > "+
"../../supported-cycle-max/numerator div "+
"../../supported-cycle-max/denominator)" {
error-message
- "oper-cycle-time must not be greater than"+
+ "oper-cycle-time must not be greater than "+
"supported-cycle-max";
}
config false;
Impact on existing networks
Possible to use the Qcw YANG models in bridges that are not exclusively composed of interfaces that support scheduling.
No negative impact expected.
Originator
Name: | Florian Kauer | Email: | florian.kauer@linutronix.de |
Affiliation: | Linutronix GmbH | ||
Submitted: | 2024-02-13 |