module openconfig-platform-port {
yang-version 1;
namespace
"http://openconfig.net/yang/platform/port";
prefix oc-port;
import openconfig-platform {
prefix oc-platform;
}
import openconfig-interfaces {
prefix oc-if;
}
import openconfig-if-ethernet {
prefix oc-eth;
}
import openconfig-extensions {
prefix oc-ext;
}
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module defines data related to PORT components in the
openconfig-platform model";
revision "2020-05-06" {
description
"Ensure that when statements in read-write contexts
reference only read-write leaves.";
reference
"0.3.3";
}
revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference
"0.3.2";
}
revision "2018-11-07" {
description
"Fixed error in when statement path";
reference
"0.3.1";
}
revision "2018-01-20" {
description
"Added augmentation for interface-to-port reference";
reference
"0.3.0";
}
revision "2017-11-17" {
description
"Corrected augmentation path for port data";
reference
"0.2.0";
}
revision "2016-10-24" {
description "Initial revision";
reference
"0.1.0";
}
oc-ext:openconfig-version "0.3.3";
oc-ext:regexp-posix;
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";
grouping port-breakout-config {
description
"Configuration data for the port breakout mode";
leaf num-channels {
type uint8;
description
"Sets the number of channels to 'breakout' on a port
capable of channelization";
}
leaf channel-speed {
type identityref {
base oc-eth:ETHERNET_SPEED;
}
description
"Sets the channel speed on each channel -- the
supported values are defined by the
ETHERNET_SPEED identity";
}
} // grouping port-breakout-config
grouping port-breakout-state {
description
"Operational state data for the port breakout mode ";
} // grouping port-breakout-state
grouping port-breakout-top {
description
"Top-level grouping for port breakout data";
container breakout-mode {
description
"Top-level container for port breakout data";
container config {
description
"Configuration data for port breakout";
uses port-breakout-config;
} // container config
container state {
config false;
description
"Operational state data for port breakout";
uses port-breakout-config;
uses port-breakout-state;
} // container state
} // container breakout-mode
} // grouping port-breakout-top
augment /oc-platform:components/oc-platform:component/oc-platform:port {
description
"Adding port breakout data to physical platform data. This subtree
is only valid when the type of the component is PORT.";
uses port-breakout-top;
}
augment /oc-if:interfaces/oc-if:interface/oc-if:state {
description
"Adds a reference from the base interface to the corresponding
port component in the device inventory.";
leaf hardware-port {
type leafref {
path "/oc-platform:components/oc-platform:component/oc-platform:name";
}
description
"For non-channelized interfaces, references the hardware port
corresponding to the base interface.";
}
}
} // module openconfig-platform-port