| < draft-ietf-netmod-rfc8022bis-01.txt | draft-ietf-netmod-rfc8022bis-02.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: May 4, 2018 Cisco Systems | Expires: June 3, 2018 Cisco Systems | |||
| Y. Qu | Y. Qu | |||
| Futurewei Technologies, Inc. | Futurewei Technologies, Inc. | |||
| October 31, 2017 | November 30, 2017 | |||
| A YANG Data Model for Routing Management (NDMA Version) | A YANG Data Model for Routing Management (NDMA Version) | |||
| draft-ietf-netmod-rfc8022bis-01 | draft-ietf-netmod-rfc8022bis-02 | |||
| 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 May 4, 2018. | This Internet-Draft will expire on June 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 42 ¶ | skipping to change at page 2, line 42 ¶ | |||
| 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 . . . . . . . . . 28 | 8. IPv4 Unicast Routing Management YANG Module . . . . . . . . . 28 | |||
| 9. IPv6 Unicast Routing Management YANG Module . . . . . . . . . 36 | 9. IPv6 Unicast Routing Management YANG Module . . . . . . . . . 35 | |||
| 9.1. IPv6 Router Advertisements Submodule . . . . . . . . . . 44 | 9.1. IPv6 Router Advertisements Submodule . . . . . . . . . . 43 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 54 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 55 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 55 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 56 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 56 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 55 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 57 | 12.2. Informative References . . . . . . . . . . . . . . . . . 56 | |||
| 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-30.yang" | <CODE BEGINS> file "ietf-routing@2017-11-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 15, line 42 ¶ | skipping to change at page 15, line 42 ¶ | |||
| /* Identities */ | /* Identities */ | |||
| identity address-family { | identity address-family { | |||
| description | description | |||
| "Base identity from which identities describing address | "Base identity from which identities describing address | |||
| families are derived."; | families are derived."; | |||
| } | } | |||
| identity ipv4 { | identity ipv4 { | |||
| base address-family; | base rt:address-family; | |||
| description | description | |||
| "This identity represents IPv4 address family."; | "This identity represents IPv4 address family."; | |||
| } | } | |||
| identity ipv6 { | identity ipv6 { | |||
| base address-family; | base rt:address-family; | |||
| description | description | |||
| "This identity represents IPv6 address family."; | "This identity represents IPv6 address family."; | |||
| } | } | |||
| identity control-plane-protocol { | identity control-plane-protocol { | |||
| description | description | |||
| "Base identity from which control-plane protocol identities are | "Base identity from which control-plane protocol identities are | |||
| derived."; | derived."; | |||
| } | } | |||
| identity routing-protocol { | identity routing-protocol { | |||
| base control-plane-protocol; | base rt:control-plane-protocol; | |||
| description | description | |||
| "Identity from which Layer 3 routing protocol identities are | "Identity from which Layer 3 routing protocol identities are | |||
| derived."; | derived."; | |||
| } | } | |||
| identity direct { | identity direct { | |||
| base routing-protocol; | base rt:routing-protocol; | |||
| description | description | |||
| "Routing pseudo-protocol that provides routes to directly | "Routing pseudo-protocol that provides routes to directly | |||
| connected networks."; | connected networks."; | |||
| } | } | |||
| identity static { | identity static { | |||
| base routing-protocol; | base rt:routing-protocol; | |||
| description | description | |||
| "Static routing pseudo-protocol."; | "Static routing pseudo-protocol."; | |||
| } | } | |||
| /* Type Definitions */ | /* Type Definitions */ | |||
| typedef route-preference { | typedef route-preference { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "This type is used for route preferences."; | "This type is used for route preferences."; | |||
| } | } | |||
| /* Groupings */ | /* Groupings */ | |||
| grouping address-family { | grouping address-family { | |||
| description | description | |||
| "This grouping provides a leaf identifying an address | "This grouping provides a leaf identifying an address | |||
| family."; | family."; | |||
| leaf address-family { | leaf address-family { | |||
| type identityref { | type identityref { | |||
| base address-family; | base rt:address-family; | |||
| } | } | |||
| mandatory "true"; | mandatory "true"; | |||
| description | description | |||
| "Address family."; | "Address family."; | |||
| } | } | |||
| } | } | |||
| grouping router-id { | grouping router-id { | |||
| description | description | |||
| skipping to change at page 20, line 21 ¶ | skipping to change at page 20, line 21 ¶ | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping route-metadata { | grouping route-metadata { | |||
| description | description | |||
| "Common route metadata."; | "Common route metadata."; | |||
| leaf source-protocol { | leaf source-protocol { | |||
| type identityref { | type identityref { | |||
| base routing-protocol; | base rt:routing-protocol; | |||
| } | } | |||
| mandatory "true"; | mandatory "true"; | |||
| description | description | |||
| "Type of the routing protocol from which the route | "Type of the routing protocol from which the route | |||
| originated."; | originated."; | |||
| } | } | |||
| leaf active { | leaf active { | |||
| type empty; | type empty; | |||
| description | description | |||
| "Presence of this leaf indicates that the route is preferred | "Presence of this leaf indicates that the route is preferred | |||
| skipping to change at page 21, line 28 ¶ | skipping to change at page 21, line 28 ¶ | |||
| container control-plane-protocols { | container control-plane-protocols { | |||
| description | description | |||
| "Configuration of control-plane protocol instances."; | "Configuration of control-plane protocol instances."; | |||
| list control-plane-protocol { | list control-plane-protocol { | |||
| key "type name"; | key "type name"; | |||
| description | description | |||
| "Each entry contains configuration of a control-plane | "Each entry contains configuration of a control-plane | |||
| protocol instance."; | protocol instance."; | |||
| leaf type { | leaf type { | |||
| type identityref { | type identityref { | |||
| base control-plane-protocol; | base rt:control-plane-protocol; | |||
| } | } | |||
| description | description | |||
| "Type of the control-plane protocol - an identity derived | "Type of the control-plane protocol - an identity derived | |||
| from the 'control-plane-protocol' base identity."; | from the 'control-plane-protocol' base identity."; | |||
| } | } | |||
| leaf name { | leaf name { | |||
| type string; | type string; | |||
| description | description | |||
| "An arbitrary name of the control-plane protocol | "An arbitrary name of the control-plane protocol | |||
| instance."; | instance."; | |||
| skipping to change at page 22, line 39 ¶ | skipping to change at page 22, line 39 ¶ | |||
| For system-controlled entries, the value of this leaf | For system-controlled entries, the value of this leaf | |||
| must be the same as the name of the corresponding entry | must be the same as the name of the corresponding entry | |||
| in state data. | in state data. | |||
| For user-controlled entries, an arbitrary name can be | For user-controlled entries, an arbitrary name can be | |||
| used."; | used."; | |||
| } | } | |||
| uses address-family { | uses address-family { | |||
| description | description | |||
| "Address family of the RIB. | "The address family of the system-controlled RIB."; | |||
| It is mandatory for user-controlled RIBs. For | ||||
| system-controlled RIBs it can be omitted; otherwise, it | ||||
| must match the address family of the corresponding state | ||||
| entry."; | ||||
| refine "address-family" { | ||||
| mandatory "false"; | ||||
| } | ||||
| } | } | |||
| leaf default-rib { | leaf default-rib { | |||
| if-feature "multiple-ribs"; | if-feature "multiple-ribs"; | |||
| type boolean; | type boolean; | |||
| default "true"; | default "true"; | |||
| config "false"; | config "false"; | |||
| description | description | |||
| "This flag has the value of 'true' if and only if the RIB | "This flag has the value of 'true' if and only if the RIB | |||
| is the default RIB for the given address family. | is the default RIB for the given address family. | |||
| skipping to change at page 25, line 4 ¶ | skipping to change at page 24, line 45 ¶ | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Network-layer interfaces used for routing."; | "Network-layer interfaces used for routing."; | |||
| leaf-list interface { | leaf-list interface { | |||
| type if:interface-state-ref; | type if:interface-state-ref; | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Each entry is a reference to the name of a configured | "Each entry is a reference to the name of a configured | |||
| network-layer interface."; | network-layer interface."; | |||
| } | } | |||
| } | } | |||
| container control-plane-protocols { | container control-plane-protocols { | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Container for the list of routing protocol instances."; | "Container for the list of routing protocol instances."; | |||
| list control-plane-protocol { | list control-plane-protocol { | |||
| key "type name"; | key "type name"; | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "State data of a control-plane protocol instance. | "State data of a control-plane protocol instance. | |||
| An implementation MUST provide exactly one | An implementation MUST provide exactly one | |||
| system-controlled instance of the 'direct' | system-controlled instance of the 'direct' | |||
| pseudo-protocol. Instances of other control-plane | pseudo-protocol. Instances of other control-plane | |||
| protocols MAY be created by configuration."; | protocols MAY be created by configuration."; | |||
| leaf type { | leaf type { | |||
| type identityref { | type identityref { | |||
| base control-plane-protocol; | base rt:control-plane-protocol; | |||
| } | } | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Type of the control-plane protocol."; | "Type of the control-plane protocol."; | |||
| } | } | |||
| leaf name { | leaf name { | |||
| type string; | type string; | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "The name of the control-plane protocol instance. | "The name of the control-plane protocol instance. | |||
| skipping to change at page 28, line 4 ¶ | skipping to change at page 27, line 44 ¶ | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Active route state data."; | "Active route state data."; | |||
| } | } | |||
| } | } | |||
| uses route-metadata { | uses route-metadata { | |||
| status obsolete; | status obsolete; | |||
| description | description | |||
| "Active route metadata."; | "Active route metadata."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <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-10-14.yang" | <CODE BEGINS> file "ietf-ipv4-unicast-routing@2017-11-30.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"; | |||
| } | } | |||
| skipping to change at page 36, line 7 ¶ | skipping to change at page 35, line 45 ¶ | |||
| 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-10-14.yang" | <CODE BEGINS> file "ietf-ipv6-unicast-routing@2017-11-30.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"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| include ietf-ipv6-router-advertisements { | include ietf-ipv6-router-advertisements { | |||
| revision-date 2017-10-14; | revision-date 2017-10-14; | |||
| skipping to change at page 44, line 7 ¶ | skipping to change at page 43, line 41 ¶ | |||
| 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-10-14.yang" | <CODE BEGINS> file "ietf-ipv6-router-advertisements@2017-11-30.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"; | |||
| } | } | |||
| skipping to change at page 57, line 30 ¶ | skipping to change at page 57, line 16 ¶ | |||
| 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-05 | Architecture", draft-ietf-netmod-revised-datastores-07 | |||
| (work in progress), October 2017. | (work in progress), November 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 | |||
| skipping to change at page 72, line 12 ¶ | skipping to change at page 72, line 12 ¶ | |||
| }, | }, | |||
| } | } | |||
| 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, Yingzhen Qu, Bruno Rijsman, | Litkowski, Thomas Morin, Tom Petch, Yingzhen Qu, Bruno Rijsman, | |||
| Juergen Schoenwaelder, Phil Shafer, Dave Thaler, Yi Yang, | Juergen Schoenwaelder, Phil Shafer, Dave Thaler, Yi Yang, | |||
| Derek Man-Kit Yeung, and Jeffrey Zhang for their helpful comments and | Derek Man-Kit Yeung, Jeffrey Zhang, Vladimir Vassilev, and Rob Wilton | |||
| suggestions. | 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. 25 change blocks. | ||||
| 38 lines changed or deleted | 27 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/ | ||||