diff options
author | Hongjun Ni <hongjun.ni@intel.com> | 2018-12-21 04:48:35 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2018-12-21 04:48:35 +0000 |
commit | 8791f3211bd61d213e4ea4a0af66a14bb2e3a239 (patch) | |
tree | 846a89e6ca81d639d024e5509654766d3581b7ea /src/plugins/yang/openconfig/openconfig-platform-port.yang | |
parent | de7bb8f2b0cdd2dfeba0586213bd415c9bb3fd18 (diff) | |
parent | 639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (diff) |
Merge "Add Openconfig YANG modules."
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-platform-port.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-platform-port.yang | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-platform-port.yang b/src/plugins/yang/openconfig/openconfig-platform-port.yang new file mode 100644 index 0000000..2039a8e --- /dev/null +++ b/src/plugins/yang/openconfig/openconfig-platform-port.yang @@ -0,0 +1,149 @@ +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-interfaces { prefix oc-if; } + 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.3.0"; + + 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"; + } + + // 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/" + + "oc-platform:port" { + 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"; + } + } + } + + 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."; + } + } + + // rpc statements + + // notification statements + +}
\ No newline at end of file |