blob: cc7f9f57328075346d04bb4e9416a9ccd43b614d [file] [log] [blame]
Thomas Vachuska8ca75a22017-08-24 16:12:59 -07001module openconfig-lldp-types {
2
3 yang-version "1";
4
5 // namespace
6 namespace "http://openconfig.net/yang/lldp/types";
7
8 prefix "oc-lldp-types";
9
10 // import some basic types
11 import openconfig-extensions { prefix oc-ext; }
12
13
14 // meta
15 organization "OpenConfig working group";
16
17 contact
18 "OpenConfig working group
19 www.openconfig.net";
20
21 description
22 "This module defines types related to the LLDP protocol model.";
23
24 oc-ext:openconfig-version "0.1.0";
25
26 revision "2016-05-16" {
27 description
28 "Initial public revision";
29 reference "0.1.0";
30 }
31
32
33 // identity statements
34
35 identity LLDP_SYSTEM_CAPABILITY {
36 description
37 "Base identity for standard LLDP system capabilities.
38 The system capabilities field contains a bit-map of the
39 capabilities that define the primary function(s) of
40 the system. A system may advertise more than one capability.";
41 reference
42 "Table 8-4 System Capabilities, IEEE 802.1AB-2009";
43 }
44
45 identity OTHER {
46 base LLDP_SYSTEM_CAPABILITY;
47 description
48 "Other capability not specified; bit position 1";
49 }
50
51 identity REPEATER {
52 base LLDP_SYSTEM_CAPABILITY;
53 description
54 "Repeater capability; bit position 2";
55 reference
56 "IETF RFC 2108";
57 }
58
59 identity MAC_BRIDGE {
60 base LLDP_SYSTEM_CAPABILITY;
61 description
62 "MAC bridge capability; bit position 3";
63 reference
64 "IEEE Std 802.1D";
65 }
66
67 identity WLAN_ACCESS_POINT {
68 base LLDP_SYSTEM_CAPABILITY;
69 description
70 "WLAN access point capability; bit position 4";
71 reference
72 "IEEE Std 802.11 MIB";
73 }
74
75 identity ROUTER {
76 base LLDP_SYSTEM_CAPABILITY;
77 description
78 "Router; bit position 5";
79 reference
80 "IETF RFC 1812";
81 }
82
83 identity TELEPHONE {
84 base LLDP_SYSTEM_CAPABILITY;
85 description
86 "Telephone capability; bit position 6";
87 reference
88 "IETF RFC 4293";
89 }
90
91 identity DOCSIS_CABLE_DEVICE {
92 base LLDP_SYSTEM_CAPABILITY;
93 description
94 "DOCSIS cable device; bit position 7";
95 reference
96 "IETF RFC 4639 and IETF RFC 4546";
97 }
98
99 identity STATION_ONLY {
100 base LLDP_SYSTEM_CAPABILITY;
101 description
102 "Station only capability, for devices that implement only an
103 end station capability, and for which none of the other
104 capabilities apply; bit position 8";
105 reference
106 "IETF RFC 4293";
107 }
108
109 identity C_VLAN {
110 base LLDP_SYSTEM_CAPABILITY;
111 description
112 "C-VLAN component of a VLAN Bridge; bit position 9";
113 reference
114 "IEEE Std 802.1Q";
115 }
116
117 identity S_VLAN {
118 base LLDP_SYSTEM_CAPABILITY;
119 description
120 "S-VLAN component of a VLAN Bridge; bit position 10";
121 reference
122 "IEEE Std 802.1Q";
123 }
124
125 identity TWO_PORT_MAC_RELAY {
126 base LLDP_SYSTEM_CAPABILITY;
127 description
128 "Two-port MAC Relay (TPMR) capability; bit position 11";
129 reference
130 "IEEE Std 802.1Q";
131 }
132
133 identity LLDP_TLV {
134 description
135 "A base identity which describes the TLVs in LLDP";
136 }
137
138 identity CHASSIS_ID {
139 base LLDP_TLV;
140 description
141 "The chassis identifier of the device associated with
142 the transmitting LLDP agent";
143 reference "IEEE Std 802.1AB";
144 }
145
146 identity PORT_ID {
147 base LLDP_TLV;
148 description
149 "The port identifier associated with the interface
150 on with the LLDP agent is transmitting";
151 reference "IEEE Std 802.1AB";
152 }
153
154 identity PORT_DESCRIPTION {
155 base LLDP_TLV;
156 description
157 "The description of the port that is associated with
158 the interface on which the LLDP agent is transmitting";
159 reference "IEEE Std 802.1AB";
160 }
161
162 identity SYSTEM_NAME {
163 base LLDP_TLV;
164 description
165 "The assigned name (sysName or hostname) of the device
166 which is transmitting the LLDP PDU";
167 reference "IEEE Std 802.1AB";
168 }
169
170 identity SYSTEM_DESCRIPTION {
171 base LLDP_TLV;
172 description
173 "The description (sysDescr) of the device which is
174 transmitting the LLDP PDU";
175 reference "IEEE Std 802.1AB";
176 }
177
178 identity SYSTEM_CAPABILITIES {
179 base LLDP_TLV;
180 description
181 "The primary functions of the device transmitting the
182 LLDP PDU and their administrative status";
183 reference "IEEE Std 802.1AB";
184 }
185
186 identity MANAGEMENT_ADDRESS {
187 base LLDP_TLV;
188 description
189 "The address associated with the device transmitting the
190 LLDP PDU which can be used for higher-layer network
191 management";
192 reference "IEEE Std 802.1AB";
193 }
194
195 // typedef statements
196
197 typedef chassis-id-type {
198 type enumeration {
199 enum CHASSIS_COMPONENT {
200 description
201 "Chassis identifier based on the value of entPhysicalAlias
202 object defined in IETF RFC 2737";
203 }
204 enum INTERFACE_ALIAS {
205 description
206 "Chassis identifier based on the value of ifAlias object
207 defined in IETF RFC 2863";
208 }
209 enum PORT_COMPONENT {
210 description
211 "Chassis identifier based on the value of entPhysicalAlias
212 object defined in IETF RFC 2737 for a port or backplane
213 component";
214 }
215 enum MAC_ADDRESS {
216 description
217 "Chassis identifier based on the value of a unicast source
218 address (encoded in network byte order and IEEE 802.3
219 canonical bit order), of a port on the containing chassis
220 as defined in IEEE Std 802-2001";
221 }
222 enum NETWORK_ADDRESS {
223 description
224 "Chassis identifier based on a network address,
225 associated with a particular chassis. The encoded address
226 is composed of two fields. The first field is a single
227 octet, representing the IANA AddressFamilyNumbers value
228 for the specific address type, and the second field is the
229 network address value";
230 }
231 enum INTERFACE_NAME {
232 description
233 "Chassis identifier based on the name of the interface,
234 e.g., the value of ifName object defined in IETF RFC 2863";
235 }
236 enum LOCAL {
237 description
238 "Chassis identifier based on a locally defined value";
239 }
240 }
241 description
242 "Type definition with enumerations describing the source of
243 the chassis identifier";
244 reference
245 "IEEE 802.1AB LLDP MIB";
246 }
247
248 typedef port-id-type {
249 type enumeration {
250 enum INTERFACE_ALIAS {
251 description
252 "Chassis identifier based on the value of ifAlias object
253 defined in IETF RFC 2863";
254 }
255 enum PORT_COMPONENT {
256 description
257 "Port identifier based on the value of entPhysicalAlias
258 object defined in IETF RFC 2737 for a port component";
259 }
260 enum MAC_ADDRESS {
261 description
262 "Port identifier based on the value of a unicast source
263 address (encoded in network byte order and IEEE 802.3
264 canonical bit order) associated with a port";
265 }
266 enum NETWORK_ADDRESS {
267 description
268 "Port identifier based on a network address,
269 associated with a particular port";
270 }
271 enum INTERFACE_NAME {
272 description
273 "Port identifier based on the name of the interface,
274 e.g., the value of ifName object defined in IETF RFC 2863";
275 }
276 enum AGENT_CIRCUIT_ID {
277 description
278 "Port identifer based on the circuit id in the DHCP
279 relay agent information option as defined in IETF
280 RFC 3046";
281 }
282 enum LOCAL {
283 description
284 "Port identifier based on a locally defined alphanumeric
285 string";
286 }
287 }
288 description
289 "Type definition with enumerations describing the basis of
290 the port identifier";
291 reference
292 "IEEE 802.1AB LLDP MIB";
293 }
294
295
296}