This module contains a collection of YANG definitions for fabric state, representing topology that either is learned or results ...
Version: 2019-02-25
module ietf-dc-fabric-topology-state { yang-version 1.1; namespace "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 "RFC 8542: A YANG Data Model for Fabric Topology in Data-Center Networks"; } organization "IETF I2RS (Interface to the Routing System) Working Group"; contact "WG Web: <https://datatracker.ietf.org/wg/i2rs/> WG List: <mailto:i2rs@ietf.org> Editor: Yan Zhuang <mailto:zhuangyan.zhuang@huawei.com> Editor: Danian Shi <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. This model mirrors the configuration tree of ietf-dc-fabric -topology but contains only read-only state data. The model is not needed when the implementation infrastructure supports the Network Management Datastore Architecture (NMDA). Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or 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). This version of this YANG module is part of RFC 8542; see the RFC itself for full legal notices."; revision "2019-02-25" { description "Initial revision."; reference "RFC 8542: A YANG Data Model for Fabric Topology in Data-Center Networks"; } grouping fabric-network-type { description "Identify the topology type to be fabric."; container fabric-network { presence "indicates fabric Network"; description "The presence of the container node indicates fabric topology"; } // container fabric-network } // grouping fabric-network-type grouping fabric-options { description "Options for a fabric"; leaf gateway-mode { type enumeration { enum "centralized" { value 0; description "The fabric uses centralized gateway, in which gateway is deployed on SPINE node."; } enum "distributed" { value 1; 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" { value 0; description "Normal means no policy is needed for all traffic"; } enum "policy-driven" { value 1; description "Policy driven means policy is needed for the traffic; otherwise, the traffic will be discarded."; } } default "normal"; description "Traffic behavior of the fabric"; } leaf-list capability-supported { type fabrictypes:service-capabilities; description "It provides a list of supported services of the fabric. The service-capabilities is defined as identity-ref. Users can define more services by defining new identities."; } } // grouping fabric-options grouping device-attributes { description "device attributes"; leaf device-ref { type fabrictypes:node-ref; description "The device that the fabric includes that refers to a node in another topology."; } leaf-list role { type fabrictypes:device-role; default "fabrictypes:leaf"; description "It is a list of device roles to represent the roles 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."; } } // grouping device-attributes 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."; } } // grouping link-attributes grouping port-attributes { description "Port attributes"; leaf port-ref { type fabrictypes:tp-ref; description "The port that the fabric includes that refers to a termination-point in another topology."; } leaf port-type { type fabrictypes:port-type; description "Port type is defined as identity-ref. The 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."; } } // grouping port-attributes grouping fabric-attributes { description "Attributes of a fabric"; leaf fabric-id { 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."; } leaf max { type int32; description "The upper-limit VNI."; } } // container vni-capacity leaf description { type string; description "Description of the fabric"; } container options { description "Options of the fabric"; uses fabric-options; } // container options list device-nodes { key "device-ref"; description "Device nodes that are included in a fabric."; uses device-attributes; } // list device-nodes list device-links { key "link-ref"; description "Links that are included within a fabric."; uses link-attributes; } // list device-links list device-ports { key "port-ref"; description "Ports that are included in the fabric."; uses port-attributes; } // list device-ports } // grouping fabric-attributes 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; } // container fabric-attributes-state } } // module ietf-dc-fabric-topology-state
© 2023 YumaWorks, Inc. All rights reserved.