draft-ietf-rtgwg-ni-model-09.txt   draft-ietf-rtgwg-ni-model-10.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: August 9, 2018 Deutsche Telekom Expires: August 17, 2018 Deutsche Telekom
A. Lindem A. Lindem
Cisco Systems Cisco Systems
D. Bogdanovic D. Bogdanovic
X. Liu X. Liu
Jabil Jabil
February 5, 2018 February 13, 2018
YANG Network Instances YANG Model for Network Instances
draft-ietf-rtgwg-ni-model-09 draft-ietf-rtgwg-ni-model-10
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).
The YANG model in this document conforms to the Network Management
Datastore Architecture defined in I-D.ietf-netmod-revised-datastores.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 August 9, 2018. This Internet-Draft will expire on August 17, 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Network Instances . . . . . . . . . . . . . . . . . . . . . . 5 3. Network Instances . . . . . . . . . . . . . . . . . . . . . . 5
3.1. NI Types and Mount Points . . . . . . . . . . . . . . . . 6 3.1. NI Types and Mount Points . . . . . . . . . . . . . . . . 6
3.1.1. Well Known Mount Points . . . . . . . . . . . . . . . 7 3.1.1. Well Known Mount Points . . . . . . . . . . . . . . . 7
3.1.2. NI Type Example . . . . . . . . . . . . . . . . . . . 8 3.1.2. NI Type Example . . . . . . . . . . . . . . . . . . . 8
3.2. NIs and Interfaces . . . . . . . . . . . . . . . . . . . 9 3.2. NIs and Interfaces . . . . . . . . . . . . . . . . . . . 9
3.3. Network Instance Management . . . . . . . . . . . . . . . 10 3.3. Network Instance Management . . . . . . . . . . . . . . . 10
3.4. Network Instance Instantiation . . . . . . . . . . . . . 12 3.4. Network Instance Instantiation . . . . . . . . . . . . . 13
4. Security Considerations . . . . . . . . . . . . . . . . . . . 13 4. Security Considerations . . . . . . . . . . . . . . . . . . . 14
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
6. Network Instance Model . . . . . . . . . . . . . . . . . . . 14 6. Network Instance Model . . . . . . . . . . . . . . . . . . . 15
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.1. Normative References . . . . . . . . . . . . . . . . . . 20 7.1. Normative References . . . . . . . . . . . . . . . . . . 21
7.2. Informative References . . . . . . . . . . . . . . . . . 22 7.2. Informative References . . . . . . . . . . . . . . . . . 23
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 23 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 24
Appendix B. Example NI usage . . . . . . . . . . . . . . . . . . 23 Appendix B. Example NI usage . . . . . . . . . . . . . . . . . . 24
B.1. Configuration Data . . . . . . . . . . . . . . . . . . . 23 B.1. Configuration Data . . . . . . . . . . . . . . . . . . . 24
B.2. State Data . . . . . . . . . . . . . . . . . . . . . . . 26 B.2. State Data - Non-NDMA Version . . . . . . . . . . . . . . 28
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 B.3. State Data - NDMA Version . . . . . . . . . . . . . . . . 34
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 40
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].
The YANG model in this document conforms to the Network Management
Datastore Architecture defined in the
[I-D.ietf-netmod-revised-datastores].
The first form of resource partitioning provides a logical The first form of resource partitioning provides a logical
partitioning of a network device where each partition is separately partitioning of a network device where each partition is separately
managed as essentially an independent network element which is managed as essentially an independent network element which is
'hosted' by the base network device. These hosted network elements 'hosted' by the base network device. These hosted network elements
are referred to as logical network elements, or LNEs, and are are referred to as logical network elements, or LNEs, and are
supported by the logical-network-element module defined in supported by the logical-network-element module defined in
[I-D.ietf-rtgwg-lne-model]. That module is used to identify LNEs and [I-D.ietf-rtgwg-lne-model]. That module is used to identify LNEs and
associate resources from the network-device with each LNE. LNEs associate resources from the network-device with each LNE. LNEs
themselves are represented in YANG as independent network devices; themselves are represented in YANG as independent network devices;
each accessed independently. Examples of vendor terminology for an each accessed independently. Examples of vendor terminology for an
skipping to change at page 5, line 19 skipping to change at page 6, line 5
The network instance container is used to represent virtual routing The network instance container is used to represent virtual routing
and forwarding instances (VRFs) and virtual switching instances and forwarding instances (VRFs) and virtual switching instances
(VSIs). VRFs and VSIs are commonly used to isolate routing and (VSIs). VRFs and VSIs are commonly used to isolate routing and
switching domains, for example to create virtual private networks, switching domains, for example to create virtual private networks,
each with their own active protocols and routing/switching policies. each with their own active protocols and routing/switching policies.
The model supports both core/provider and virtual instances. Core/ The model supports both core/provider and virtual instances. Core/
provider instance information is accessible at the top level of the provider instance information is accessible at the top level of the
server, while virtual instance information is accessible under the server, while virtual instance information is accessible under the
root schema mount points. root schema mount points.
The NI model can be represented using the tree format defined in
[I-D.ietf-netmod-yang-tree-diagrams] as:
module: ietf-network-instance module: ietf-network-instance
+--rw network-instances +--rw network-instances
+--rw network-instance* [name] +--rw network-instance* [name]
+--rw name string +--rw name string
+--rw enabled? boolean +--rw enabled? boolean
+--rw description? string +--rw description? string
+--rw (ni-type)? +--rw (ni-type)?
+--rw (root-type) +--rw (root-type)
+--:(vrf-root) +--:(vrf-root)
| +--mp vrf-root | +--mp vrf-root
skipping to change at page 12, line 22 skipping to change at page 12, line 22
{ {
"prefix": "ni", "prefix": "ni",
"uri": "urn:ietf:params:xml:ns:yang:ietf-network-instance" "uri": "urn:ietf:params:xml:ns:yang:ietf-network-instance"
} }
], ],
"mount-point": [ "mount-point": [
{ {
"parent-reference": [ "parent-reference": [
"/if:interfaces/if:interface "/if:interfaces/if:interface
[ni:bind-network-instance-name = current()/../ni:name]", [ni:bind-network-instance-name = current()/../ni:name]",
"/if:interfaces/if:interface/ip:ipv4
[ni:bind-network-instance-name = current()/../ni:name]",
"/if:interfaces/if:interface/ip:ipv6
[ni:bind-network-instance-name = current()/../ni:name]",
}
],
The same such "parent-reference" restrictions for non-NDMA
implementations can be represented based on the [RFC7223] and
[RFC7277] as:
"namespace": [
{
"prefix": "if",
"uri": "urn:ietf:params:xml:ns:yang:ietf-interfaces"
},
{
"prefix": "ni",
"uri": "urn:ietf:params:xml:ns:yang:ietf-network-instance"
}
],
"mount-point": [
{
"parent-reference": [
"/if:interfaces/if:interface
[ni:bind-network-instance-name = current()/../ni:name]",
"/if:interfaces-state/if:interface "/if:interfaces-state/if:interface
[if:name = /if:interfaces/if:interface [if:name = /if:interfaces/if:interface
[ni:bind-ni-name = current()/../ni:name]/if:name]", [ni:bind-ni-name = current()/../ni:name]/if:name]",
"/if:interfaces/if:interface/ip:ipv4 "/if:interfaces/if:interface/ip:ipv4
[ni:bind-network-instance-name = current()/../ni:name]", [ni:bind-network-instance-name = current()/../ni:name]",
"/if:interfaces-state/if:interface/ip:ipv4 "/if:interfaces-state/if:interface/ip:ipv4
[if:name = /if:interfaces/if:interface/ip:ipv4 [if:name = /if:interfaces/if:interface/ip:ipv4
[ni:bind-ni-name = current()/../ni:name]/if:name]", [ni:bind-ni-name = current()/../ni:name]/if:name]",
"/if:interfaces/if:interface/ip:ipv6 "/if:interfaces/if:interface/ip:ipv6
[ni:bind-network-instance-name = current()/../ni:name]", [ni:bind-network-instance-name = current()/../ni:name]",
skipping to change at page 20, line 38 skipping to change at page 21, line 34
failure."; failure.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-netmod-revised-datastores]
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
and R. Wilton, "Network Management Datastore
Architecture", draft-ietf-netmod-revised-datastores-10
(work in progress), January 2018.
[I-D.ietf-netmod-rfc7223bis] [I-D.ietf-netmod-rfc7223bis]
Bjorklund, M., "A YANG Data Model for Interface Bjorklund, M., "A YANG Data Model for Interface
Management", draft-ietf-netmod-rfc7223bis-03 (work in Management", draft-ietf-netmod-rfc7223bis-03 (work in
progress), January 2018. progress), January 2018.
[I-D.ietf-netmod-rfc7277bis] [I-D.ietf-netmod-rfc7277bis]
Bjorklund, M., "A YANG Data Model for IP Management", Bjorklund, M., "A YANG Data Model for IP Management",
draft-ietf-netmod-rfc7277bis-03 (work in progress), draft-ietf-netmod-rfc7277bis-03 (work in progress),
January 2018. January 2018.
skipping to change at page 23, line 5 skipping to change at page 24, line 10
[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>.
[RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer
2 Virtual Private Networks (L2VPNs)", RFC 4664, 2 Virtual Private Networks (L2VPNs)", RFC 4664,
DOI 10.17487/RFC4664, September 2006, <https://www.rfc- DOI 10.17487/RFC4664, September 2006, <https://www.rfc-
editor.org/info/rfc4664>. editor.org/info/rfc4664>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<https://www.rfc-editor.org/info/rfc7223>.
[RFC7277] Bjorklund, M., "A YANG Data Model for IP Management",
RFC 7277, DOI 10.17487/RFC7277, June 2014,
<https://www.rfc-editor.org/info/rfc7277>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>. <https://www.rfc-editor.org/info/rfc7950>.
[RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing
Management", RFC 8022, DOI 10.17487/RFC8022, November
2016, <https://www.rfc-editor.org/info/rfc8022>.
Appendix A. Acknowledgments Appendix A. Acknowledgments
The Routing Area Yang Architecture design team members included Acee The Routing Area Yang Architecture design team members included Acee
Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Lou Berger, Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Lou Berger,
Qin Wu, Rob Shakir, Stephane Litkowski, and Yan Gang. Useful review Qin Wu, Rob Shakir, Stephane Litkowski, and Yan Gang. Useful review
comments were also received by Martin Bjorklund and John Scudder. comments were also received by Martin Bjorklund and John Scudder.
This document was motivated by, and derived from, This document was motivated by, and derived from,
[I-D.ietf-rtgwg-device-model]. [I-D.ietf-rtgwg-device-model].
Thanks for AD and IETF last call comments from Alia Atlas and Liang Thanks for AD and IETF last call comments from Alia Atlas, Liang Xia,
Xia. Benoit Claise, and Adam Roach.
The RFC text was produced using Marshall Rose's xml2rfc tool. The RFC text was produced using Marshall Rose's xml2rfc tool.
Appendix B. Example NI usage Appendix B. Example NI usage
The following subsections provide example uses of NIs. The following subsections provide example uses of NIs.
B.1. Configuration Data B.1. Configuration Data
The following shows an example where two customer specific network The following shows an example where two customer specific network
skipping to change at page 23, line 47 skipping to change at page 25, line 15
"name": "vrf-red", "name": "vrf-red",
"vrf-root": { "vrf-root": {
"ietf-routing:routing": { "ietf-routing:routing": {
"router-id": "192.0.2.1", "router-id": "192.0.2.1",
"control-plane-protocols": { "control-plane-protocols": {
"control-plane-protocol": [ "control-plane-protocol": [
{ {
"type": "ietf-routing:ospf", "type": "ietf-routing:ospf",
"name": "1", "name": "1",
"ietf-ospf:ospf": { "ietf-ospf:ospf": {
"instance": [ "af": "ipv4",
{ "areas": {
"af": "ipv4", "area": [
"areas": { {
"area": [ "area-id": "203.0.113.1",
{ "interfaces": {
"area-id": "203.0.113.1", "interface": [
"interfaces": { {
"interface": [ "name": "eth1",
{ "cost": 10
"name": "eth1",
"cost": 10
}
]
} }
} ]
] }
} }
} ]
] }
} }
} }
] ]
} }
} }
} }
}, },
{ {
"name": "vrf-blue", "name": "vrf-blue",
"vrf-root": { "vrf-root": {
"ietf-routing:routing": { "ietf-routing:routing": {
"router-id": "192.0.2.2", "router-id": "192.0.2.2",
"control-plane-protocols": { "control-plane-protocols": {
"control-plane-protocol": [ "control-plane-protocol": [
{ {
"type": "ietf-routing:ospf", "type": "ietf-routing:ospf",
"name": "1", "name": "1",
"ietf-ospf:ospf": { "ietf-ospf:ospf": {
"instance": [ "af": "ipv4",
{ "areas": {
"af": "ipv4", "area": [
"areas": { {
"area": [ "area-id": "203.0.113.1",
{ "interfaces": {
"area-id": "203.0.113.1", "interface": [
"interfaces": { {
"interface": [ "name": "eth2",
{ "cost": 10
"name": "eth2",
"cost": 10
}
]
} }
} ]
}
]
} }
} ]
] }
} }
} }
] ]
} }
} }
} }
} }
] ]
}, },
skipping to change at page 25, line 32 skipping to change at page 26, line 40
{ {
"name": "eth0", "name": "eth0",
"ip:ipv4": { "ip:ipv4": {
"address": [ "address": [
{ {
"ip": "192.0.2.10", "ip": "192.0.2.10",
"prefix-length": 24, "prefix-length": 24,
} }
] ]
} }
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::10",
"prefix-length": 64,
}
]
}
}, },
{ {
"name": "eth1", "name": "eth1",
"ip:ipv4": { "ip:ipv4": {
"address": [ "address": [
{ {
"ip": "192.0.2.11", "ip": "192.0.2.11",
"prefix-length": 24, "prefix-length": 24,
} }
] ]
}, },
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::11",
"prefix-length": 64,
}
]
},
"ni:bind-network-instance-name": "vrf-red" "ni:bind-network-instance-name": "vrf-red"
}, },
{ {
"name": "eth2", "name": "eth2",
"ip:ipv4": { "ip:ipv4": {
"address": [ "address": [
{ {
"ip": "192.0.2.11", "ip": "192.0.2.11",
"prefix-length": 24, "prefix-length": 24,
} }
]
},
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::11",
"prefix-length": 64,
}
] ]
}, },
"ni:bind-network-instance-name": "vrf-blue" "ni:bind-network-instance-name": "vrf-blue"
} }
] ]
} }
}, },
"ietf-system:system": { "ietf-system:system": {
"authentication": { "authentication": {
skipping to change at page 26, line 20 skipping to change at page 28, line 4
} }
}, },
"ietf-system:system": { "ietf-system:system": {
"authentication": { "authentication": {
"user": [ "user": [
{ {
"name": "john", "name": "john",
"password": "$0$password" "password": "$0$password"
} }
] ]
} }
} }
} }
B.2. State Data B.2. State Data - Non-NDMA Version
The following shows state data for the example above. The following shows state data for the configuration example above
based on [RFC7223], [RFC7277], and [RFC8022].
{ {
"ietf-network-instance:network-instances": { "ietf-network-instance:network-instances": {
"network-instance": [ "network-instance": [
{ {
"name": "vrf-red", "name": "vrf-red",
"vrf-root": { "vrf-root": {
"ietf-routing:routing-state": { "ietf-routing:routing-state": {
"router-id": "192.0.2.1", "router-id": "192.0.2.1",
"control-plane-protocols": { "control-plane-protocols": {
"control-plane-protocol": [ "control-plane-protocol": [
{ {
"type": "ietf-routing:ospf", "type": "ietf-routing:ospf",
"name": "1", "name": "1",
"ietf-ospf:ospf": { "ietf-ospf:ospf": {
"instance": [ "af": "ipv4",
{ "areas": {
"af": "ipv4", "area": [
"areas": { {
"area": [ "area-id": "203.0.113.1",
{ "interfaces": {
"area-id": "203.0.113.1", "interface": [
"interfaces": { {
"interface": [ "name": "eth1",
{ "cost": 10
"name": "eth1",
"cost": 10
}
]
} }
} ]
] }
} }
} ]
] }
} }
} }
] ]
} }
} }
} }
}, },
{ {
"name": "vrf-blue", "name": "vrf-blue",
"vrf-root": { "vrf-root": {
"ietf-routing:routing-state": { "ietf-routing:routing-state": {
"router-id": "192.0.2.2", "router-id": "192.0.2.2",
"control-plane-protocols": { "control-plane-protocols": {
"control-plane-protocol": [ "control-plane-protocol": [
{ {
"type": "ietf-routing:ospf", "type": "ietf-routing:ospf",
"name": "1", "name": "1",
"ietf-ospf:ospf": { "ietf-ospf:ospf": {
"instance": [ "af": "ipv4",
{ "areas": {
"af": "ipv4", "area": [
"areas": { {
"area": [ "area-id": "203.0.113.1",
{ "interfaces": {
"area-id": "203.0.113.1", "interface": [
"interfaces": { {
"interface": [ "name": "eth2",
{ "cost": 10
"name": "eth2",
"cost": 10
}
]
} }
} ]
] }
} }
} ]
] }
} }
} }
] ]
} }
} }
} }
} }
] ]
}, },
skipping to change at page 28, line 34 skipping to change at page 30, line 11
"discontinuity-time": "2017-06-26T12:34:56-05:00" "discontinuity-time": "2017-06-26T12:34:56-05:00"
}, },
"ip:ipv4": { "ip:ipv4": {
"address": [ "address": [
{ {
"ip": "192.0.2.10", "ip": "192.0.2.10",
"prefix-length": 24, "prefix-length": 24,
} }
] ]
} }
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::10",
"prefix-length": 64,
}
]
}
}, },
{ {
"name": "eth1", "name": "eth1",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"phys-address": "00:01:02:A1:B1:C1", "phys-address": "00:01:02:A1:B1:C1",
"statistics": { "statistics": {
"discontinuity-time": "2017-06-26T12:34:56-05:00" "discontinuity-time": "2017-06-26T12:34:56-05:00"
}, },
"ip:ipv4": { "ip:ipv4": {
"address": [ "address": [
{ {
"ip": "192.0.2.11", "ip": "192.0.2.11",
"prefix-length": 24, "prefix-length": 24,
} }
] ]
} }
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::11",
"prefix-length": 64,
}
]
}
}, },
{ {
"name": "eth2", "name": "eth2",
"type": "iana-if-type:ethernetCsmacd", "type": "iana-if-type:ethernetCsmacd",
"oper-status": "up", "oper-status": "up",
"phys-address": "00:01:02:A1:B1:C2", "phys-address": "00:01:02:A1:B1:C2",
"statistics": { "statistics": {
"discontinuity-time": "2017-06-26T12:34:56-05:00" "discontinuity-time": "2017-06-26T12:34:56-05:00"
}, },
"ip:ipv4": { "ip:ipv4": {
"address": [ "address": [
{ {
"ip": "192.0.2.11", "ip": "192.0.2.11",
"prefix-length": 24, "prefix-length": 24,
} }
] ]
} }
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::11",
"prefix-length": 64,
}
]
}
} }
] ]
} }
}, },
"ietf-system:system-state": { "ietf-system:system-state": {
"platform": { "platform": {
"os-name": "NetworkOS" "os-name": "NetworkOS"
} }
} }
skipping to change at page 30, line 19 skipping to change at page 32, line 21
}, },
{ {
"name": "ietf-ip", "name": "ietf-ip",
"revision": "2014-06-16", "revision": "2014-06-16",
"namespace": "namespace":
"urn:ietf:params:xml:ns:yang:ietf-ip", "urn:ietf:params:xml:ns:yang:ietf-ip",
"conformance-type": "implement" "conformance-type": "implement"
}, },
{ {
"name": "ietf-network-instance", "name": "ietf-network-instance",
"revision": "2017-03-13", "revision": "2018-02-03",
"feature": [ "feature": [
"bind-network-instance-name" "bind-network-instance-name"
], ],
"namespace": "namespace":
"urn:ietf:params:xml:ns:yang:ietf-network-instance", "urn:ietf:params:xml:ns:yang:ietf-network-instance",
"conformance-type": "implement" "conformance-type": "implement"
}, },
{ {
"name": "ietf-ospf", "name": "ietf-ospf",
"revision": "2017-03-12", "revision": "2017-03-12",
skipping to change at page 32, line 14 skipping to change at page 34, line 16
"namespace": "namespace":
"urn:ietf:params:xml:ns:yang:ietf-ospf", "urn:ietf:params:xml:ns:yang:ietf-ospf",
"conformance-type": "implement" "conformance-type": "implement"
} }
] ]
} }
] ]
} }
} }
B.3. State Data - NDMA Version
The following shows state data for the configuration example above
based on [I-D.ietf-netmod-rfc7223bis], [I-D.ietf-netmod-rfc7277bis],
and [I-D.ietf-netmod-rfc8022bis].
{
"ietf-network-instance:network-instances": {
"network-instance": [
{
"name": "vrf-red",
"vrf-root": {
"ietf-routing:routing": {
"router-id": "192.0.2.1",
"control-plane-protocols": {
"control-plane-protocol": [
{
"type": "ietf-routing:ospf",
"name": "1",
"ietf-ospf:ospf": {
"af": "ipv4",
"areas": {
"area": [
{
"area-id": "203.0.113.1",
"interfaces": {
"interface": [
{
"name": "eth1",
"cost": 10
}
]
}
}
]
}
}
}
]
}
}
}
},
{
"name": "vrf-blue",
"vrf-root": {
"ietf-routing:routing": {
"router-id": "192.0.2.2",
"control-plane-protocols": {
"control-plane-protocol": [
{
"type": "ietf-routing:ospf",
"name": "1",
"ietf-ospf:ospf": {
"areas": {
"area": [
{
"area-id": "203.0.113.1",
"interfaces": {
"interface": [
{
"name": "eth2",
"cost": 10
}
]
}
}
]
}
}
}
]
}
}
}
}
]
},
"ietf-interfaces:interfaces": {
"interfaces": {
"interface": [
{
"name": "eth0",
"type": "iana-if-type:ethernetCsmacd",
"oper-status": "up",
"phys-address": "00:01:02:A1:B1:C0",
"statistics": {
"discontinuity-time": "2017-06-26T12:34:56-05:00"
},
"ip:ipv4": {
"address": [
{
"ip": "192.0.2.10",
"prefix-length": 24,
}
]
}
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::10",
"prefix-length": 64,
}
]
}
},
{
"name": "eth1",
"type": "iana-if-type:ethernetCsmacd",
"oper-status": "up",
"phys-address": "00:01:02:A1:B1:C1",
"statistics": {
"discontinuity-time": "2017-06-26T12:34:56-05:00"
},
"ip:ipv4": {
"address": [
{
"ip": "192.0.2.11",
"prefix-length": 24,
}
]
}
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::11",
"prefix-length": 64,
}
]
}
},
{
"name": "eth2",
"type": "iana-if-type:ethernetCsmacd",
"oper-status": "up",
"phys-address": "00:01:02:A1:B1:C2",
"statistics": {
"discontinuity-time": "2017-06-26T12:34:56-05:00"
},
"ip:ipv4": {
"address": [
{
"ip": "192.0.2.11",
"prefix-length": 24,
}
]
}
"ip:ipv6": {
"address": [
{
"ip": "2001:db8:0:2::11",
"prefix-length": 64,
}
]
}
}
]
}
},
"ietf-system:system-state": {
"platform": {
"os-name": "NetworkOS"
}
}
"ietf-yang-library:modules-state": {
"module-set-id": "123e4567-e89b-12d3-a456-426655440000",
"module": [
{
"name": "iana-if-type",
"revision": "2014-05-08",
"namespace":
"urn:ietf:params:xml:ns:yang:iana-if-type",
"conformance-type": "import"
},
{
"name": "ietf-inet-types",
"revision": "2013-07-15",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-inet-types",
"conformance-type": "import"
},
{
"name": "ietf-interfaces",
"revision": "2018-01-09",
"feature": [
"arbitrary-names",
"pre-provisioning"
],
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-interfaces",
"conformance-type": "implement"
},
{
"name": "ietf-ip",
"revision": "2018-01-09",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-ip",
"conformance-type": "implement"
},
{
"name": "ietf-network-instance",
"revision": "2018-02-03",
"feature": [
"bind-network-instance-name"
],
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-network-instance",
"conformance-type": "implement"
},
{
"name": "ietf-ospf",
"revision": "2017-10-30",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-ospf",
"conformance-type": "implement"
},
{
"name": "ietf-routing",
"revision": "2018-01-25",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-routing",
"conformance-type": "implement"
},
{
"name": "ietf-system",
"revision": "2014-08-06",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-system",
"conformance-type": "implement"
},
{
"name": "ietf-yang-library",
"revision": "2016-06-21",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-yang-library",
"conformance-type": "implement"
},
{
"name": "ietf-yang-schema-mount",
"revision": "2017-05-16",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount",
"conformance-type": "implement"
},
{
"name": "ietf-yang-types",
"revision": "2013-07-15",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-yang-types",
"conformance-type": "import"
}
]
},
"ietf-yang-schema-mount:schema-mounts": {
"mount-point": [
{
"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": "2018-01-25",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-routing",
"conformance-type": "implement"
},
{
"name": "ietf-ospf",
"revision": "2017-10-30",
"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
Christan Hopps Christan Hopps
Deutsche Telekom Deutsche Telekom
 End of changes. 38 change blocks. 
101 lines changed or deleted 478 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/