1 module ietf-dc-fabric-types {
3 namespace "urn:ietf:params:xml:ns:yang:ietf-dc-fabric-types";
9 "RFC 8345: A YANG Data Model for Network Topologies";
13 "IETF I2RS (Interface to the Routing System) Working Group";
15 "WG Web: <https://datatracker.ietf.org/wg/i2rs/>
16 WG List: <mailto:i2rs@ietf.org>
19 <mailto:zhuangyan.zhuang@huawei.com>
22 <mailto:shidanian@huawei.com>";
24 "This module contains a collection of YANG definitions for
27 Copyright (c) 2019 IETF Trust and the persons identified
28 as authors of the code. All rights reserved.
30 Redistribution and use in source and binary forms, with
31 or without modification, is permitted pursuant to, and
32 subject to the license terms contained in, the Simplified
33 BSD License set forth in Section 4.c of the IETF Trust's
34 Legal Provisions Relating to IETF Documents
35 (https://trustee.ietf.org/license-info).
37 This version of this YANG module is part of RFC 8542;
38 see the RFC itself for full legal notices.";
44 "RFC 8542: A YANG Data Model for Fabric Topology
45 in Data-Center Networks";
48 identity fabric-type {
50 "Base type for fabric networks";
53 identity vxlan-fabric {
59 identity vlan-fabric {
65 identity trill-fabric {
73 "Base type for fabric port";
147 identity device-role {
149 "Base for the device role in a fabric.";
155 "This is a spine node in a fabric.";
161 "This is a leaf node in a fabric.";
167 "This is a border node to connect to other
171 identity fabric-port-role {
173 "Base for the port's role in a fabric.";
177 base fabric-port-role;
179 "The port is used for devices to access each
180 other within a fabric.";
184 base fabric-port-role;
186 "The port is used for a fabric to connect to
191 base fabric-port-role;
193 "The port is used for an endpoint to connect
197 identity service-capability {
199 "Base for the service of the fabric ";
202 identity ip-mapping {
203 base service-capability;
208 identity acl-redirect {
209 base service-capability;
211 "ACL redirect, which can provide a Service Function Chain (SFC).";
214 identity dynamic-route-exchange {
215 base service-capability;
217 "Dynamic route exchange.";
227 "An identifier for a fabric in a topology.
228 This identifier can be generated when composing a fabric.
229 The composition of a fabric can be achieved by defining an
230 RPC, which is left for vendor specific implementation
231 and not provided in this model.";
234 typedef service-capabilities {
236 base service-capability;
239 "Service capability of the fabric";
247 "Port type: ethernet or serial or others.";
255 "Bandwidth of the port.";
259 type instance-identifier;
261 "A reference to a node in topology";
265 type instance-identifier;
267 "A reference to a termination point in topology";
271 type instance-identifier;
273 "A reference to a link in topology";
276 typedef underlay-network-type {
281 "The type of physical network that implements
282 this fabric. Examples are VLAN and TRILL.";
285 typedef device-role {
290 "Role of the device node.";
293 typedef fabric-port-role {
295 base fabric-port-role;
298 "Role of the port in a fabric.";
301 typedef fabric-port-type {
303 enum layer2interface {
307 enum layer3interface {
324 grouping fabric-port {
326 "Attributes of a fabric port.";
333 type fabric-port-role;
335 "Role of the port in a fabric.";
338 type fabric-port-type;
345 "The device port it mapped to.";
347 choice tunnel-option {
349 "Tunnel options to connect two fabrics.
350 It could be L2 Tunnel or L3 Tunnel.";