draft-ietf-i2rs-yang-dc-fabric-network-topology-00.txt   draft-ietf-i2rs-yang-dc-fabric-network-topology-01.txt 
I2RS Working Group Y. Zhuang I2RS Working Group Y. Zhuang
Internet-Draft D. Shi Internet-Draft D. Shi
Intended status: Standards Track Huawei Intended status: Standards Track Huawei
Expires: February 24, 2018 R. Gu Expires: May 26, 2018 R. Gu
China Mobile China Mobile
H. Ananthakrishnan H. Ananthakrishnan
Packet Design Packet Design
August 23, 2017 November 22, 2017
A YANG Data Model for Fabric Topology in Data Center Network A YANG Data Model for Fabric Topology in Data Center Network
draft-ietf-i2rs-yang-dc-fabric-network-topology-00 draft-ietf-i2rs-yang-dc-fabric-network-topology-01
Abstract Abstract
This document defines a YANG data model for fabric topology in Data This document defines a YANG data model for fabric topology in Data
Center Network. Center Network.
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 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 February 24, 2018. This Internet-Draft will expire on May 26, 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 (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
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
skipping to change at page 2, line 22 skipping to change at page 2, line 22
2.2. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 4
3. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 4 3. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Topology Model structure . . . . . . . . . . . . . . . . 4 3.1. Topology Model structure . . . . . . . . . . . . . . . . 4
3.2. Fabric Topology Model . . . . . . . . . . . . . . . . . . 5 3.2. Fabric Topology Model . . . . . . . . . . . . . . . . . . 5
3.2.1. Fabric Topology . . . . . . . . . . . . . . . . . . . 5 3.2.1. Fabric Topology . . . . . . . . . . . . . . . . . . . 5
3.2.2. Fabric node extension . . . . . . . . . . . . . . . . 6 3.2.2. Fabric node extension . . . . . . . . . . . . . . . . 6
3.2.3. Fabric termination-point extension . . . . . . . . . 7 3.2.3. Fabric termination-point extension . . . . . . . . . 7
4. Fabric YANG Module . . . . . . . . . . . . . . . . . . . . . 8 4. Fabric YANG Module . . . . . . . . . . . . . . . . . . . . . 8
5. Security Consideration . . . . . . . . . . . . . . . . . . . 21 5. Security Consideration . . . . . . . . . . . . . . . . . . . 21
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.1. Normative References . . . . . . . . . . . . . . . . . . 21 7.1. Normative References . . . . . . . . . . . . . . . . . . 22
7.2. Informative References . . . . . . . . . . . . . . . . . 22 7.2. Informative References . . . . . . . . . . . . . . . . . 22
Appendix A. Non NMDA -state modules . . . . . . . . . . . . . . 22 Appendix A. Non NMDA -state modules . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28
1. Introduction 1. Introduction
Normally, a data center network is composed of single or multiple Normally, a data center network is composed of single or multiple
fabrics which are also known as PODs (a Point Of Delivery). These fabrics which are also known as PODs (a Point Of Delivery). These
fabrics may be heterogeneous due to implementation of different fabrics may be heterogeneous due to implementation of different
technologies while DC network upgrading or enrolling new techniques technologies while DC network upgrading or enrolling new techniques
and features. For example, Fabric A may use VXLAN while Fabric B may and features. For example, Fabric A may use VXLAN while Fabric B may
use VLAN within a DC network. Likewise, a legacy Fabric may use use VLAN within a DC network. Likewise, a legacy Fabric may use
VXLAN while a new Fabric B implemented technique discussed in NVO3 WG VXLAN while a new Fabric B implemented technique discussed in NVO3 WG
skipping to change at page 14, line 50 skipping to change at page 14, line 50
description "fabric acl list"; description "fabric acl list";
leaf fabric-acl-name { leaf fabric-acl-name {
type string; type string;
description "acl name"; description "acl name";
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
<CODE BEGINS> file "ietf-fabric-topology@2017-03-10.yang" <CODE BEGINS> file "ietf-fabric-topology@2017-11-21.yang"
module ietf-fabric-topology { module ietf-fabric-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-fabric-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-fabric-topology";
prefix fabric; prefix fabric;
import ietf-network { prefix nw; } import ietf-network { prefix nw; }
import ietf-network-topology { prefix nt; } import ietf-network-topology { prefix nt; }
import ietf-fabric-types { prefix fabrictype; revision-date "2016-09-29"; } import ietf-fabric-types { prefix fabrictype; revision-date "2016-09-29"; }
organization organization
skipping to change at page 15, line 48 skipping to change at page 15, line 48
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of This version of this YANG module is part of
draft-zhuang-i2rs-yang-dc-fabric-network-topology; draft-zhuang-i2rs-yang-dc-fabric-network-topology;
see the RFC itself for full legal notices."; see the RFC itself for full legal notices.";
revision "2017-11-21"{
description
"fix warnings.";
reference
"draft-ietf-i2rs-yang-dc-fabric-network-topology-01";
}
revision "2017-06-29"{
description
"update to NMDA compliant format";
reference
"draft-zhuang-i2rs-yang-dc-fabric-network-topology-04";
}
revision "2017-03-10" { revision "2017-03-10" {
description description
"remove the rpcs and add extra attributes"; "remove the rpcs and add extra attributes";
reference reference
"draft-zhuang-i2rs-yang-dc-fabric-network-topology-03"; "draft-zhuang-i2rs-yang-dc-fabric-network-topology-03";
} }
revision "2016-09-29" { revision "2016-09-29" {
description description
"Initial revision of fabric topology."; "Initial revision of fabric topology.";
reference reference
"draft-zhuang-i2rs-yang-dc-fabric-network-topology-02"; "draft-zhuang-i2rs-yang-dc-fabric-network-topology-02";
} }
skipping to change at page 20, line 28 skipping to change at page 20, line 44
// augment statements // augment statements
augment "/nw:networks/nw:network/nw:network-types" { augment "/nw:networks/nw:network/nw:network-types" {
description description
"Introduce new network type for Fabric-based logical topology"; "Introduce new network type for Fabric-based logical topology";
uses fabric-network-type; uses fabric-network-type;
} }
augment "/nw:networks/nw:network/nw:node" { augment "/nw:networks/nw:network/nw:node" {
when "/nw:networks/nw:network/nw:network-types/fabric-network" { when "/nw:networks/nw:network/nw:network-types/fabric:fabric-network" {
description description
"Augmentation parameters apply only for networks "Augmentation parameters apply only for networks
with fabric topology"; with fabric topology";
} }
description "Augmentation for fabric nodes created by faas."; description "Augmentation for fabric nodes created by faas.";
container fabric-attribute { container fabric-attribute {
description description
"attributes for a fabric network"; "attributes for a fabric network";
uses fabric-attributes; uses fabric-attributes;
} }
} }
augment "/nw:networks/nw:network/nw:node/nt:termination-point" { augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
when "/nw:networks/nw:network/nw:network-types/fabric-network" { when "/nw:networks/nw:network/nw:network-types/fabric:fabric-network" {
description description
"Augmentation parameters apply only for networks "Augmentation parameters apply only for networks
with fabric topology"; with fabric topology";
} }
description "Augmentation for port on fabric."; description "Augmentation for port on fabric.";
container fport-attribute { container fport-attribute {
config false; config false;
description description
"attributes for fabric ports"; "attributes for fabric ports";
uses fabrictype:fabric-port; uses fabrictype:fabric-port;
} }
} }
} }
<CODE ENDS> <CODE ENDS>
5. Security Consideration 5. Security Consideration
TBD The underlay topology is learnt from the physical network, while the
fabric topology is composed of a collection of the underlay
nodes. The fabric model doesn't change the connections of underlay
networks. While there are data nodes for fabric configuration, these
data nodes may be considered sensitive or vulnerable in some network
enviroments. Write operations (e.g., edit-config) to these data
nodes without proper protection can have a negative effect on network
operations. For example, misconfiguration of underlay nodes to a
fabric node may lead to inproper activities when management are
implemented at fabric layer by customers.
6. Acknowledgements 6. Acknowledgements
We wish to acknowledge the helpful contributions, comments, and
suggestions that were received from Alexander Clemm, Xufeng Liu,
Susan Hares, Wei Song, Luis M. Contreras and Benoit Claise.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.draft-ietf-i2rs-yang-l3-topology] [I-D.draft-ietf-i2rs-yang-l3-topology]
Clemm, A., Medved, J., Tkacik, T., Liu, X., Bryskin, I., Clemm, A., Medved, J., Tkacik, T., Liu, X., Bryskin, I.,
Guo, A., Ananthakrishnan, H., Bahadur, N., and V. Beeram, Guo, A., Ananthakrishnan, H., Bahadur, N., and V. Beeram,
"A YANG Data Model for Layer 3 Topologies", I-D draft- "A YANG Data Model for Layer 3 Topologies", I-D draft-
ietf-i2rs-yang-l3-topology-04, September 2016. ietf-i2rs-yang-l3-topology-04, September 2016.
skipping to change at page 22, line 17 skipping to change at page 22, line 50
7.2. Informative References 7.2. Informative References
[I-D.draft-ietf-i2rs-usecase-reqs-summary] [I-D.draft-ietf-i2rs-usecase-reqs-summary]
Hares, S. and M. Chen, "Summary of I2RS Use Case Hares, S. and M. Chen, "Summary of I2RS Use Case
Requirements", I-D draft-ietf-i2rs-usecase-reqs-summary- Requirements", I-D draft-ietf-i2rs-usecase-reqs-summary-
01, May 2015. 01, May 2015.
Appendix A. Non NMDA -state modules Appendix A. Non NMDA -state modules
<CODE BEGINS> file "ietf-fabric-topology-state@2017-06-29.yang" <CODE BEGINS> file "ietf-fabric-topology-state@2017-11-21.yang"
module ietf-fabric-topology-state { module ietf-fabric-topology-state {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-fabric-topology-state"; namespace "urn:ietf:params:xml:ns:yang:ietf-fabric-topology-state";
prefix sfabric; prefix sfabric;
import ietf-network { prefix nw; } import ietf-network-state { prefix nws; }
import ietf-fabric-types { prefix fabrictype; revision-date "2016-09-29"; } import ietf-fabric-types { prefix fabrictype; revision-date "2016-09-29"; }
import ietf-fabric-topology {prefix fp;} import ietf-fabric-topology {prefix fabric;}
organization organization
"IETF I2RS (Interface to the Routing System) Working Group"; "IETF I2RS (Interface to the Routing System) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/i2rs/ > "WG Web: <http://tools.ietf.org/wg/i2rs/ >
WG List: <mailto:i2rs@ietf.org> WG List: <mailto:i2rs@ietf.org>
WG Chair: Susan Hares WG Chair: Susan Hares
<mailto:shares@ndzh.com> <mailto:shares@ndzh.com>
skipping to change at page 23, line 16 skipping to change at page 23, line 48
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of This version of this YANG module is part of
draft-zhuang-i2rs-yang-dc-fabric-network-topology; draft-zhuang-i2rs-yang-dc-fabric-network-topology;
see the RFC itself for full legal notices."; see the RFC itself for full legal notices.";
revision "2017-11-21"{
description
"fix warnings.";
reference
"draft-ietf-i2rs-yang-dc-fabric-network-topology-01";
}
revision "2017-06-29"{ revision "2017-06-29"{
description description
"update to NMDA compliant format"; "update to NMDA compliant format";
reference reference
"draft-zhuang-i2rs-yang-dc-fabric-network-topology-04"; "draft-zhuang-i2rs-yang-dc-fabric-network-topology-04";
} }
//grouping statements //grouping statements
grouping fabric-network-type { grouping fabric-network-type {
description "Identify the topology type to be fabric."; description "Identify the topology type to be fabric.";
skipping to change at page 25, line 49 skipping to change at page 26, line 42
} }
description description
"bandwidth on the port"; "bandwidth on the port";
} }
} }
grouping fabric-attributes { grouping fabric-attributes {
description "attributes of a fabric"; description "attributes of a fabric";
leaf fabric-id { leaf fabric-id {
type fp:fabric-id; type fabric:fabric-id;
description description
"fabric id"; "fabric id";
} }
leaf name { leaf name {
type string; type string;
description description
"name of the fabric"; "name of the fabric";
} }
leaf type { leaf type {
type fabrictype:underlayer-network-type; type fabrictype:underlayer-network-type;
description description
"The type of physical network that implements this fabric.Examples are vlan, and trill."; "The type of physical network that implements this fabric.Examples are vlan, and trill.";
} }
container vni-capacity { container vni-capacity {
description "number of vnis the fabric has"; description "number of vnis the fabric has";
leaf min { leaf min {
type int32; type int32;
skipping to change at page 27, line 12 skipping to change at page 28, line 4
list device-links { list device-links {
key link-ref; key link-ref;
description "include device links within the fabric"; description "include device links within the fabric";
uses link-attributes; uses link-attributes;
} }
list device-ports { list device-ports {
key port-ref; key port-ref;
description "include device ports within the fabric"; description "include device ports within the fabric";
uses port-attributes; uses port-attributes;
} }
} }
// augment statements // augment statements
augment "/nw:networks/nw:network/nw:network-types" { augment "/nws:networks/nws:network/nws:network-types" {
description description
"Introduce new network type for Fabric-based logical topology"; "Introduce new network type for Fabric-based logical topology";
uses fabric-network-type; uses fabric-network-type;
} }
augment "/nw:networks/nw:network/nw:node" { augment "/nws:networks/nws:network/nws:node" {
when "/nw:networks/nw:network/nw:network-types/fabric-network" { when "/nws:networks/nws:network/nws:network-types/sfabric:fabric-network" {
description description
"Augmentation parameters apply only for networks "Augmentation parameters apply only for networks
with fabric topology."; with fabric topology.";
} }
description "Augmentation for fabric nodes."; description "Augmentation for fabric nodes.";
container fabric-attribute-state { container fabric-attribute-state {
config false; config false;
description description
"attributes for a fabric network"; "attributes for a fabric network";
 End of changes. 25 change blocks. 
23 lines changed or deleted 56 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/