blob: 8964637871fe098ab42a988475ff9c83e2c04481 [file] [log] [blame]
module openconfig-platform-port {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/platform/port";
prefix "oc-port";
// import some basic types
import openconfig-platform { prefix oc-platform; }
import openconfig-if-ethernet { prefix oc-eth; }
import openconfig-extensions { prefix oc-ext; }
// meta
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";
oc-ext:openconfig-version "0.1.0";
revision "2016-10-24" {
description
"Initial revision";
reference "0.1.0";
}
// extension statements
// feature statements
// identity statements
// typedef statements
// grouping statements
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-state {
description
"Operational state data for the port breakout mode ";
}
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 state {
config false;
description
"Operational state data for port breakout";
uses port-breakout-config;
uses port-breakout-state;
}
}
}
// data definition statements
// augment statements
augment "/oc-platform:components/oc-platform:component" {
description
"Adding port breakout data to physical platform data";
uses port-breakout-top {
when "./state/type = 'PORT'" {
description
"This data is valid only for PORT components";
}
}
}
// rpc statements
// notification statements
}