< draft-ietf-rtgwg-lne-model-04.txt   draft-ietf-rtgwg-lne-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 Logical Network Elements YANG Logical Network Elements
draft-ietf-rtgwg-lne-model-04 draft-ietf-rtgwg-lne-model-05
Abstract Abstract
This document defines a logical network element module. This module This document defines a logical network element module. This module
can be used to manage the logical resource partitioning that may be can be used to manage the logical resource partitioning that may be
present on a network device. Examples of common industry terms for present on a network device. Examples of common industry terms for
logical resource partitioning are Logical Systems or Logical Routers. logical resource partitioning are Logical Systems or Logical Routers.
Status of This Memo Status of This Memo
skipping to change at page 1, line 40 skipping to change at page 1, line 40
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 31 skipping to change at page 2, line 31
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
6. Logical Network Element Model . . . . . . . . . . . . . . . . 9 6. Logical Network Element Model . . . . . . . . . . . . . . . . 9
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.1. Normative References . . . . . . . . . . . . . . . . . . 13 7.1. Normative References . . . . . . . . . . . . . . . . . . 13
7.2. Informative References . . . . . . . . . . . . . . . . . 14 7.2. Informative References . . . . . . . . . . . . . . . . . 14
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 14 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 14
Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 15 Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 15
B.1. Example: Host Device Managed LNE . . . . . . . . . . . . 15 B.1. Example: Host Device Managed LNE . . . . . . . . . . . . 15
B.1.1. Configuration Data . . . . . . . . . . . . . . . . . 19 B.1.1. Configuration Data . . . . . . . . . . . . . . . . . 19
B.1.2. State Data . . . . . . . . . . . . . . . . . . . . . 23 B.1.2. State Data . . . . . . . . . . . . . . . . . . . . . 23
B.2. Example: Self Managed LNE . . . . . . . . . . . . . . . . 32 B.2. Example: Self Managed LNE . . . . . . . . . . . . . . . . 33
B.2.1. Configuration Data . . . . . . . . . . . . . . . . . 35 B.2.1. Configuration Data . . . . . . . . . . . . . . . . . 36
B.2.2. State Data . . . . . . . . . . . . . . . . . . . . . 38 B.2.2. State Data . . . . . . . . . . . . . . . . . . . . . 39
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 47 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 48
1. Introduction 1. Introduction
This document defines a YANG [RFC6020] module to support the creation This document defines a YANG [RFC6020] module to support the creation
of logical network elements on a network device. A logical network of logical network elements on a network device. A logical network
element (LNE) is an independently managed virtual device made up of element (LNE) is an independently managed virtual device made up of
resources allocated to it from the host or parent network device. An resources allocated to it from the host or parent network device. An
LNE running on a host network device conceptually parallels a virtual LNE running on a host network device conceptually parallels a virtual
machine running on a host system. Using host-virtualization machine running on a host system. Using host-virtualization
terminology one could refer to an LNE as a "Guest", and the terminology one could refer to an LNE as a "Guest", and the
skipping to change at page 9, line 47 skipping to change at page 9, line 47
name: ietf-logical-network-element name: ietf-logical-network-element
namespace: urn:ietf:params:xml:ns:yang:ietf-logical-network-element namespace: urn:ietf:params:xml:ns:yang:ietf-logical-network-element
prefix: lne prefix: lne
reference: RFC XXXX reference: RFC XXXX
6. Logical Network Element Model 6. Logical Network Element 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-logical-network-element@2017-09-27.yang" <CODE BEGINS> file "ietf-logical-network-element@2017-12-04.yang"
module ietf-logical-network-element { module ietf-logical-network-element {
yang-version 1.1; yang-version 1.1;
// namespace // namespace
namespace "urn:ietf:params:xml:ns:yang:ietf-logical-network-element"; namespace "urn:ietf:params:xml:ns:yang:ietf-logical-network-element";
prefix lne; prefix lne;
// import some basic types // import some basic types
import ietf-interfaces { import ietf-interfaces {
skipping to change at page 11, line 7 skipping to change at page 11, line 7
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 logical-network-elements { container logical-network-elements {
description description
"Allows a network device to support multiple logical "Allows a network device to support multiple logical
skipping to change at page 11, line 48 skipping to change at page 11, line 48
type string; type string;
description description
"Description of the logical network element."; "Description of the logical network element.";
} }
container "root" { container "root" {
description description
"Container for mount point."; "Container for mount point.";
yangmnt:mount-point "root" { yangmnt:mount-point "root" {
description description
"Root for models supported per logical "Root for models supported per logical
network element. This mount point will network element. This mount point may or may not
may or may not be inline based on the server be inline based on the server implementation. It
implementation. It SHALL always contain a YANG SHALL always contain a YANG library and interfaces
library and interfaces instance. instance.
When the associated 'managed' leaf is 'false' any When the associated 'managed' leaf is 'false' any
operation that attempts to access information below operation that attempts to access information below
the root SHALL fail with an error-tag of the root SHALL fail with an error-tag of
'access-denied' and an error-app-tag of 'access-denied' and an error-app-tag of
'lne-not-managed'."; 'lne-not-managed'.";
} }
} }
} }
} }
skipping to change at page 13, line 31 skipping to change at page 13, line 31
} }
} }
<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.
[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 14, line 9 skipping to change at page 14, line 9
<https://www.rfc-editor.org/info/rfc6020>. <https://www.rfc-editor.org/info/rfc6020>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface [RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<https://www.rfc-editor.org/info/rfc7223>. <https://www.rfc-editor.org/info/rfc7223>.
7.2. Informative References 7.2. Informative References
[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.
[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-ni-model] [I-D.ietf-rtgwg-ni-model]
Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X.
Liu, "YANG Network Instances", draft-ietf-rtgwg-ni- Liu, "YANG Network Instances", draft-ietf-rtgwg-ni-
model-03 (work in progress), July 2017. model-04 (work in progress), September 2017.
[RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for [RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for
System Management", RFC 7317, DOI 10.17487/RFC7317, August System Management", RFC 7317, DOI 10.17487/RFC7317, August
2014, <https://www.rfc-editor.org/info/rfc7317>. 2014, <https://www.rfc-editor.org/info/rfc7317>.
[RFC7895] Bierman, A., Bjorklund, M., and K. Watsen, "YANG Module [RFC7895] Bierman, A., Bjorklund, M., and K. Watsen, "YANG Module
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>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
skipping to change at page 17, line 18 skipping to change at page 17, line 18
| +--ro os-name? string | +--ro os-name? string
| +--ro os-release? string | +--ro os-release? string
To realize the above schema, the example device implements the To realize the above schema, the example device implements the
following schema mount instance: following schema mount instance:
"ietf-yang-schema-mount:schema-mounts": { "ietf-yang-schema-mount:schema-mounts": {
"mount-point": [ "mount-point": [
{ {
"module": "ietf-logical-network-element", "module": "ietf-logical-network-element",
"name": "root", "label": "root",
"use-schema": [ "use-schema": [
{ {
"name": "lne-schema" "name": "lne-schema"
} }
] ]
} }
], ],
"schema": [ "schema": [
{ {
"name": "lne-schema", "name": "lne-schema",
skipping to change at page 30, line 25 skipping to change at page 30, line 25
"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"
} }
} }
] ]
} }
}, },
"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 32, line 19 skipping to change at page 32, line 25
{ {
"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-logical-network-element",
"label": "root",
"use-schema": [
{
"name": "lne-schema"
}
]
}
],
"schema": [
{
"name": "lne-schema",
"module": [
{
"name": "ietf-yang-library",
"revision": "2016-06-21",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-yang-library",
"conformance-type": "implement"
},
{
"name": "ietf-system",
"revision": "2014-08-06",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-system",
"conformance-type": "implement"
},
{
"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"
},
{
"name": "ietf-interfaces",
"revision": "2014-05-08",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-interfaces",
"conformance-type": "implement"
},
{
"name": "ietf-ip",
"revision": "2014-06-16",
"namespace":
"urn:ietf:params:xml:ns:yang:ietf-ip",
"conformance-type": "implement"
}
]
}
]
} }
} }
B.2. Example: Self Managed LNE B.2. Example: Self Managed LNE
This section describes an example of the LNE model using schema mount This section describes an example of the LNE model using schema mount
to achieve child independent management. An example device supports to achieve child independent management. An example device supports
multiple instances of LNEs (logical routers), each of them has the multiple instances of LNEs (logical routers), each of them has the
features of layer 2 and layer 3 interfaces [RFC7223], routing features of layer 2 and layer 3 interfaces [RFC7223], routing
information base [RFC8022], and the OSPF protocol. Each of these information base [RFC8022], and the OSPF protocol. Each of these
skipping to change at page 34, line 9 skipping to change at page 35, line 9
| +--ro os-name? string | +--ro os-name? string
| +--ro os-release? string | +--ro os-release? string
To realize the above schema, the device implements the following To realize the above schema, the device implements the following
schema mount instance: schema mount instance:
"ietf-yang-schema-mount:schema-mounts": { "ietf-yang-schema-mount:schema-mounts": {
"mount-point": [ "mount-point": [
{ {
"module": "ietf-logical-network-element", "module": "ietf-logical-network-element",
"name": "root", "label": "root",
"inline": [null] "inline": [null]
} }
] ]
} }
By using the implementation of the YANG schema mount, an operator can By using the implementation of the YANG schema mount, an operator can
create instances of logical routers, each with their logical router create instances of logical routers, each with their logical router
specific in-line modules. An interface can be assigned to a logical specific in-line modules. An interface can be assigned to a logical
router, so that the logical router has the permission to access this router, so that the logical router has the permission to access this
interface. The OSPF protocol can then be enabled on this assigned interface. The OSPF protocol can then be enabled on this assigned
skipping to change at page 39, line 46 skipping to change at page 40, line 46
"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"
} }
} }
] ]
} }
}, },
"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 41, line 26 skipping to change at page 42, line 32
{ {
"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-logical-network-element",
"label": "root",
"inline": [null]
}
]
} }
} }
B.2.2.2. Logical Network Element 'vnf1' B.2.2.2. Logical Network Element 'vnf1'
The following shows state data for the example LNE with name "vnf1": The following shows state data for the example LNE with name "vnf1":
{ {
"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",
 End of changes. 17 change blocks. 
28 lines changed or deleted 102 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/