Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8294

Common YANG Data Types for the Routing Area

Pages: 43
Proposed Standard
Errata
Part 2 of 2 – Pages 27 to 43
First   Prev   None

Top   ToC   RFC8294 - Page 27   prevText

4. IANA Routing Types YANG Module

<CODE BEGINS> file "iana-routing-types@2017-12-04.yang" module iana-routing-types { namespace "urn:ietf:params:xml:ns:yang:iana-routing-types"; prefix iana-rt-types; organization "IANA"; contact "Internet Assigned Numbers Authority Postal: ICANN 12025 Waterfront Drive, Suite 300 Los Angeles, CA 90094-2536 United States of America Tel: +1 310 301 5800 <mailto:iana@iana.org>"; description "This module contains a collection of YANG data types considered defined by IANA and used for routing protocols. Copyright (c) 2017 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC 8294; see the RFC itself for full legal notices."; revision 2017-12-04 { description "Initial revision."; reference "RFC 8294: Common YANG Data Types for the Routing Area. Section 4."; }
Top   ToC   RFC8294 - Page 28
     /*** Collection of IANA types related to routing ***/
     /*** IANA Address Family enumeration ***/

     typedef address-family {
       type enumeration {
         enum ipv4 {
           value 1;
           description
             "IPv4 Address Family.";
         }

         enum ipv6 {
           value 2;
           description
             "IPv6 Address Family.";
         }

         enum nsap {
           value 3;
           description
             "OSI Network Service Access Point (NSAP) Address Family.";
         }

         enum hdlc {
           value 4;
           description
             "High-Level Data Link Control (HDLC) Address Family.";
         }

         enum bbn1822 {
           value 5;
           description
             "Bolt, Beranek, and Newman Report 1822 (BBN 1822)
              Address Family.";
         }

         enum ieee802 {
           value 6;
           description
             "IEEE 802 Committee Address Family
              (aka Media Access Control (MAC) address).";
         }

         enum e163 {
           value 7;
           description
             "ITU-T E.163 Address Family.";
         }
Top   ToC   RFC8294 - Page 29
         enum e164 {
           value 8;
           description
             "ITU-T E.164 (Switched Multimegabit Data Service (SMDS),
              Frame Relay, ATM) Address Family.";
         }

         enum f69 {
           value 9;
           description
             "ITU-T F.69 (Telex) Address Family.";
         }

         enum x121 {
           value 10;
           description
             "ITU-T X.121 (X.25, Frame Relay) Address Family.";
         }

         enum ipx {
           value 11;
           description
             "Novell Internetwork Packet Exchange (IPX)
              Address Family.";
         }

         enum appletalk {
           value 12;
           description
             "Apple AppleTalk Address Family.";
         }

         enum decnet-iv {
           value 13;
           description
             "Digital Equipment DECnet Phase IV Address Family.";
         }

         enum vines {
           value 14;
           description
             "Banyan Vines Address Family.";
         }
Top   ToC   RFC8294 - Page 30
         enum e164-nsap {
           value 15;
           description
             "ITU-T E.164 with NSAP sub-address Address Family.";
         }

         enum dns {
           value 16;
           description
             "Domain Name System (DNS) Address Family.";
         }

         enum distinguished-name {
           value 17;
           description
             "Distinguished Name Address Family.";
         }

         enum as-num {
           value 18;
           description
             "Autonomous System (AS) Number Address Family.";
         }

         enum xtp-v4 {
           value 19;
           description
             "Xpress Transport Protocol (XTP) over IPv4
              Address Family.";
         }

         enum xtp-v6 {
           value 20;
           description
             "XTP over IPv6 Address Family.";
         }

         enum xtp-native {
           value 21;
           description
             "XTP native mode Address Family.";
         }

         enum fc-port {
           value 22;
           description
             "Fibre Channel (FC) World-Wide Port Name Address Family.";
         }
Top   ToC   RFC8294 - Page 31
         enum fc-node {
           value 23;
           description
             "FC World-Wide Node Name Address Family.";
         }

         enum gwid {
           value 24;
           description
             "ATM Gateway Identifier (GWID) Number Address Family.";
         }

         enum l2vpn {
           value 25;
           description
             "Layer 2 VPN (L2VPN) Address Family.";
         }

         enum mpls-tp-section-eid {
           value 26;
           description
             "MPLS Transport Profile (MPLS-TP) Section Endpoint
              Identifier Address Family.";
         }

         enum mpls-tp-lsp-eid {
           value 27;
           description
             "MPLS-TP Label Switched Path (LSP) Endpoint Identifier
              Address Family.";
         }

         enum mpls-tp-pwe-eid {
           value 28;
           description
             "MPLS-TP Pseudowire Endpoint Identifier Address Family.";
         }

         enum mt-v4 {
           value 29;
           description
             "Multi-Topology IPv4 Address Family.";
         }
Top   ToC   RFC8294 - Page 32
         enum mt-v6 {
           value 30;
           description
             "Multi-Topology IPv6 Address Family.";
         }

         enum eigrp-common-sf {
           value 16384;
           description
             "Enhanced Interior Gateway Routing Protocol (EIGRP)
              Common Service Family Address Family.";
         }

         enum eigrp-v4-sf {
           value 16385;
           description
             "EIGRP IPv4 Service Family Address Family.";
         }

         enum eigrp-v6-sf {
           value 16386;
           description
             "EIGRP IPv6 Service Family Address Family.";
         }

         enum lcaf {
           value 16387;
           description
             "Locator/ID Separation Protocol (LISP)
              Canonical Address Format (LCAF) Address Family.";
         }

         enum bgp-ls {
           value 16388;
           description
             "Border Gateway Protocol - Link State (BGP-LS)
              Address Family.";
         }

         enum mac-48 {
           value 16389;
           description
             "IEEE 48-bit MAC Address Family.";
         }
Top   ToC   RFC8294 - Page 33
         enum mac-64 {
           value 16390;
           description
             "IEEE 64-bit MAC Address Family.";
         }

         enum trill-oui {
           value 16391;
           description
             "Transparent Interconnection of Lots of Links (TRILL)
              IEEE Organizationally Unique Identifier (OUI)
              Address Family.";
         }

         enum trill-mac-24 {
           value 16392;
           description
             "TRILL final 3 octets of 48-bit MAC Address Family.";
         }

         enum trill-mac-40 {
           value 16393;
           description
             "TRILL final 5 octets of 64-bit MAC Address Family.";
         }

         enum ipv6-64 {
           value 16394;
           description
             "First 8 octets (64 bits) of IPv6 address
              Address Family.";
         }

         enum trill-rbridge-port-id {
           value 16395;
           description
             "TRILL Routing Bridge (RBridge) Port ID Address Family.";
         }

         enum trill-nickname {
           value 16396;
           description
             "TRILL Nickname Address Family.";
         }
       }
Top   ToC   RFC8294 - Page 34
       description
         "Enumeration containing all the IANA-defined
          Address Families.";

     }

     /*** Subsequent Address Family Identifiers (SAFIs) ***/
     /*** for multiprotocol BGP enumeration ***/

     typedef bgp-safi {
       type enumeration {
         enum unicast-safi {
           value 1;
           description
             "Unicast SAFI.";
         }

         enum multicast-safi {
           value 2;
           description
             "Multicast SAFI.";
         }

         enum labeled-unicast-safi {
           value 4;
           description
             "Labeled Unicast SAFI.";
         }

         enum multicast-vpn-safi {
           value 5;
           description
             "Multicast VPN SAFI.";
         }

         enum pseudowire-safi {
           value 6;
           description
             "Multi-segment Pseudowire VPN SAFI.";
         }

         enum tunnel-encap-safi {
           value 7;
           description
             "Tunnel Encap SAFI.";
         }
Top   ToC   RFC8294 - Page 35
         enum mcast-vpls-safi {
           value 8;
           description
             "Multicast Virtual Private LAN Service (VPLS) SAFI.";
         }

         enum tunnel-safi {
           value 64;
           description
             "Tunnel SAFI.";
         }

         enum vpls-safi {
           value 65;
           description
             "VPLS SAFI.";
         }

         enum mdt-safi {
           value 66;
           description
             "Multicast Distribution Tree (MDT) SAFI.";
         }

         enum v4-over-v6-safi {
           value 67;
           description
             "IPv4 over IPv6 SAFI.";
         }

         enum v6-over-v4-safi {
           value 68;
           description
             "IPv6 over IPv4 SAFI.";
         }

         enum l1-vpn-auto-discovery-safi {
           value 69;
           description
             "Layer 1 VPN Auto-Discovery SAFI.";
         }

         enum evpn-safi {
           value 70;
           description
             "Ethernet VPN (EVPN) SAFI.";
         }
Top   ToC   RFC8294 - Page 36
         enum bgp-ls-safi {
           value 71;
           description
             "BGP-LS SAFI.";
         }

         enum bgp-ls-vpn-safi {
           value 72;
           description
             "BGP-LS VPN SAFI.";
         }

         enum sr-te-safi {
           value 73;
           description
             "Segment Routing - Traffic Engineering (SR-TE) SAFI.";
         }

         enum labeled-vpn-safi {
           value 128;
           description
             "MPLS Labeled VPN SAFI.";
         }

         enum multicast-mpls-vpn-safi {
           value 129;
           description
             "Multicast for BGP/MPLS IP VPN SAFI.";
         }

         enum route-target-safi {
           value 132;
           description
             "Route Target SAFI.";
         }

         enum ipv4-flow-spec-safi {
           value 133;
           description
             "IPv4 Flow Specification SAFI.";
         }

         enum vpnv4-flow-spec-safi {
           value 134;
           description
             "IPv4 VPN Flow Specification SAFI.";
         }
Top   ToC   RFC8294 - Page 37
         enum vpn-auto-discovery-safi {
           value 140;
           description
             "VPN Auto-Discovery SAFI.";
         }
       }
       description
         "Enumeration for BGP SAFI.";
       reference
         "RFC 4760: Multiprotocol Extensions for BGP-4.";
     }
   }

   <CODE ENDS>

