Skip to content

Commit

Permalink
Refactor physical ethernet vs. aggregate interface characteristics
Browse files Browse the repository at this point in the history
  * (M) release/models/interfaces/openconfig-if-ethernet.yang
    - Split/restrict physical vs. aggregate ethernet config/state
  • Loading branch information
earies committed Sep 17, 2024
1 parent 9b0a82e commit 18ae90c
Showing 1 changed file with 59 additions and 19 deletions.
78 changes: 59 additions & 19 deletions release/models/interfaces/openconfig-if-ethernet.yang
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,14 @@ 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 "3.0.0";

revision "2024-09-17" {
description
"Refactor config/state nodes to account for physical ethernet vs.
aggregate interface characteristics.";
reference "3.0.0";
}

revision "2023-03-10" {
description
Expand Down Expand Up @@ -294,7 +301,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;
Expand All @@ -304,6 +313,27 @@ 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";

leaf auto-negotiate {
type boolean;
default true;
Expand Down Expand Up @@ -365,22 +395,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;
Expand Down Expand Up @@ -596,7 +610,7 @@ module openconfig-if-ethernet {

}

grouping ethernet-interface-state {
grouping physical-interface-state {
description
"Grouping for defining Ethernet-specific operational state";

Expand Down Expand Up @@ -631,6 +645,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";
Expand All @@ -654,6 +673,13 @@ module openconfig-if-ethernet {

uses ethernet-interface-config;

uses physical-interface-config {
when "../../oc-if:config/oc-if:type = 'ianaift:ethernetCsmacd'" {
description
"Configuration specific for physical ethernet interfaces";
}
}

}

container state {
Expand All @@ -662,6 +688,20 @@ module openconfig-if-ethernet {
description "State variables for Ethernet interfaces";

uses ethernet-interface-config;

uses physical-interface-config {
when "../../oc-if:config/oc-if:type = 'ianaift:ethernetCsmacd'" {
description
"Configuration specific for physical ethernet interfaces";
}
}

uses physical-interface-state {
when "../../oc-if:config/oc-if:type = 'ianaift:ethernetCsmacd'" {
description
"State specific for physical ethernet interfaces";
}
}
uses ethernet-interface-state;

}
Expand Down

0 comments on commit 18ae90c

Please sign in to comment.