| < draft-ietf-rtgwg-ni-model-04.txt | draft-ietf-rtgwg-ni-model-05.txt > | |||
|---|---|---|---|---|
| Network Working Group L. Berger | Network Working Group L. Berger | |||
| Internet-Draft LabN Consulting, L.L.C. | Internet-Draft LabN Consulting, L.L.C. | |||
| Intended status: Standards Track C. Hopps | Intended status: Standards Track C. Hopps | |||
| Expires: March 30, 2018 Deutsche Telekom | Expires: June 7, 2018 Deutsche Telekom | |||
| A. Lindem | A. Lindem | |||
| Cisco Systems | Cisco Systems | |||
| D. Bogdanovic | D. Bogdanovic | |||
| X. Liu | X. Liu | |||
| Jabil | Jabil | |||
| September 26, 2017 | December 4, 2017 | |||
| YANG Network Instances | YANG Network Instances | |||
| draft-ietf-rtgwg-ni-model-04 | draft-ietf-rtgwg-ni-model-05 | |||
| Abstract | Abstract | |||
| This document defines a network instance module. This module can be | This document defines a network instance module. This module can be | |||
| used to manage the virtual resource partitioning that may be present | used to manage the virtual resource partitioning that may be present | |||
| on a network device. Examples of common industry terms for virtual | on a network device. Examples of common industry terms for virtual | |||
| resource partitioning are Virtual Routing and Forwarding (VRF) | resource partitioning are Virtual Routing and Forwarding (VRF) | |||
| instances and Virtual Switch Instances (VSIs). | instances and Virtual Switch Instances (VSIs). | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 41 ¶ | skipping to change at page 1, line 41 ¶ | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 March 30, 2018. | This Internet-Draft will expire on June 7, 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 | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://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 35 ¶ | skipping to change at page 2, line 35 ¶ | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 6. Network Instance Model . . . . . . . . . . . . . . . . . . . 15 | 6. Network Instance Model . . . . . . . . . . . . . . . . . . . 15 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 21 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 22 | 7.2. Informative References . . . . . . . . . . . . . . . . . 22 | |||
| Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 23 | Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 23 | |||
| Appendix B. Example NI usage . . . . . . . . . . . . . . . . . . 23 | Appendix B. Example NI usage . . . . . . . . . . . . . . . . . . 23 | |||
| B.1. Configuration Data . . . . . . . . . . . . . . . . . . . 23 | B.1. Configuration Data . . . . . . . . . . . . . . . . . . . 23 | |||
| B.2. State Data . . . . . . . . . . . . . . . . . . . . . . . 26 | B.2. State Data . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines the second of two new modules that are defined | This document defines the second of two new modules that are defined | |||
| to support the configuration and operation of network-devices that | to support the configuration and operation of network-devices that | |||
| allow for the partitioning of resources from both, or either, | allow for the partitioning of resources from both, or either, | |||
| management and networking perspectives. Both leverage the YANG | management and networking perspectives. Both leverage the YANG | |||
| functionality enabled by YANG Schema Mount | functionality enabled by YANG Schema Mount | |||
| [I-D.ietf-netmod-schema-mount]. | [I-D.ietf-netmod-schema-mount]. | |||
| skipping to change at page 12, line 9 ¶ | skipping to change at page 12, line 9 ¶ | |||
| modules is expected to be implementation dependent, as is the method | modules is expected to be implementation dependent, as is the method | |||
| used by an implementation to support NIs. | used by an implementation to support NIs. | |||
| For example, the following could be used to define the data | For example, the following could be used to define the data | |||
| organization of the example NI shown in Section 3.1.2: | organization of the example NI shown in Section 3.1.2: | |||
| "ietf-yang-schema-mount:schema-mounts": { | "ietf-yang-schema-mount:schema-mounts": { | |||
| "mount-point": [ | "mount-point": [ | |||
| { | { | |||
| "module": "ietf-network-instance", | "module": "ietf-network-instance", | |||
| "name": "vrf-root", | "label": "vrf-root", | |||
| "use-schema": [ | "use-schema": [ | |||
| { | { | |||
| "name": "ni-schema", | "name": "ni-schema", | |||
| "parent-reference": [ | "parent-reference": [ | |||
| "/*[namespace-uri() = 'urn:ietf:...:ietf-interfaces']" | "/*[namespace-uri() = 'urn:ietf:...:ietf-interfaces']" | |||
| ] | ] | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| ], | ], | |||
| skipping to change at page 15, line 24 ¶ | skipping to change at page 15, line 24 ¶ | |||
| name: ietf-network-instance | name: ietf-network-instance | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-network-instance | namespace: urn:ietf:params:xml:ns:yang:ietf-network-instance | |||
| prefix: ni | prefix: ni | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 6. Network Instance Model | 6. Network Instance Model | |||
| The structure of the model defined in this document is described by | The structure of the model defined in this document is described by | |||
| the YANG module below. | the YANG module below. | |||
| <CODE BEGINS> file "ietf-network-instance@2017-09-27.yang" | <CODE BEGINS> file "ietf-network-instance@2017-12-04.yang" | |||
| module ietf-network-instance { | module ietf-network-instance { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-network-instance"; | namespace "urn:ietf:params:xml:ns:yang:ietf-network-instance"; | |||
| prefix ni; | prefix ni; | |||
| // import some basic types | // import some basic types | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| reference "RFC 7223: A YANG Data Model for Interface | reference "RFC 7223: A YANG Data Model for Interface | |||
| skipping to change at page 16, line 35 ¶ | skipping to change at page 16, line 35 ¶ | |||
| 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."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove | // RFC Ed.: replace XXXX with actual RFC number and remove | |||
| // this note | // this note | |||
| // RFC Ed.: please update TBD | // RFC Ed.: please update TBD | |||
| revision 2017-09-27 { | revision 2017-12-04 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference "RFC TBD"; | reference "RFC TBD"; | |||
| } | } | |||
| // top level device definition statements | // top level device definition statements | |||
| container network-instances { | container network-instances { | |||
| description | description | |||
| "Network instances each of which consists of a | "Network instances each of which consists of a | |||
| skipping to change at page 21, line 22 ¶ | skipping to change at page 21, line 22 ¶ | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [I-D.ietf-netmod-schema-mount] | [I-D.ietf-netmod-schema-mount] | |||
| Bjorklund, M. and L. Lhotka, "YANG Schema Mount", draft- | Bjorklund, M. and L. Lhotka, "YANG Schema Mount", draft- | |||
| ietf-netmod-schema-mount-06 (work in progress), July 2017. | ietf-netmod-schema-mount-08 (work in progress), October | |||
| 2017. | ||||
| [I-D.ietf-netmod-yang-tree-diagrams] | [I-D.ietf-netmod-yang-tree-diagrams] | |||
| Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- | Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- | |||
| ietf-netmod-yang-tree-diagrams-01 (work in progress), June | ietf-netmod-yang-tree-diagrams-02 (work in progress), | |||
| 2017. | October 2017. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| skipping to change at page 22, line 10 ¶ | skipping to change at page 22, line 10 ¶ | |||
| [RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", | [RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", | |||
| RFC 7277, DOI 10.17487/RFC7277, June 2014, | RFC 7277, DOI 10.17487/RFC7277, June 2014, | |||
| <https://www.rfc-editor.org/info/rfc7277>. | <https://www.rfc-editor.org/info/rfc7277>. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [I-D.ietf-bess-l2vpn-yang] | [I-D.ietf-bess-l2vpn-yang] | |||
| Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., | Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., | |||
| and K. Tiruveedhula, "YANG Data Model for MPLS-based | and K. Tiruveedhula, "YANG Data Model for MPLS-based | |||
| L2VPN", draft-ietf-bess-l2vpn-yang-06 (work in progress), | L2VPN", draft-ietf-bess-l2vpn-yang-07 (work in progress), | |||
| June 2017. | October 2017. | |||
| [I-D.ietf-bess-l3vpn-yang] | [I-D.ietf-bess-l3vpn-yang] | |||
| Jain, D., Patel, K., Brissette, P., Li, Z., Zhuang, S., | Jain, D., Patel, K., Brissette, P., Li, Z., Zhuang, S., | |||
| Liu, X., Haas, J., Esale, S., and B. Wen, "Yang Data Model | Liu, X., Haas, J., Esale, S., and B. Wen, "Yang Data Model | |||
| for BGP/MPLS L3 VPNs", draft-ietf-bess-l3vpn-yang-01 (work | for BGP/MPLS L3 VPNs", draft-ietf-bess-l3vpn-yang-02 (work | |||
| in progress), April 2017. | in progress), October 2017. | |||
| [I-D.ietf-ospf-yang] | [I-D.ietf-ospf-yang] | |||
| Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | |||
| "Yang Data Model for OSPF Protocol", draft-ietf-ospf- | "Yang Data Model for OSPF Protocol", draft-ietf-ospf- | |||
| yang-08 (work in progress), July 2017. | yang-09 (work in progress), October 2017. | |||
| [I-D.ietf-rtgwg-device-model] | [I-D.ietf-rtgwg-device-model] | |||
| Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps, | Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps, | |||
| "Network Device YANG Logical Organization", draft-ietf- | "Network Device YANG Logical Organization", draft-ietf- | |||
| rtgwg-device-model-02 (work in progress), March 2017. | rtgwg-device-model-02 (work in progress), March 2017. | |||
| [I-D.ietf-rtgwg-lne-model] | [I-D.ietf-rtgwg-lne-model] | |||
| Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | |||
| Liu, "YANG Logical Network Elements", draft-ietf-rtgwg- | Liu, "YANG Logical Network Elements", draft-ietf-rtgwg- | |||
| lne-model-03 (work in progress), July 2017. | lne-model-04 (work in progress), September 2017. | |||
| [RFC4026] Andersson, L. and T. Madsen, "Provider Provisioned Virtual | [RFC4026] Andersson, L. and T. Madsen, "Provider Provisioned Virtual | |||
| Private Network (VPN) Terminology", RFC 4026, | Private Network (VPN) Terminology", RFC 4026, | |||
| DOI 10.17487/RFC4026, March 2005, | DOI 10.17487/RFC4026, March 2005, | |||
| <https://www.rfc-editor.org/info/rfc4026>. | <https://www.rfc-editor.org/info/rfc4026>. | |||
| [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
| Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | |||
| 2006, <https://www.rfc-editor.org/info/rfc4364>. | 2006, <https://www.rfc-editor.org/info/rfc4364>. | |||
| skipping to change at page 29, line 21 ¶ | skipping to change at page 29, line 21 ¶ | |||
| "ip": "192.0.2.11", | "ip": "192.0.2.11", | |||
| "prefix-length": 24, | "prefix-length": 24, | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| }, | }, | |||
| "ietf-system:system-state": { | ||||
| "platform": { | ||||
| "os-name": "NetworkOS" | ||||
| } | ||||
| } | ||||
| "ietf-yang-library:modules-state": { | "ietf-yang-library:modules-state": { | |||
| "module-set-id": "123e4567-e89b-12d3-a456-426655440000", | "module-set-id": "123e4567-e89b-12d3-a456-426655440000", | |||
| "module": [ | "module": [ | |||
| { | { | |||
| "name": "iana-if-type", | "name": "iana-if-type", | |||
| "revision": "2014-05-08", | "revision": "2014-05-08", | |||
| "namespace": | "namespace": | |||
| "urn:ietf:params:xml:ns:yang:iana-if-type", | "urn:ietf:params:xml:ns:yang:iana-if-type", | |||
| "conformance-type": "import" | "conformance-type": "import" | |||
| }, | }, | |||
| skipping to change at page 31, line 14 ¶ | skipping to change at page 31, line 20 ¶ | |||
| { | { | |||
| "name": "ietf-yang-types", | "name": "ietf-yang-types", | |||
| "revision": "2013-07-15", | "revision": "2013-07-15", | |||
| "namespace": | "namespace": | |||
| "urn:ietf:params:xml:ns:yang:ietf-yang-types", | "urn:ietf:params:xml:ns:yang:ietf-yang-types", | |||
| "conformance-type": "import" | "conformance-type": "import" | |||
| } | } | |||
| ] | ] | |||
| }, | }, | |||
| "ietf-system:system-state": { | "ietf-yang-schema-mount:schema-mounts": { | |||
| "platform": { | "mount-point": [ | |||
| "os-name": "NetworkOS" | { | |||
| } | "module": "ietf-network-instance", | |||
| "label": "vrf-root", | ||||
| "use-schema": [ | ||||
| { | ||||
| "name": "ni-schema", | ||||
| "parent-reference": [ | ||||
| "/*[namespace-uri() = 'urn:ietf:...:ietf-interfaces']" | ||||
| ] | ||||
| } | ||||
| ] | ||||
| } | ||||
| ], | ||||
| "schema": [ | ||||
| { | ||||
| "name": "ni-schema", | ||||
| "module": [ | ||||
| { | ||||
| "name": "ietf-routing", | ||||
| "revision": "2016-11-04", | ||||
| "namespace": | ||||
| "urn:ietf:params:xml:ns:yang:ietf-routing", | ||||
| "conformance-type": "implement" | ||||
| }, | ||||
| { | ||||
| "name": "ietf-ospf", | ||||
| "revision": "2017-03-12", | ||||
| "namespace": | ||||
| "urn:ietf:params:xml:ns:yang:ietf-ospf", | ||||
| "conformance-type": "implement" | ||||
| } | ||||
| ] | ||||
| } | ||||
| ] | ||||
| } | } | |||
| } | } | |||
| Authors' Addresses | Authors' Addresses | |||
| Lou Berger | Lou Berger | |||
| LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
| Email: lberger@labn.net | Email: lberger@labn.net | |||
| End of changes. 16 change blocks. | ||||
| 21 lines changed or deleted | 61 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/ | ||||