blob: 8964637871fe098ab42a988475ff9c83e2c04481 [file] [log] [blame]
Thomas Vachuska8ca75a22017-08-24 16:12:59 -07001module openconfig-platform-port {
2
3 yang-version "1";
4
5 // namespace
6 namespace "http://openconfig.net/yang/platform/port";
7
8 prefix "oc-port";
9
10 // import some basic types
11 import openconfig-platform { prefix oc-platform; }
12 import openconfig-if-ethernet { prefix oc-eth; }
13 import openconfig-extensions { prefix oc-ext; }
14
15
16 // meta
17 organization "OpenConfig working group";
18
19 contact
20 "OpenConfig working group
21 www.openconfig.net";
22
23 description
24 "This module defines data related to PORT components in the openconfig-platform model";
25
26 oc-ext:openconfig-version "0.1.0";
27
28 revision "2016-10-24" {
29 description
30 "Initial revision";
31 reference "0.1.0";
32 }
33
34 // extension statements
35
36 // feature statements
37
38 // identity statements
39
40 // typedef statements
41
42 // grouping statements
43
44 grouping port-breakout-config {
45 description
46 "Configuration data for the port breakout mode";
47
48 leaf num-channels {
49 type uint8;
50 description
51 "Sets the number of channels to 'breakout' on a port
52 capable of channelization";
53 }
54
55 leaf channel-speed {
56 type identityref {
57 base oc-eth:ETHERNET_SPEED;
58 }
59 description
60 "Sets the channel speed on each channel -- the
61 supported values are defined by the
62 ETHERNET_SPEED identity";
63 }
64 }
65
66 grouping port-breakout-state {
67 description
68 "Operational state data for the port breakout mode ";
69 }
70
71 grouping port-breakout-top {
72 description
73 "Top-level grouping for port breakout data";
74
75 container breakout-mode {
76 description
77 "Top-level container for port breakout data";
78
79 container config {
80 description
81 "Configuration data for port breakout";
82
83 uses port-breakout-config;
84 }
85
86 container state {
87
88 config false;
89
90 description
91 "Operational state data for port breakout";
92
93 uses port-breakout-config;
94 uses port-breakout-state;
95 }
96 }
97 }
98
99 // data definition statements
100
101 // augment statements
102
103 augment "/oc-platform:components/oc-platform:component" {
104 description
105 "Adding port breakout data to physical platform data";
106
107 uses port-breakout-top {
108 when "./state/type = 'PORT'" {
109 description
110 "This data is valid only for PORT components";
111 }
112 }
113 }
114
115 // rpc statements
116
117 // notification statements
118
119}