Add RFC8294 models
[mdsal.git] / model / iana / iana-routing-types / src / main / yang / iana-routing-types@2017-12-04.yang
1 module iana-routing-types {
2   namespace "urn:ietf:params:xml:ns:yang:iana-routing-types";
3   prefix iana-rt-types;
4
5   organization
6     "IANA";
7   contact
8     "Internet Assigned Numbers Authority
9
10      Postal: ICANN
11              12025 Waterfront Drive, Suite 300
12              Los Angeles, CA  90094-2536
13              United States of America
14      Tel:    +1 310 301 5800
15      <mailto:iana@iana.org>";
16
17   description
18     "This module contains a collection of YANG data types
19      considered defined by IANA and used for routing
20      protocols.
21
22      Copyright (c) 2017 IETF Trust and the persons
23      identified as authors of the code.  All rights reserved.
24
25      Redistribution and use in source and binary forms, with or
26      without modification, is permitted pursuant to, and subject
27      to the license terms contained in, the Simplified BSD License
28      set forth in Section 4.c of the IETF Trust's Legal Provisions
29      Relating to IETF Documents
30      (https://trustee.ietf.org/license-info).
31
32      This version of this YANG module is part of RFC 8294; see
33      the RFC itself for full legal notices.";
34
35    revision 2017-12-04 {
36      description "Initial revision.";
37      reference
38        "RFC 8294: Common YANG Data Types for the Routing Area.
39         Section 4.";
40   }
41
42   /*** Collection of IANA types related to routing ***/
43   /*** IANA Address Family enumeration ***/
44
45   typedef address-family {
46     type enumeration {
47       enum ipv4 {
48         value 1;
49         description
50           "IPv4 Address Family.";
51       }
52
53       enum ipv6 {
54         value 2;
55         description
56           "IPv6 Address Family.";
57       }
58
59       enum nsap {
60         value 3;
61         description
62           "OSI Network Service Access Point (NSAP) Address Family.";
63       }
64
65       enum hdlc {
66         value 4;
67         description
68           "High-Level Data Link Control (HDLC) Address Family.";
69       }
70
71       enum bbn1822 {
72         value 5;
73         description
74           "Bolt, Beranek, and Newman Report 1822 (BBN 1822)
75            Address Family.";
76       }
77
78       enum ieee802 {
79         value 6;
80         description
81           "IEEE 802 Committee Address Family
82            (aka Media Access Control (MAC) address).";
83       }
84
85       enum e163 {
86         value 7;
87         description
88           "ITU-T E.163 Address Family.";
89       }
90       enum e164 {
91         value 8;
92         description
93           "ITU-T E.164 (Switched Multimegabit Data Service (SMDS),
94            Frame Relay, ATM) Address Family.";
95       }
96
97       enum f69 {
98         value 9;
99         description
100           "ITU-T F.69 (Telex) Address Family.";
101       }
102
103       enum x121 {
104         value 10;
105         description
106           "ITU-T X.121 (X.25, Frame Relay) Address Family.";
107       }
108
109       enum ipx {
110         value 11;
111         description
112           "Novell Internetwork Packet Exchange (IPX)
113            Address Family.";
114       }
115
116       enum appletalk {
117         value 12;
118         description
119           "Apple AppleTalk Address Family.";
120       }
121
122       enum decnet-iv {
123         value 13;
124         description
125           "Digital Equipment DECnet Phase IV Address Family.";
126       }
127
128       enum vines {
129         value 14;
130         description
131           "Banyan Vines Address Family.";
132       }
133
134       enum e164-nsap {
135         value 15;
136         description
137           "ITU-T E.164 with NSAP sub-address Address Family.";
138       }
139
140       enum dns {
141         value 16;
142         description
143           "Domain Name System (DNS) Address Family.";
144       }
145
146       enum distinguished-name {
147         value 17;
148         description
149           "Distinguished Name Address Family.";
150       }
151
152       enum as-num {
153         value 18;
154         description
155           "Autonomous System (AS) Number Address Family.";
156       }
157
158       enum xtp-v4 {
159         value 19;
160         description
161           "Xpress Transport Protocol (XTP) over IPv4
162            Address Family.";
163       }
164
165       enum xtp-v6 {
166         value 20;
167         description
168           "XTP over IPv6 Address Family.";
169       }
170
171       enum xtp-native {
172         value 21;
173         description
174           "XTP native mode Address Family.";
175       }
176
177       enum fc-port {
178         value 22;
179         description
180           "Fibre Channel (FC) World-Wide Port Name Address Family.";
181       }
182       enum fc-node {
183         value 23;
184         description
185           "FC World-Wide Node Name Address Family.";
186       }
187
188       enum gwid {
189         value 24;
190         description
191           "ATM Gateway Identifier (GWID) Number Address Family.";
192       }
193
194       enum l2vpn {
195         value 25;
196         description
197           "Layer 2 VPN (L2VPN) Address Family.";
198       }
199
200       enum mpls-tp-section-eid {
201         value 26;
202         description
203           "MPLS Transport Profile (MPLS-TP) Section Endpoint
204            Identifier Address Family.";
205       }
206
207       enum mpls-tp-lsp-eid {
208         value 27;
209         description
210           "MPLS-TP Label Switched Path (LSP) Endpoint Identifier
211            Address Family.";
212       }
213
214       enum mpls-tp-pwe-eid {
215         value 28;
216         description
217           "MPLS-TP Pseudowire Endpoint Identifier Address Family.";
218       }
219
220       enum mt-v4 {
221         value 29;
222         description
223           "Multi-Topology IPv4 Address Family.";
224       }
225
226       enum mt-v6 {
227         value 30;
228         description
229           "Multi-Topology IPv6 Address Family.";
230       }
231
232       enum eigrp-common-sf {
233         value 16384;
234         description
235           "Enhanced Interior Gateway Routing Protocol (EIGRP)
236            Common Service Family Address Family.";
237       }
238
239       enum eigrp-v4-sf {
240         value 16385;
241         description
242           "EIGRP IPv4 Service Family Address Family.";
243       }
244
245       enum eigrp-v6-sf {
246         value 16386;
247         description
248           "EIGRP IPv6 Service Family Address Family.";
249       }
250
251       enum lcaf {
252         value 16387;
253         description
254           "Locator/ID Separation Protocol (LISP)
255            Canonical Address Format (LCAF) Address Family.";
256       }
257
258       enum bgp-ls {
259         value 16388;
260         description
261           "Border Gateway Protocol - Link State (BGP-LS)
262            Address Family.";
263       }
264
265       enum mac-48 {
266         value 16389;
267         description
268           "IEEE 48-bit MAC Address Family.";
269       }
270
271       enum mac-64 {
272         value 16390;
273         description
274           "IEEE 64-bit MAC Address Family.";
275       }
276
277       enum trill-oui {
278         value 16391;
279         description
280           "Transparent Interconnection of Lots of Links (TRILL)
281            IEEE Organizationally Unique Identifier (OUI)
282            Address Family.";
283       }
284
285       enum trill-mac-24 {
286         value 16392;
287         description
288           "TRILL final 3 octets of 48-bit MAC Address Family.";
289       }
290
291       enum trill-mac-40 {
292         value 16393;
293         description
294           "TRILL final 5 octets of 64-bit MAC Address Family.";
295       }
296
297       enum ipv6-64 {
298         value 16394;
299         description
300           "First 8 octets (64 bits) of IPv6 address
301            Address Family.";
302       }
303
304       enum trill-rbridge-port-id {
305         value 16395;
306         description
307           "TRILL Routing Bridge (RBridge) Port ID Address Family.";
308       }
309
310       enum trill-nickname {
311         value 16396;
312         description
313           "TRILL Nickname Address Family.";
314       }
315     }
316
317     description
318       "Enumeration containing all the IANA-defined
319        Address Families.";
320
321   }
322
323   /*** Subsequent Address Family Identifiers (SAFIs) ***/
324   /*** for multiprotocol BGP enumeration ***/
325
326   typedef bgp-safi {
327     type enumeration {
328       enum unicast-safi {
329         value 1;
330         description
331           "Unicast SAFI.";
332       }
333
334       enum multicast-safi {
335         value 2;
336         description
337           "Multicast SAFI.";
338       }
339
340       enum labeled-unicast-safi {
341         value 4;
342         description
343           "Labeled Unicast SAFI.";
344       }
345
346       enum multicast-vpn-safi {
347         value 5;
348         description
349           "Multicast VPN SAFI.";
350       }
351
352       enum pseudowire-safi {
353         value 6;
354         description
355           "Multi-segment Pseudowire VPN SAFI.";
356       }
357
358       enum tunnel-encap-safi {
359         value 7;
360         description
361           "Tunnel Encap SAFI.";
362       }
363
364       enum mcast-vpls-safi {
365         value 8;
366         description
367           "Multicast Virtual Private LAN Service (VPLS) SAFI.";
368       }
369
370       enum tunnel-safi {
371         value 64;
372         description
373           "Tunnel SAFI.";
374       }
375
376       enum vpls-safi {
377         value 65;
378         description
379           "VPLS SAFI.";
380       }
381
382       enum mdt-safi {
383         value 66;
384         description
385           "Multicast Distribution Tree (MDT) SAFI.";
386       }
387
388       enum v4-over-v6-safi {
389         value 67;
390         description
391           "IPv4 over IPv6 SAFI.";
392       }
393
394       enum v6-over-v4-safi {
395         value 68;
396         description
397           "IPv6 over IPv4 SAFI.";
398       }
399
400       enum l1-vpn-auto-discovery-safi {
401         value 69;
402         description
403           "Layer 1 VPN Auto-Discovery SAFI.";
404       }
405
406       enum evpn-safi {
407         value 70;
408         description
409           "Ethernet VPN (EVPN) SAFI.";
410       }
411
412       enum bgp-ls-safi {
413         value 71;
414         description
415           "BGP-LS SAFI.";
416       }
417
418       enum bgp-ls-vpn-safi {
419         value 72;
420         description
421           "BGP-LS VPN SAFI.";
422       }
423
424       enum sr-te-safi {
425         value 73;
426         description
427           "Segment Routing - Traffic Engineering (SR-TE) SAFI.";
428       }
429
430       enum labeled-vpn-safi {
431         value 128;
432         description
433           "MPLS Labeled VPN SAFI.";
434       }
435
436       enum multicast-mpls-vpn-safi {
437         value 129;
438         description
439           "Multicast for BGP/MPLS IP VPN SAFI.";
440       }
441
442       enum route-target-safi {
443         value 132;
444         description
445           "Route Target SAFI.";
446       }
447
448       enum ipv4-flow-spec-safi {
449         value 133;
450         description
451           "IPv4 Flow Specification SAFI.";
452       }
453
454       enum vpnv4-flow-spec-safi {
455         value 134;
456         description
457           "IPv4 VPN Flow Specification SAFI.";
458       }
459
460       enum vpn-auto-discovery-safi {
461         value 140;
462         description
463           "VPN Auto-Discovery SAFI.";
464       }
465     }
466     description
467       "Enumeration for BGP SAFI.";
468     reference
469       "RFC 4760: Multiprotocol Extensions for BGP-4.";
470   }
471 }