| < draft-acee-netmod-rfc8022bis-05.txt | draft-acee-netmod-rfc8022bis-06.txt > | |||
|---|---|---|---|---|
| NETMOD Working Group L. Lhotka | NETMOD Working Group L. Lhotka | |||
| Internet-Draft CZ.NIC | Internet-Draft CZ.NIC | |||
| Intended status: Standards Track A. Lindem | Intended status: Standards Track A. Lindem | |||
| Expires: April 17, 2018 Cisco Systems | Expires: May 3, 2018 Cisco Systems | |||
| Y. Qu | Y. Qu | |||
| Futurewei Technologies, Inc. | Futurewei Technologies, Inc. | |||
| October 14, 2017 | October 30, 2017 | |||
| A YANG Data Model for Routing Management (NDMA Version) | A YANG Data Model for Routing Management (NDMA Version) | |||
| draft-acee-netmod-rfc8022bis-05 | draft-acee-netmod-rfc8022bis-06 | |||
| Abstract | Abstract | |||
| This document contains a specification of three YANG modules and one | This document contains a specification of three YANG modules and one | |||
| submodule. Together they form the core routing data model that | submodule. Together they form the core routing data model that | |||
| serves as a framework for configuring and managing a routing | serves as a framework for configuring and managing a routing | |||
| subsystem. It is expected that these modules will be augmented by | subsystem. It is expected that these modules will be augmented by | |||
| additional YANG modules defining data models for control-plane | additional YANG modules defining data models for control-plane | |||
| protocols, route filters, and other functions. The core routing data | protocols, route filters, and other functions. The core routing data | |||
| model provides common building blocks for such extensions -- routes, | model provides common building blocks for such extensions -- routes, | |||
| skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 45 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on April 17, 2018. | This Internet-Draft will expire on May 3, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 41 ¶ | skipping to change at page 2, line 41 ¶ | |||
| 5.1. Route . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5.1. Route . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5.2. Routing Information Base (RIB) . . . . . . . . . . . . . 9 | 5.2. Routing Information Base (RIB) . . . . . . . . . . . . . 9 | |||
| 5.3. Control-Plane Protocol . . . . . . . . . . . . . . . . . 10 | 5.3. Control-Plane Protocol . . . . . . . . . . . . . . . . . 10 | |||
| 5.3.1. Routing Pseudo-Protocols . . . . . . . . . . . . . . 10 | 5.3.1. Routing Pseudo-Protocols . . . . . . . . . . . . . . 10 | |||
| 5.3.2. Defining New Control-Plane Protocols . . . . . . . . 10 | 5.3.2. Defining New Control-Plane Protocols . . . . . . . . 10 | |||
| 5.4. Parameters of IPv6 Router Advertisements . . . . . . . . 11 | 5.4. Parameters of IPv6 Router Advertisements . . . . . . . . 11 | |||
| 6. Interactions with Other YANG Modules . . . . . . . . . . . . 12 | 6. Interactions with Other YANG Modules . . . . . . . . . . . . 12 | |||
| 6.1. Module "ietf-interfaces" . . . . . . . . . . . . . . . . 12 | 6.1. Module "ietf-interfaces" . . . . . . . . . . . . . . . . 12 | |||
| 6.2. Module "ietf-ip" . . . . . . . . . . . . . . . . . . . . 13 | 6.2. Module "ietf-ip" . . . . . . . . . . . . . . . . . . . . 13 | |||
| 7. Routing Management YANG Module . . . . . . . . . . . . . . . 13 | 7. Routing Management YANG Module . . . . . . . . . . . . . . . 13 | |||
| 8. IPv4 Unicast Routing Management YANG Module . . . . . . . . . 27 | 8. IPv4 Unicast Routing Management YANG Module . . . . . . . . . 28 | |||
| 9. IPv6 Unicast Routing Management YANG Module . . . . . . . . . 35 | 9. IPv6 Unicast Routing Management YANG Module . . . . . . . . . 36 | |||
| 9.1. IPv6 Router Advertisements Submodule . . . . . . . . . . 43 | 9.1. IPv6 Router Advertisements Submodule . . . . . . . . . . 44 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 54 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 55 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 56 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 55 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 56 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 56 | 12.2. Informative References . . . . . . . . . . . . . . . . . 57 | |||
| Appendix A. The Complete Data Trees . . . . . . . . . . . . . . 58 | Appendix A. The Complete Data Trees . . . . . . . . . . . . . . 58 | |||
| Appendix B. Minimum Implementation . . . . . . . . . . . . . . . 61 | Appendix B. Minimum Implementation . . . . . . . . . . . . . . . 61 | |||
| Appendix C. Example: Adding a New Control-Plane Protocol . . . . 61 | Appendix C. Example: Adding a New Control-Plane Protocol . . . . 61 | |||
| Appendix D. Data Tree Example . . . . . . . . . . . . . . . . . 64 | Appendix D. Data Tree Example . . . . . . . . . . . . . . . . . 64 | |||
| Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 72 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 72 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 72 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 72 | |||
| 1. Introduction | 1. Introduction | |||
| This document contains a specification of the following YANG modules: | This document contains a specification of the following YANG modules: | |||
| skipping to change at page 13, line 46 ¶ | skipping to change at page 13, line 46 ¶ | |||
| In addition, the "ietf-ip" module allows for configuring IPv4 and | In addition, the "ietf-ip" module allows for configuring IPv4 and | |||
| IPv6 addresses and network prefixes or masks on network-layer | IPv6 addresses and network prefixes or masks on network-layer | |||
| interfaces. Configuration of these parameters on an enabled | interfaces. Configuration of these parameters on an enabled | |||
| interface MUST result in an immediate creation of the corresponding | interface MUST result in an immediate creation of the corresponding | |||
| direct route. The destination prefix of this route is set according | direct route. The destination prefix of this route is set according | |||
| to the configured IP address and network prefix/mask, and the | to the configured IP address and network prefix/mask, and the | |||
| interface is set as the outgoing interface for that route. | interface is set as the outgoing interface for that route. | |||
| 7. Routing Management YANG Module | 7. Routing Management YANG Module | |||
| <CODE BEGINS> file "ietf-routing@2017-10-14.yang" | <CODE BEGINS> file "ietf-routing@2017-10-30.yang" | |||
| module ietf-routing { | module ietf-routing { | |||
| yang-version "1.1"; | yang-version "1.1"; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-routing"; | namespace "urn:ietf:params:xml:ns:yang:ietf-routing"; | |||
| prefix "rt"; | prefix "rt"; | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| skipping to change at page 14, line 42 ¶ | skipping to change at page 14, line 42 ¶ | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2017-10-14 { | revision 2017-10-30 { | |||
| description | description | |||
| "Network Managment Datastore Architecture (NDMA) Revision"; | "Network Managment Datastore Architecture (NDMA) Revision"; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for Routing Management | "RFC XXXX: A YANG Data Model for Routing Management | |||
| (NDMA Version)"; | (NDMA Version)"; | |||
| } | } | |||
| revision 2016-11-04 { | revision 2016-11-04 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| skipping to change at page 26, line 13 ¶ | skipping to change at page 26, line 13 ¶ | |||
| family. | family. | |||
| An implementation SHOULD provide one system-controlled | An implementation SHOULD provide one system-controlled | |||
| default RIB for each supported address family."; | default RIB for each supported address family."; | |||
| leaf name { | leaf name { | |||
| type string; | type string; | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "The name of the RIB."; | "The name of the RIB."; | |||
| } | } | |||
| uses address-family; | uses address-family { | |||
| status obsolete; | ||||
| description | ||||
| "The address family of the RIB."; | ||||
| } | ||||
| leaf default-rib { | leaf default-rib { | |||
| if-feature "multiple-ribs"; | if-feature "multiple-ribs"; | |||
| type boolean; | type boolean; | |||
| default "true"; | default "true"; | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "This flag has the value of 'true' if and only if the | "This flag has the value of 'true' if and only if the | |||
| RIB is the default RIB for the given address family. | RIB is the default RIB for the given address family. | |||
| By default, control-plane protocols place their routes | By default, control-plane protocols place their routes | |||
| skipping to change at page 26, line 49 ¶ | skipping to change at page 27, line 4 ¶ | |||
| description | description | |||
| "This route attribute, also known as administrative | "This route attribute, also known as administrative | |||
| distance, allows for selecting the preferred route | distance, allows for selecting the preferred route | |||
| among routes with the same destination prefix. A | among routes with the same destination prefix. A | |||
| smaller value means a more preferred route."; | smaller value means a more preferred route."; | |||
| } | } | |||
| container next-hop { | container next-hop { | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Route's next-hop attribute."; | "Route's next-hop attribute."; | |||
| uses next-hop-state-content; | ||||
| uses next-hop-state-content { | ||||
| status obsolete; | ||||
| description | ||||
| "Route's next-hop attribute operational state."; | ||||
| } | ||||
| } | ||||
| uses route-metadata { | ||||
| status obsolete; | ||||
| description | ||||
| "Route metadata."; | ||||
| } | } | |||
| uses route-metadata; | ||||
| } | } | |||
| } | } | |||
| action active-route { | action active-route { | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Return the active RIB route that is used for the | "Return the active RIB route that is used for the | |||
| destination address. | destination address. | |||
| Address-family-specific modules MUST augment input | Address-family-specific modules MUST augment input | |||
| parameters with a leaf named 'destination-address'."; | parameters with a leaf named 'destination-address'."; | |||
| output { | output { | |||
| skipping to change at page 27, line 30 ¶ | skipping to change at page 27, line 42 ¶ | |||
| If no route exists in the RIB for the destination | If no route exists in the RIB for the destination | |||
| address, no output is returned. | address, no output is returned. | |||
| Address-family-specific modules MUST augment this | Address-family-specific modules MUST augment this | |||
| container with appropriate route contents."; | container with appropriate route contents."; | |||
| container next-hop { | container next-hop { | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Route's next-hop attribute."; | "Route's next-hop attribute."; | |||
| uses next-hop-state-content; | uses next-hop-state-content { | |||
| status obsolete; | ||||
| description | ||||
| "Active route state data."; | ||||
| } | ||||
| } | } | |||
| uses route-metadata; | uses route-metadata { | |||
| status obsolete; | ||||
| description | ||||
| "Active route metadata."; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 8. IPv4 Unicast Routing Management YANG Module | 8. IPv4 Unicast Routing Management YANG Module | |||
| skipping to change at page 57, line 8 ¶ | skipping to change at page 57, line 30 ¶ | |||
| Library", RFC 7895, DOI 10.17487/RFC7895, June 2016, | Library", RFC 7895, DOI 10.17487/RFC7895, June 2016, | |||
| <https://www.rfc-editor.org/info/rfc7895>. | <https://www.rfc-editor.org/info/rfc7895>. | |||
| [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", | [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", | |||
| RFC 7951, DOI 10.17487/RFC7951, August 2016, | RFC 7951, DOI 10.17487/RFC7951, August 2016, | |||
| <https://www.rfc-editor.org/info/rfc7951>. | <https://www.rfc-editor.org/info/rfc7951>. | |||
| [I-D.ietf-netmod-revised-datastores] | [I-D.ietf-netmod-revised-datastores] | |||
| Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
| and R. Wilton, "Network Management Datastore | and R. Wilton, "Network Management Datastore | |||
| Architecture", draft-ietf-netmod-revised-datastores-04 | Architecture", draft-ietf-netmod-revised-datastores-05 | |||
| (work in progress), August 2017. | (work in progress), October 2017. | |||
| Appendix A. The Complete Data Trees | Appendix A. The Complete Data Trees | |||
| This appendix presents the complete tree of the core routing data | This appendix presents the complete tree of the core routing data | |||
| model. See Section 2.2 for an explanation of the symbols used. The | model. See Section 2.2 for an explanation of the symbols used. The | |||
| data type of every leaf node is shown near the right end of the | data type of every leaf node is shown near the right end of the | |||
| corresponding line. | corresponding line. | |||
| module: ietf-routing | module: ietf-routing | |||
| +--rw routing | +--rw routing | |||
| End of changes. 15 change blocks. | ||||
| 21 lines changed or deleted | 42 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||