ietf-dc-fabric-topology-state@2019-02-25.yang   ietf-dc-fabric-topology-state@2019-02-25.yang-formatted 
module ietf-dc-fabric-topology-state { module ietf-dc-fabric-topology-state {
yang-version 1.1;
yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-dc-fabric-topology-state";
namespace prefix sfabric;
"urn:ietf:params:xml:ns:yang:ietf-dc-fabric-topology-state";
prefix sfabric;
import ietf-network-state {
prefix nws;
reference
"RFC 8345: A Data Model for Network Topologies";
}
import ietf-dc-fabric-types {
prefix fabrictypes;
reference import ietf-network-state {
"RFC 8542: A YANG Data Model for Fabric Topology in prefix nws;
Data Center Networks"; reference
} "RFC 8345: A Data Model for Network Topologies";
}
import ietf-dc-fabric-types {
prefix fabrictypes;
reference
"RFC 8542: A YANG Data Model for Fabric Topology in
Data Center Networks";
}
organization organization
"IETF I2RS (Interface to the Routing System) Working Group"; "IETF I2RS (Interface to the Routing System) Working Group";
contact
contact
"WG Web: <https://datatracker.ietf.org/wg/i2rs/> "WG Web: <https://datatracker.ietf.org/wg/i2rs/>
WG List: <mailto:i2rs@ietf.org> WG List: <mailto:i2rs@ietf.org>
Editor: Yan Zhuang Editor: Yan Zhuang
<mailto:zhuangyan.zhuang@huawei.com> <mailto:zhuangyan.zhuang@huawei.com>
Editor: Danian Shi Editor: Danian Shi
<mailto:shidanian@huawei.com>"; <mailto:shidanian@huawei.com>";
description
"This module contains a collection of YANG definitions for
fabric state, representing topology that either is learned
or results from applying topology that has been
configured per the ietf-dc-fabric-topology model, mirroring
the corresponding data nodes in this model.
description This model mirrors the configuration tree of ietf-dc-fabric
"This module contains a collection of YANG definitions for -topology but contains only read-only state data. The model
fabric state, representing topology that either is learned is not needed when the implementation infrastructure supports
or results from applying topology that has been the Network Management Datastore Architecture (NMDA).
configured per the ietf-dc-fabric-topology model, mirroring
the corresponding data nodes in this model.
This model mirrors the configuration tree of ietf-dc-fabric Copyright (c) 2019 IETF Trust and the persons identified as
-topology but contains only read-only state data. The model authors of the code. All rights reserved.
is not needed when the implementation infrastructure supports
the Network Management Datastore Architecture (NMDA).
Copyright (c) 2019 IETF Trust and the persons identified as Redistribution and use in source and binary forms, with or
authors of the code. All rights reserved. without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info).
Redistribution and use in source and binary forms, with or This version of this YANG module is part of RFC 8542;
without modification, is permitted pursuant to, and subject see the RFC itself for full legal notices.";
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 8542; revision 2019-02-25 {
see the RFC itself for full legal notices."; description
"Initial revision.";
reference
"RFC 8542: A YANG Data Model for Fabric Topology in
Data Center Networks";
}
revision "2019-02-25"{ //grouping statements
description
"Initial revision.";
reference
"RFC 8542: A YANG Data Model for Fabric Topology in
Data Center Networks";
}
//grouping statements grouping fabric-network-type {
grouping fabric-network-type { description
description "Identify the topology type to be fabric."; "Identify the topology type to be fabric.";
container fabric-network { container fabric-network {
presence "indicates fabric Network"; presence "indicates fabric Network";
description description
"The presence of the container node indicates "The presence of the container node indicates
fabric topology"; fabric topology";
}
} }
}
grouping fabric-options { grouping fabric-options {
description "Options for a fabric"; description
"Options for a fabric";
leaf gateway-mode { leaf gateway-mode {
type enumeration { type enumeration {
enum centralized { enum centralized {
description "The fabric uses centralized description
gateway, in which gateway is deployed on SPINE "The fabric uses centralized
node."; gateway, in which gateway is deployed on SPINE
} node.";
enum distributed {
description "The fabric uses distributed
gateway, in which gateway is deployed on LEAF
node.";
}
}
default "distributed";
description "Gateway mode of the fabric";
}
leaf traffic-behavior {
type enumeration {
enum normal {
description "Normal means no policy is needed
for all traffic";
}
enum policy-driven {
description "Policy driven means policy is
needed for the traffic; otherwise, the traffic
will be discarded.";
}
}
default "normal";
description "Traffic behavior of the fabric";
} }
enum distributed {
leaf-list capability-supported { description
type fabrictypes:service-capabilities; "The fabric uses distributed
description gateway, in which gateway is deployed on LEAF
"It provides a list of supported services of the node.";
fabric. The service-capabilities is defined as
identity-ref. Users can define more services
by defining new identities.";
} }
}
default "distributed";
description
"Gateway mode of the fabric";
} }
leaf traffic-behavior {
grouping device-attributes { type enumeration {
description "device attributes"; enum normal {
leaf device-ref { description
type fabrictypes:node-ref; "Normal means no policy is needed
description for all traffic";
"The device that the fabric includes that refers
to a node in another topology.";
} }
leaf-list role { enum policy-driven {
type fabrictypes:device-role; description
default fabrictypes:leaf; "Policy driven means policy is
description needed for the traffic; otherwise, the traffic
"It is a list of device-roles to represent the roles will be discarded.";
that a device plays within a POD, such as SPINE,
LEAF, Border, or Border-Leaf.
The device-role is defined as identity-ref. If more
than 2 stages are used for a POD, users can
define new identities for the device-role.";
} }
}
default "normal";
description
"Traffic behavior of the fabric";
} }
leaf-list capability-supported {
grouping link-attributes { type fabrictypes:service-capabilities;
description "Link attributes"; description
leaf link-ref { "It provides a list of supported services of the
type fabrictypes:link-ref; fabric. The service-capabilities is defined as
description identity-ref. Users can define more services
"The link that the fabric includes that refers to by defining new identities.";
a link in another topology.";
}
} }
}
grouping port-attributes { grouping device-attributes {
description "Port attributes"; description
leaf port-ref { "device attributes";
type fabrictypes:tp-ref; leaf device-ref {
description type fabrictypes:node-ref;
"The port that the fabric includes that refers to description
a termination-point in another topology."; "The device that the fabric includes that refers
} to a node in another topology.";
leaf port-type {
type fabrictypes:port-type;
description
"Port type is defined as identity-ref. If current
types include ethernet or serial. If more types
are needed, developers can define new identities.";
}
leaf bandwidth {
type fabrictypes:bandwidth;
description
"Bandwidth of the port. It is defined as
identity-ref. If more speeds are introduced,
developers can define new identities for them. Current
speeds include 1M, 10M, 100M, 1G, 10G,
25G, 40G, 100G, and 400G.";
}
} }
leaf-list role {
grouping fabric-attributes { type fabrictypes:device-role;
description "Attributes of a fabric"; default "fabrictypes:leaf";
description
leaf fabric-id { "It is a list of device-roles to represent the roles
type fabrictypes:fabric-id; that a device plays within a POD, such as SPINE,
description LEAF, Border, or Border-Leaf.
"Fabric ID"; The device-role is defined as identity-ref. If more
} than 2 stages are used for a POD, users can
define new identities for the device-role.";
leaf name {
type string;
description
"Name of the fabric";
}
leaf type {
type fabrictypes:underlay-network-type;
description
"The type of physical network that implements this
fabric. Examples are VLAN and TRILL.";
}
container vni-capacity {
description "The range of the VXLAN Network
Identifier (VNI) defined in RFC 7348 that the POD uses.";
leaf min {
type int32;
description
"The lower-limit VNI.";
}
leaf max {
type int32;
description
"The upper-limit VNI.";
}
}
leaf description {
type string;
description
"Description of the fabric";
}
container options {
description "Options of the fabric";
uses fabric-options;
}
list device-nodes {
key device-ref;
description "Device nodes that are included in a fabric.";
uses device-attributes;
}
list device-links {
key link-ref;
description "Links that are included within a fabric.";
uses link-attributes;
}
list device-ports {
key port-ref;
description "Ports that are included in the fabric.";
uses port-attributes;
}
} }
}
// augment statements grouping link-attributes {
description
"Link attributes";
leaf link-ref {
type fabrictypes:link-ref;
description
"The link that the fabric includes that refers to
a link in another topology.";
}
}
augment "/nws:networks/nws:network/nws:network-types" { grouping port-attributes {
description
"Port attributes";
leaf port-ref {
type fabrictypes:tp-ref;
description description
"Introduce a new network type for fabric-based logical "The port that the fabric includes that refers to
topology"; a termination-point in another topology.";
uses fabric-network-type;
} }
leaf port-type {
type fabrictypes:port-type;
description
"Port type is defined as identity-ref. If current
types include ethernet or serial. If more types
are needed, developers can define new identities.";
}
leaf bandwidth {
type fabrictypes:bandwidth;
description
"Bandwidth of the port. It is defined as
identity-ref. If more speeds are introduced,
developers can define new identities for them. Current
speeds include 1M, 10M, 100M, 1G, 10G,
25G, 40G, 100G, and 400G.";
}
}
augment "/nws:networks/nws:network/nws:node" { grouping fabric-attributes {
when "/nws:networks/nws:network/nws:network-types" description
+"/sfabric:fabric-network"{ "Attributes of a fabric";
description "Augmentation parameters apply only for leaf fabric-id {
networks with fabric topology."; type fabrictypes:fabric-id;
description
"Fabric ID";
}
leaf name {
type string;
description
"Name of the fabric";
}
leaf type {
type fabrictypes:underlay-network-type;
description
"The type of physical network that implements this
fabric. Examples are VLAN and TRILL.";
}
container vni-capacity {
description
"The range of the VXLAN Network
Identifier (VNI) defined in RFC 7348 that the POD uses.";
leaf min {
type int32;
description
"The lower-limit VNI.";
} }
description "Augmentation for fabric nodes."; leaf max {
container fabric-attributes-state { type int32;
description description
"Attributes for a fabric network"; "The upper-limit VNI.";
uses fabric-attributes;
} }
} }
leaf description {
type string;
description
"Description of the fabric";
}
container options {
description
"Options of the fabric";
uses fabric-options;
}
list device-nodes {
key "device-ref";
description
"Device nodes that are included in a fabric.";
uses device-attributes;
}
list device-links {
key "link-ref";
description
"Links that are included within a fabric.";
uses link-attributes;
}
list device-ports {
key "port-ref";
description
"Ports that are included in the fabric.";
uses port-attributes;
}
}
// augment statements
augment "/nws:networks/nws:network/nws:network-types" {
description
"Introduce a new network type for fabric-based logical
topology";
uses fabric-network-type;
}
augment "/nws:networks/nws:network/nws:node" {
when '/nws:networks/nws:network/nws:network-types'
+ '/sfabric:fabric-network' {
description
"Augmentation parameters apply only for
networks with fabric topology.";
}
description
"Augmentation for fabric nodes.";
container fabric-attributes-state {
description
"Attributes for a fabric network";
uses fabric-attributes;
}
}
} }
 End of changes. 32 change blocks. 
232 lines changed or deleted 233 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/