5. IANA Considerations

This document registers the following namespace URIs in the "IETF XML Registry" [RFC3688]: URI: urn:ietf:params:xml:ns:yang:ietf-routing-types Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace. URI: urn:ietf:params:xml:ns:yang:iana-routing-types Registrant Contact: IANA. XML: N/A; the requested URI is an XML namespace. This document registers the following YANG modules in the "YANG Module Names" registry [RFC6020]: Name: ietf-routing-types Namespace: urn:ietf:params:xml:ns:yang:ietf-routing-types Prefix: rt-types Reference: RFC 8294 Name: iana-routing-types Namespace: urn:ietf:params:xml:ns:yang:iana-routing-types Prefix: iana-rt-types Reference: RFC 8294
Top   ToC   RFC8294 - Page 38

5.1. IANA-Maintained iana-routing-types Module

This document defines the initial version of the IANA-maintained iana-routing-types YANG module (Section 4). The iana-routing-types YANG module is intended to reflect the "Address Family Numbers" registry [IANA-ADDRESS-FAMILY-REGISTRY] and the "Subsequent Address Family Identifiers (SAFI) Parameters" registry [IANA-SAFI-REGISTRY]. IANA has added this note to the "iana-routing-types YANG Module" registry: Address Families and Subsequent Address Families must not be directly added to the iana-routing-types YANG module. They must instead be respectively added to the "Address Family Numbers" and "Subsequent Address Family Identifiers (SAFI) Parameters" registries. When an Address Family or Subsequent Address Family is respectively added to the "Address Family Numbers" registry or the "Subsequent Address Family Identifiers (SAFI) Parameters" registry, a new "enum" statement must be added to the iana-routing-types YANG module. The name of the "enum" is the same as the corresponding Address Family or SAFI, except that it will be a valid YANG identifier in all lowercase and with hyphens separating individual words in compound identifiers. The following "enum" statement, and substatements thereof, should be defined: "enum": Contains the YANG enum identifier for the "address-family" (for Address Families) or "bgp-safi" (for Subsequent Address Families). This may be the same as the "address-family" or "bgp-safi", or it may be a shorter version to facilitate YANG identifier usage. "value": Contains the IANA-assigned value corresponding to the "address-family" (for Address Families) or "bgp-safi" (for Subsequent Address Families). "status": Include only if a registration has been deprecated (use the value "deprecated") or obsoleted (use the value "obsolete").
Top   ToC   RFC8294 - Page 39
      "description": Replicate the description from the registry,
                     if any.  Insert line breaks as needed so that the
                     line does not exceed 72 characters.

      "reference": Replicate the reference from the registry, if any,
                   and add the title of the document.

   Unassigned or reserved values are not present in these modules.

   When the iana-routing-types YANG module is updated, a new "revision"
   statement must be added in front of the existing revision statements.

   IANA has added this new note to the "Address Family Numbers" and
   "Subsequent Address Family Identifiers (SAFI) Parameters" registries:

      When this registry is modified, the YANG module iana-routing-types
      must be updated as defined in RFC 8294.

