draft-ietf-netmod-rfc8022bis-07.txt | draft-ietf-netmod-rfc8022bis-08.txt | |||
---|---|---|---|---|
NETMOD Working Group L. Lhotka | NETMOD Working Group L. Lhotka | |||
Internet-Draft CZ.NIC | Internet-Draft CZ.NIC | |||
Obsoletes: 8022 (if approved) A. Lindem | Obsoletes: 8022 (if approved) A. Lindem | |||
Intended status: Standards Track Cisco Systems | Intended status: Standards Track Cisco Systems | |||
Expires: July 8, 2018 Y. Qu | Expires: July 11, 2018 Y. Qu | |||
Huawei | Huawei | |||
January 4, 2018 | January 7, 2018 | |||
A YANG Data Model for Routing Management (NDMA Version) | A YANG Data Model for Routing Management (NDMA Version) | |||
draft-ietf-netmod-rfc8022bis-07 | draft-ietf-netmod-rfc8022bis-08 | |||
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 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
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 July 8, 2018. | This Internet-Draft will expire on July 11, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 38 ¶ | skipping to change at page 2, line 38 ¶ | |||
5.3. Control-Plane Protocol . . . . . . . . . . . . . . . . . 9 | 5.3. Control-Plane Protocol . . . . . . . . . . . . . . . . . 9 | |||
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" . . . . . . . . . . . . . . . . . . . . 12 | 6.2. Module "ietf-ip" . . . . . . . . . . . . . . . . . . . . 12 | |||
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 . . . . . . . . . 27 | |||
9. IPv6 Unicast Routing Management YANG Module . . . . . . . . . 35 | 9. IPv6 Unicast Routing Management YANG Module . . . . . . . . . 35 | |||
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 . . . . . . . . . . . . . . . . . . . 55 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 55 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 56 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 56 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 56 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 56 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 57 | 12.2. Informative References . . . . . . . . . . . . . . . . . 58 | |||
Appendix A. The Complete Schema Tree . . . . . . . . . . . . . . 59 | Appendix A. The Complete Schema Tree . . . . . . . . . . . . . . 59 | |||
Appendix B. Minimum Implementation . . . . . . . . . . . . . . . 64 | Appendix B. Minimum Implementation . . . . . . . . . . . . . . . 64 | |||
Appendix C. Example: Adding a New Control-Plane Protocol . . . . 64 | Appendix C. Example: Adding a New Control-Plane Protocol . . . . 64 | |||
Appendix D. Data Tree Example . . . . . . . . . . . . . . . . . 67 | Appendix D. Data Tree Example . . . . . . . . . . . . . . . . . 67 | |||
Appendix E. NETCONF Get Data Reply Example . . . . . . . . . . . 73 | Appendix E. NETCONF Get Data Reply Example . . . . . . . . . . . 73 | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 76 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 76 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 76 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 76 | |||
1. Introduction | 1. Introduction | |||
skipping to change at page 13, line 32 ¶ | skipping to change at page 13, line 32 ¶ | |||
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-12-21.yang" | <CODE BEGINS> file "ietf-routing@2018-01-07.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 35 ¶ | skipping to change at page 14, line 35 ¶ | |||
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-12-21 { | revision 2018-01-07 { | |||
description | description | |||
"Network Managment Datastore Architecture (NDMA) Revision"; | "Network Management 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."; | |||
reference | reference | |||
"RFC 8022: A YANG Data Model for Routing Management"; | "RFC 8022: A YANG Data Model for Routing Management"; | |||
skipping to change at page 24, line 9 ¶ | skipping to change at page 24, line 9 ¶ | |||
leaf description { | leaf description { | |||
type string; | type string; | |||
description | description | |||
"Textual description of the RIB."; | "Textual description of the RIB."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
/* Obsolete State Data */ | /* | |||
* The subsequent data nodes are obviated and obsoleted by the | ||||
* "Network Management Architecture" as described in | ||||
* draft-ietf-netmod-revised-datastores. | ||||
*/ | ||||
container routing-state { | container routing-state { | |||
config false; | config false; | |||
status obsolete; | status obsolete; | |||
description | description | |||
"State data of the routing subsystem."; | "State data of the routing subsystem."; | |||
uses router-id { | uses router-id { | |||
status obsolete; | status obsolete; | |||
description | description | |||
"Global router ID. | "Global router ID. | |||
skipping to change at page 27, line 45 ¶ | skipping to change at page 27, line 48 ¶ | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
8. IPv4 Unicast Routing Management YANG Module | 8. IPv4 Unicast Routing Management YANG Module | |||
<CODE BEGINS> file "ietf-ipv4-unicast-routing@2017-12-21.yang" | <CODE BEGINS> file "ietf-ipv4-unicast-routing@2018-01-07.yang" | |||
module ietf-ipv4-unicast-routing { | module ietf-ipv4-unicast-routing { | |||
yang-version "1.1"; | yang-version "1.1"; | |||
namespace | namespace | |||
"urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing"; | "urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing"; | |||
prefix "v4ur"; | prefix "v4ur"; | |||
import ietf-routing { | import ietf-routing { | |||
prefix "rt"; | prefix "rt"; | |||
description | description | |||
"A Network Management Datastore Architecture (NDMA) | "A Network Management Datastore Architecture (NDMA) | |||
skipping to change at page 28, line 46 ¶ | skipping to change at page 28, line 50 ¶ | |||
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-12-21 { | revision 2018-01-07 { | |||
description | description | |||
"Network Managment Datastore Architecture (NDMA) Revision"; | "Network Management 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."; | |||
reference | reference | |||
"RFC 8022: A YANG Data Model for Routing Management"; | "RFC 8022: A YANG Data Model for Routing Management"; | |||
} | } | |||
/* Identities */ | /* Identities */ | |||
skipping to change at page 32, line 48 ¶ | skipping to change at page 33, line 4 ¶ | |||
routes."; | routes."; | |||
leaf next-hop-address { | leaf next-hop-address { | |||
type inet:ipv4-address; | type inet:ipv4-address; | |||
description | description | |||
"IPv4 address of the next hop."; | "IPv4 address of the next hop."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
/* Obsolete State Data */ | /* | |||
* The subsequent data nodes are obviated and obsoleted by the | ||||
* "Network Management Architecture" as described in | ||||
* draft-ietf-netmod-revised-datastores. | ||||
*/ | ||||
augment "/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route" { | augment "/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route" { | |||
when "derived-from-or-self(../../rt:address-family, " | when "derived-from-or-self(../../rt:address-family, " | |||
+ "'v4ur:ipv4-unicast')" { | + "'v4ur:ipv4-unicast')" { | |||
description | description | |||
"This augment is valid only for IPv4 unicast."; | "This augment is valid only for IPv4 unicast."; | |||
} | } | |||
status obsolete; | status obsolete; | |||
description | description | |||
"This leaf augments an IPv4 unicast route."; | "This leaf augments an IPv4 unicast route."; | |||
leaf destination-prefix { | leaf destination-prefix { | |||
skipping to change at page 35, line 39 ¶ | skipping to change at page 35, line 47 ¶ | |||
status obsolete; | status obsolete; | |||
description | description | |||
"IPv4 address of the next hop."; | "IPv4 address of the next hop."; | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
9. IPv6 Unicast Routing Management YANG Module | 9. IPv6 Unicast Routing Management YANG Module | |||
<CODE BEGINS> file "ietf-ipv6-unicast-routing@2017-12-21.yang" | <CODE BEGINS> file "ietf-ipv6-unicast-routing@2018-01-07.yang" | |||
module ietf-ipv6-unicast-routing { | module ietf-ipv6-unicast-routing { | |||
yang-version "1.1"; | yang-version "1.1"; | |||
namespace | namespace | |||
"urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing"; | "urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing"; | |||
prefix "v6ur"; | prefix "v6ur"; | |||
import ietf-routing { | import ietf-routing { | |||
prefix "rt"; | prefix "rt"; | |||
description | description | |||
"A Network Management Datastore Architecture (NDMA) | "A Network Management Datastore Architecture (NDMA) | |||
compatible version of the ietf-routing module | compatible version of the ietf-routing module | |||
is required."; | is required."; | |||
} | } | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix "inet"; | prefix "inet"; | |||
description | description | |||
"A Network Management Datastore Architecture (NDMA) | "A Network Management Datastore Architecture (NDMA) | |||
compatible version of the ietf-interfaces module | compatible version of the ietf-interfaces module | |||
is required."; | is required."; | |||
} | } | |||
skipping to change at page 36, line 16 ¶ | skipping to change at page 36, line 24 ¶ | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix "inet"; | prefix "inet"; | |||
description | description | |||
"A Network Management Datastore Architecture (NDMA) | "A Network Management Datastore Architecture (NDMA) | |||
compatible version of the ietf-interfaces module | compatible version of the ietf-interfaces module | |||
is required."; | is required."; | |||
} | } | |||
include ietf-ipv6-router-advertisements { | include ietf-ipv6-router-advertisements { | |||
revision-date 2017-12-21; | revision-date 2018-01-07; | |||
} | } | |||
organization | organization | |||
"IETF NETMOD - Networking Modeling Working Group"; | "IETF NETMOD - Networking Modeling Working Group"; | |||
contact | contact | |||
"WG Web: <http://tools.ietf.org/wg/netmod/> | "WG Web: <http://tools.ietf.org/wg/netmod/> | |||
WG List: <mailto:rtgwg@ietf.org> | WG List: <mailto:rtgwg@ietf.org> | |||
Editor: Ladislav Lhotka | Editor: Ladislav Lhotka | |||
<mailto:lhotka@nic.cz> | <mailto:lhotka@nic.cz> | |||
skipping to change at page 36, line 51 ¶ | skipping to change at page 37, line 10 ¶ | |||
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-12-21 { | revision 2018-01-07 { | |||
description | description | |||
"Network Managment Datastore Architecture (NDMA) revision"; | "Network Management 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)"; | |||
} | } | |||
/* Identities */ | /* Identities */ | |||
revision 2016-11-04 { | revision 2016-11-04 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
skipping to change at page 41, line 4 ¶ | skipping to change at page 41, line 12 ¶ | |||
description | description | |||
"Augment 'next-hop-list' case in IPv6 static | "Augment 'next-hop-list' case in IPv6 static | |||
routes."; | routes."; | |||
leaf next-hop-address { | leaf next-hop-address { | |||
type inet:ipv6-address; | type inet:ipv6-address; | |||
description | description | |||
"IPv6 address of the next hop."; | "IPv6 address of the next hop."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
/* Obsolete State Data */ | /* | |||
* The subsequent data nodes are obviated and obsoleted by the | ||||
* "Network Management Architecture" as described in | ||||
* draft-ietf-netmod-revised-datastores. | ||||
*/ | ||||
augment "/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route" { | augment "/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route" { | |||
when "derived-from-or-self(../../rt:address-family, | when "derived-from-or-self(../../rt:address-family, | |||
'v6ur:ipv6-unicast')" { | 'v6ur:ipv6-unicast')" { | |||
description | description | |||
"This augment is valid only for IPv6 unicast."; | "This augment is valid only for IPv6 unicast."; | |||
} | } | |||
status obsolete; | status obsolete; | |||
description | description | |||
"This leaf augments an IPv6 unicast route."; | "This leaf augments an IPv6 unicast route."; | |||
leaf destination-prefix { | leaf destination-prefix { | |||
skipping to change at page 43, line 41 ¶ | skipping to change at page 44, line 4 ¶ | |||
description | description | |||
"Augment 'next-hop-list' case in the reply to the | "Augment 'next-hop-list' case in the reply to the | |||
'active-route' action."; | 'active-route' action."; | |||
leaf next-hop-address { | leaf next-hop-address { | |||
type inet:ipv6-address; | type inet:ipv6-address; | |||
status obsolete; | status obsolete; | |||
description | description | |||
"IPv6 address of the next hop."; | "IPv6 address of the next hop."; | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
9.1. IPv6 Router Advertisements Submodule | 9.1. IPv6 Router Advertisements Submodule | |||
<CODE BEGINS> file "ietf-ipv6-router-advertisements@2017-12-21.yang" | <CODE BEGINS> file "ietf-ipv6-router-advertisements@2018-01-07.yang" | |||
submodule ietf-ipv6-router-advertisements { | submodule ietf-ipv6-router-advertisements { | |||
yang-version "1.1"; | yang-version "1.1"; | |||
belongs-to ietf-ipv6-unicast-routing { | belongs-to ietf-ipv6-unicast-routing { | |||
prefix "v6ur"; | prefix "v6ur"; | |||
} | } | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix "inet"; | prefix "inet"; | |||
} | } | |||
import ietf-interfaces { | import ietf-interfaces { | |||
prefix "if"; | prefix "if"; | |||
description | description | |||
"A Network Management Datastore Architecture (NDMA) | "A Network Management Datastore Architecture (NDMA) | |||
skipping to change at page 45, line 12 ¶ | skipping to change at page 45, line 23 ¶ | |||
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 | reference | |||
"RFC 4861: Neighbor Discovery for IP version 6 (IPv6)."; | "RFC 4861: Neighbor Discovery for IP version 6 (IPv6)."; | |||
revision 2017-12-21 { | revision 2018-01-07 { | |||
description | description | |||
"Network Managment Datastore Architecture (NDMA) Revision"; | "Network Management 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."; | |||
reference | reference | |||
"RFC 8022: A YANG Data Model for Routing Management"; | "RFC 8022: A YANG Data Model for Routing Management"; | |||
skipping to change at page 50, line 38 ¶ | skipping to change at page 50, line 49 ¶ | |||
"RFC 4861: Neighbor Discovery for IP version 6 | "RFC 4861: Neighbor Discovery for IP version 6 | |||
(IPv6) - AdvAutonomousFlag."; | (IPv6) - AdvAutonomousFlag."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
/* Obsolete State Data */ | /* | |||
* The subsequent data nodes are obviated and obsoleted by the | ||||
* "Network Management Architecture" as described in | ||||
* draft-ietf-netmod-revised-datastores. | ||||
*/ | ||||
augment "/if:interfaces-state/if:interface/ip:ipv6" { | augment "/if:interfaces-state/if:interface/ip:ipv6" { | |||
status obsolete; | status obsolete; | |||
description | description | |||
"Augment interface state data with parameters of IPv6 router | "Augment interface state data with parameters of IPv6 router | |||
advertisements."; | advertisements."; | |||
container ipv6-router-advertisements { | container ipv6-router-advertisements { | |||
status obsolete; | status obsolete; | |||
description | description | |||
"Parameters of IPv6 Router Advertisements."; | "Parameters of IPv6 Router Advertisements."; | |||
leaf send-advertisements { | leaf send-advertisements { | |||
skipping to change at page 61, line 44 ¶ | skipping to change at page 61, line 44 ¶ | |||
| | +--ro source-protocol identityref | | | +--ro source-protocol identityref | |||
| | +--ro active? empty | | | +--ro active? empty | |||
| | +--ro last-updated? | | | +--ro last-updated? | |||
| | | yang:date-and-time | | | | yang:date-and-time | |||
| | +--ro v4ur:destination-prefix? | | | +--ro v4ur:destination-prefix? | |||
| | | inet:ipv4-prefix | | | | inet:ipv4-prefix | |||
| | +--ro v6ur:destination-prefix? | | | +--ro v6ur:destination-prefix? | |||
| | inet:ipv6-prefix | | | inet:ipv6-prefix | |||
| +--rw description? string | | +--rw description? string | |||
o--ro routing-state | o--ro routing-state | |||
+--ro router-id? yang:dotted-quad | o--ro router-id? yang:dotted-quad | |||
o--ro interfaces | o--ro interfaces | |||
| o--ro interface* if:interface-state-ref | | o--ro interface* if:interface-state-ref | |||
o--ro control-plane-protocols | o--ro control-plane-protocols | |||
| o--ro control-plane-protocol* [type name] | | o--ro control-plane-protocol* [type name] | |||
| o--ro type identityref | | o--ro type identityref | |||
| o--ro name string | | o--ro name string | |||
o--ro ribs | o--ro ribs | |||
o--ro rib* [name] | o--ro rib* [name] | |||
o--ro name string | o--ro name string | |||
+--ro address-family identityref | o--ro address-family identityref | |||
o--ro default-rib? boolean {multiple-ribs}? | o--ro default-rib? boolean {multiple-ribs}? | |||
o--ro routes | o--ro routes | |||
| o--ro route* | | o--ro route* | |||
| o--ro route-preference? route-preference | | o--ro route-preference? route-preference | |||
| o--ro next-hop | | o--ro next-hop | |||
| | +--ro (next-hop-options) | | | o--ro (next-hop-options) | |||
| | +--:(simple-next-hop) | | | o--:(simple-next-hop) | |||
| | | +--ro outgoing-interface? | | | | o--ro outgoing-interface? | |||
| | | | if:interface-ref | | | | | if:interface-ref | |||
| | | o--ro v4ur:next-hop-address? | | | | o--ro v4ur:next-hop-address? | |||
| | | | inet:ipv4-address | | | | | inet:ipv4-address | |||
| | | o--ro v6ur:next-hop-address? | | | | o--ro v6ur:next-hop-address? | |||
| | | inet:ipv6-address | | | | inet:ipv6-address | |||
| | +--:(special-next-hop) | | | o--:(special-next-hop) | |||
| | | +--ro special-next-hop? enumeration | | | | o--ro special-next-hop? enumeration | |||
| | +--:(next-hop-list) | | | o--:(next-hop-list) | |||
| | +--ro next-hop-list | | | o--ro next-hop-list | |||
| | +--ro next-hop* | | | o--ro next-hop* | |||
| | +--ro outgoing-interface? | | | o--ro outgoing-interface? | |||
| | | if:interface-ref | | | | if:interface-ref | |||
| | o--ro v4ur:address? | | | o--ro v4ur:address? | |||
| | | inet:ipv4-address | | | | inet:ipv4-address | |||
| | o--ro v6ur:address? | | | o--ro v6ur:address? | |||
| | inet:ipv6-address | | | inet:ipv6-address | |||
| +--ro source-protocol identityref | | o--ro source-protocol identityref | |||
| +--ro active? empty | | o--ro active? empty | |||
| +--ro last-updated? yang:date-and-time | | o--ro last-updated? yang:date-and-time | |||
| o--ro v4ur:destination-prefix? inet:ipv4-prefix | | o--ro v4ur:destination-prefix? inet:ipv4-prefix | |||
| o--ro v6ur:destination-prefix? inet:ipv6-prefix | | o--ro v6ur:destination-prefix? inet:ipv6-prefix | |||
o---x active-route | o---x active-route | |||
+---w input | o---w input | |||
| o---w v4ur:destination-address? inet:ipv4-address | | o---w v4ur:destination-address? inet:ipv4-address | |||
| o---w v6ur:destination-address? inet:ipv6-address | | o---w v6ur:destination-address? inet:ipv6-address | |||
+--ro output | o--ro output | |||
o--ro route | o--ro route | |||
o--ro next-hop | o--ro next-hop | |||
| +--ro (next-hop-options) | | o--ro (next-hop-options) | |||
| +--:(simple-next-hop) | | o--:(simple-next-hop) | |||
| | +--ro outgoing-interface? | | | o--ro outgoing-interface? | |||
| | | if:interface-ref | | | | if:interface-ref | |||
| | o--ro v4ur:next-hop-address? | | | o--ro v4ur:next-hop-address? | |||
| | | inet:ipv4-address | | | | inet:ipv4-address | |||
| | o--ro v6ur:next-hop-address? | | | o--ro v6ur:next-hop-address? | |||
| | inet:ipv6-address | | | inet:ipv6-address | |||
| +--:(special-next-hop) | | o--:(special-next-hop) | |||
| | +--ro special-next-hop? | | | o--ro special-next-hop? | |||
| | enumeration | | | enumeration | |||
| +--:(next-hop-list) | | o--:(next-hop-list) | |||
| +--ro next-hop-list | | o--ro next-hop-list | |||
| +--ro next-hop* | | o--ro next-hop* | |||
| +--ro outgoing-interface? | | o--ro outgoing-interface? | |||
| | if:interface-ref | | | if:interface-ref | |||
| o--ro v4ur:next-hop-address? | | o--ro v4ur:next-hop-address? | |||
| | inet:ipv4-address | | | inet:ipv4-address | |||
| o--ro v6ur:next-hop-address? | | o--ro v6ur:next-hop-address? | |||
| inet:ipv6-address | | inet:ipv6-address | |||
+--ro source-protocol identityref | o--ro source-protocol identityref | |||
+--ro active? empty | o--ro active? empty | |||
+--ro last-updated? | o--ro last-updated? | |||
| yang:date-and-time | | yang:date-and-time | |||
o--ro v4ur:destination-prefix? | o--ro v4ur:destination-prefix? | |||
| inet:ipv4-prefix | | inet:ipv4-prefix | |||
o--ro v6ur:destination-prefix? | o--ro v6ur:destination-prefix? | |||
inet:ipv6-prefix | inet:ipv6-prefix | |||
module: ietf-ipv6-unicast-routing | module: ietf-ipv6-unicast-routing | |||
augment /if:interfaces/if:interface/ip:ipv6: | augment /if:interfaces/if:interface/ip:ipv6: | |||
+--rw ipv6-router-advertisements | +--rw ipv6-router-advertisements | |||
+--rw send-advertisements? boolean | +--rw send-advertisements? boolean | |||
+--rw max-rtr-adv-interval? uint16 | +--rw max-rtr-adv-interval? uint16 | |||
skipping to change at page 67, line 33 ¶ | skipping to change at page 67, line 33 ¶ | |||
operational state, in the JSON encoding [RFC7951]. The data conforms | operational state, in the JSON encoding [RFC7951]. The data conforms | |||
to a data model that is defined by the following YANG library | to a data model that is defined by the following YANG library | |||
specification [RFC7895]: | specification [RFC7895]: | |||
{ | { | |||
"ietf-yang-library:modules-state": { | "ietf-yang-library:modules-state": { | |||
"module-set-id": "c2e1f54169aa7f36e1a6e8d0865d441d3600f9c4", | "module-set-id": "c2e1f54169aa7f36e1a6e8d0865d441d3600f9c4", | |||
"module": [ | "module": [ | |||
{ | { | |||
"name": "ietf-routing", | "name": "ietf-routing", | |||
"revision": "2017-12-21", | "revision": "2018-01-07", | |||
"feature": [ | "feature": [ | |||
"multiple-ribs", | "multiple-ribs", | |||
"router-id" | "router-id" | |||
], | ], | |||
"namespace": "urn:ietf:params:xml:ns:yang:ietf-routing", | "namespace": "urn:ietf:params:xml:ns:yang:ietf-routing", | |||
"conformance-type": "implement" | "conformance-type": "implement" | |||
}, | }, | |||
{ | { | |||
"name": "ietf-ipv4-unicast-routing", | "name": "ietf-ipv4-unicast-routing", | |||
"revision": "2017-12-21", | "revision": "2018-01-07", | |||
"namespace": | "namespace": | |||
"urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing", | "urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing", | |||
"conformance-type": "implement" | "conformance-type": "implement" | |||
}, | }, | |||
{ | { | |||
"name": "ietf-ipv6-unicast-routing", | "name": "ietf-ipv6-unicast-routing", | |||
"revision": "2017-12-21", | "revision": "2018-01-07", | |||
"namespace": | "namespace": | |||
"urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing-3", | "urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing-3", | |||
"conformance-type": "implement", | "conformance-type": "implement", | |||
"submodule": [ | "submodule": [ | |||
{ | { | |||
"name": "ietf-ipv6-router-advertisements", | "name": "ietf-ipv6-router-advertisements", | |||
"revision": "2017-12-21" | "revision": "2018-01-07" | |||
} | } | |||
] | ] | |||
}, | }, | |||
{ | { | |||
"name": "ietf-interfaces", | "name": "ietf-interfaces", | |||
"revision": "2017-12-16", | "revision": "2017-12-16", | |||
"namespace": "urn:ietf:params:xml:ns:yang:ietf-interfaces", | "namespace": "urn:ietf:params:xml:ns:yang:ietf-interfaces", | |||
"conformance-type": "implement" | "conformance-type": "implement" | |||
}, | }, | |||
{ | { | |||
skipping to change at page 76, line 39 ¶ | skipping to change at page 76, line 39 ¶ | |||
</data> | </data> | |||
</rpc-reply> | </rpc-reply> | |||
Acknowledgments | Acknowledgments | |||
The authors wish to thank Nitin Bahadur, Martin Bjorklund, Dean | The authors wish to thank Nitin Bahadur, Martin Bjorklund, Dean | |||
Bogdanovic, Jeff Haas, Joel Halpern, Wes Hardaker, Sriganesh Kini, | Bogdanovic, Jeff Haas, Joel Halpern, Wes Hardaker, Sriganesh Kini, | |||
David Lamparter, Andrew McGregor, Jan Medved, Xiang Li, Stephane | David Lamparter, Andrew McGregor, Jan Medved, Xiang Li, Stephane | |||
Litkowski, Thomas Morin, Tom Petch, Bruno Rijsman, | Litkowski, Thomas Morin, Tom Petch, Bruno Rijsman, | |||
Juergen Schoenwaelder, Phil Shafer, Dave Thaler, Yi Yang, | Juergen Schoenwaelder, Phil Shafer, Dave Thaler, Yi Yang, | |||
Derek Man-Kit Yeung, Jeffrey Zhang, Vladimir Vassilev, and Rob Wilton | Derek Man-Kit Yeung, Jeffrey Zhang, Vladimir Vassilev, Rob Wilton, | |||
for their helpful comments and suggestions. | and Joe Clark for their helpful comments and suggestions. | |||
Authors' Addresses | Authors' Addresses | |||
Ladislav Lhotka | Ladislav Lhotka | |||
CZ.NIC | CZ.NIC | |||
EMail: lhotka@nic.cz | EMail: lhotka@nic.cz | |||
Acee Lindem | Acee Lindem | |||
Cisco Systems | Cisco Systems | |||
End of changes. 46 change blocks. | ||||
64 lines changed or deleted | 76 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |