From 4af7a68c27ba18d01539cc3b3a964e51bb19aabe Mon Sep 17 00:00:00 2001 From: Ebben Aries Date: Thu, 31 Oct 2024 23:44:55 +0000 Subject: [PATCH] Refactor physical ethernet vs. aggregate interface characteristics (#1183) * Refactor physical ethernet vs. aggregate interface characteristics * (M) release/models/interfaces/openconfig-if-ethernet.yang - Split/restrict physical vs. aggregate ethernet config/state --- .../interfaces/openconfig-if-ethernet.yang | 72 +++++++++++++------ 1 file changed, 51 insertions(+), 21 deletions(-) diff --git a/release/models/interfaces/openconfig-if-ethernet.yang b/release/models/interfaces/openconfig-if-ethernet.yang index 3991923f6..6c1dae27d 100644 --- a/release/models/interfaces/openconfig-if-ethernet.yang +++ b/release/models/interfaces/openconfig-if-ethernet.yang @@ -24,7 +24,15 @@ module openconfig-if-ethernet { "Model for managing Ethernet interfaces -- augments the OpenConfig model for interface configuration and state."; - oc-ext:openconfig-version "2.13.0"; + oc-ext:openconfig-version "2.14.0"; + + revision "2024-09-17" { + description + "Refactor config/state nodes to account for physical ethernet vs. + aggregate interface characteristics along with description updates + to indicate applicability."; + reference "2.14.0"; + } revision "2023-03-10" { description @@ -294,7 +302,9 @@ module openconfig-if-ethernet { // grouping statements grouping ethernet-interface-config { - description "Configuration items for Ethernet interfaces"; + description + "Common interface configuration for physical ethernet + logical + aggregate interfaces"; leaf mac-address { type oc-yang:mac-address; @@ -304,6 +314,31 @@ module openconfig-if-ethernet { expected to show the system-assigned MAC address."; } + leaf enable-flow-control { + type boolean; + default false; + description + "Enable or disable flow control for this interface. + Ethernet flow control is a mechanism by which a receiver + may send PAUSE frames to a sender to stop transmission for + a specified time. + + This setting should override auto-negotiated flow control + settings. If left unspecified, and auto-negotiate is TRUE, + flow control mode is negotiated with the peer interface."; + reference + "IEEE 802.3x"; + } + } + + grouping physical-interface-config { + description + "Configuration specific to physical ethernet interfaces. Note + that this grouping is to only apply when the interface `type` is + set to 'ianaift:ethernetCsmacd'. This is not currently restricted + by YANG language statements (must/when) due to uses of this module + within other domains (e.g. wifi)."; + leaf auto-negotiate { type boolean; default true; @@ -365,22 +400,6 @@ module openconfig-if-ethernet { by ETHERNET_SPEED identities"; } - leaf enable-flow-control { - type boolean; - default false; - description - "Enable or disable flow control for this interface. - Ethernet flow control is a mechanism by which a receiver - may send PAUSE frames to a sender to stop transmission for - a specified time. - - This setting should override auto-negotiated flow control - settings. If left unspecified, and auto-negotiate is TRUE, - flow control mode is negotiated with the peer interface."; - reference - "IEEE 802.3x"; - } - leaf fec-mode { type identityref { base INTERFACE_FEC; @@ -596,9 +615,13 @@ module openconfig-if-ethernet { } - grouping ethernet-interface-state { + grouping physical-interface-state { description - "Grouping for defining Ethernet-specific operational state"; + "Grouping for operational state specific to physical ethernet + interfaces. Note that this grouping is to only apply when the + interface `type` is set to 'ianaift:ethernetCsmacd'. This is not + currently restricted by YANG language statements (must/when) due + to uses of this module within other domains (e.g. wifi)."; leaf hw-mac-address { type oc-yang:mac-address; @@ -631,6 +654,11 @@ module openconfig-if-ethernet { completed auto-negotiation with the remote peer, this value shows the interface speed that has been negotiated."; } + } + + grouping ethernet-interface-state { + description + "Common state for physical ethernet and aggregate interfaces"; container counters { description "Ethernet interface counters"; @@ -653,7 +681,7 @@ module openconfig-if-ethernet { description "Configuration data for ethernet interfaces"; uses ethernet-interface-config; - + uses physical-interface-config; } container state { @@ -662,6 +690,8 @@ module openconfig-if-ethernet { description "State variables for Ethernet interfaces"; uses ethernet-interface-config; + uses physical-interface-config; + uses physical-interface-state; uses ethernet-interface-state; }