6. Security Considerations

This document defines common routing type definitions (i.e., typedef statements) using the YANG data modeling language. The definitions themselves have no security or privacy impact on the Internet, but the usage of these definitions in concrete YANG modules might have. The security considerations spelled out in the YANG 1.1 specification [RFC7950] apply for this document as well.

7. References

7.1. Normative References

[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-editor.org/info/rfc3688>. [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-editor.org/info/rfc6020>. [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, July 2013, <https://www.rfc-editor.org/info/rfc6991>. [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, <https://www.rfc-editor.org/info/rfc7950>.
Top   ToC   RFC8294 - Page 40
   [IANA-ADDRESS-FAMILY-REGISTRY]
              "IANA Address Family Numbers Registry",
              <https://www.iana.org/assignments/
              address-family-numbers/>.

   [IANA-SAFI-REGISTRY]
              "IANA Subsequent Address Family Identifiers (SAFI)
              Parameters Registry",
              <https://www.iana.org/assignments/safi-namespace/>.

7.2. Informative References

[IEEE754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE 754-2008, DOI 10.1109/IEEESTD.2008.4610935. [BGP-Model] Shaikh, A., Ed., Shakir, R., Ed., Patel, K., Ed., Hares, S., Ed., D'Souza, K., Bansal, D., Clemm, A., Zhdankin, A., Jethanandani, M., and X. Liu, "BGP Model for Service Provider Networks", Work in Progress, draft-ietf-idr-bgp-model-02, July 2016. [OSPF-YANG] Yeung, D., Qu, Y., Zhang, J., Chen, I., and A. Lindem, "Yang Data Model for OSPF Protocol", Work in Progress, draft-ietf-ospf-yang-09, October 2017. [PIM-YANG] Liu, X., McAllister, P., Peter, A., Sivakumar, M., Liu, Y., and F. Hu, "A YANG data model for Protocol-Independent Multicast (PIM)", Work in Progress, draft-ietf-pim-yang-12, December 2017. [TE-YANG] Saad, T., Ed., Gandhi, R., Liu, X., Beeram, V., Shah, H., and I. Bryskin, "A YANG Data Model for Traffic Engineering Tunnels and Interfaces", Work in Progress, draft-ietf-teas-yang-te-09, October 2017. [L2VPN-YANG] Shah, H., Ed., Brissette, P., Ed., Chen, I., Ed., Hussain, I., Ed., Wen, B., Ed., and K. Tiruveedhula, Ed., "YANG Data Model for MPLS-based L2VPN", Work in Progress, draft-ietf-bess-l2vpn-yang-07, September 2017. [MPLS-Base-YANG] Saad, T., Raza, K., Gandhi, R., Liu, X., Beeram, V., Shah, H., Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data Model for MPLS Base", Work in Progress, draft-ietf-mpls-base-yang-05, July 2017.
Top   ToC   RFC8294 - Page 41
   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
              <https://www.rfc-editor.org/info/rfc3032>.

   [RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
              and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
              Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
              <https://www.rfc-editor.org/info/rfc3209>.

   [RFC3471]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Functional Description",
              RFC 3471, DOI 10.17487/RFC3471, January 2003,
              <https://www.rfc-editor.org/info/rfc3471>.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364,
              February 2006, <https://www.rfc-editor.org/info/rfc4364>.

   [RFC4664]  Andersson, L., Ed., and E. Rosen, Ed., "Framework for
              Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664,
              DOI 10.17487/RFC4664, September 2006,
              <https://www.rfc-editor.org/info/rfc4664>.

   [RFC5701]  Rekhter, Y., "IPv6 Address Specific BGP Extended Community
              Attribute", RFC 5701, DOI 10.17487/RFC5701, November 2009,
              <https://www.rfc-editor.org/info/rfc5701>.

   [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
              <https://www.rfc-editor.org/info/rfc5880>.

   [RFC7274]  Kompella, K., Andersson, L., and A. Farrel, "Allocating
              and Retiring Special-Purpose MPLS Labels", RFC 7274,
              DOI 10.17487/RFC7274, June 2014,
              <https://www.rfc-editor.org/info/rfc7274>.

   [RFC7432]  Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
              Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
              Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432,
              February 2015, <https://www.rfc-editor.org/info/rfc7432>.
Top   ToC   RFC8294 - Page 42

Acknowledgements

The Routing Area YANG Architecture design team members included Acee Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Ebben Aries, Lou Berger, Qin Wu, Rob Shakir, Xufeng Liu, and Yingzhen Qu. Thanks to Martin Bjorklund, Tom Petch, Stewart Bryant, and Radek Krejci for comments on the model and document text. Thanks to Jeff Haas and Robert Raszuk for suggestions for additional common routing types.
Top   ToC   RFC8294 - Page 43

Authors' Addresses

Xufeng Liu Jabil 8281 Greensboro Drive, Suite 200 McLean, VA 22102 United States of America Email: Xufeng_Liu@jabil.com Yingzhen Qu Futurewei Technologies, Inc. 2330 Central Expressway Santa Clara, CA 95050 United States of America Email: yingzhen.qu@huawei.com Acee Lindem Cisco Systems 301 Midenhall Way Cary, NC 27513 United States of America Email: acee@cisco.com Christian Hopps Deutsche Telekom Email: chopps@chopps.org Lou Berger LabN Consulting, L.L.C. Email: lberger@labn.net