draft-ietf-i2rs-yang-l2-network-topology-07.txt   draft-ietf-i2rs-yang-l2-network-topology-08.txt 
Network Working Group J. Dong Network Working Group J. Dong
Internet-Draft X. Wei Internet-Draft X. Wei
Intended status: Standards Track Q. Wu Intended status: Standards Track Q. Wu
Expires: December 26, 2019 Huawei Expires: January 24, 2020 Huawei
M. Boucadair M. Boucadair
Orange Orange
A. Liu A. Liu
Tecent Tecent
June 24, 2019 July 23, 2019
A YANG Data Model for Layer-2 Network Topologies A YANG Data Model for Layer-2 Network Topologies
draft-ietf-i2rs-yang-l2-network-topology-07 draft-ietf-i2rs-yang-l2-network-topology-08
Abstract Abstract
This document defines a YANG data model for Layer 2 network This document defines a YANG data model for Layer 2 network
topologies. topologies.
Editorial Note (To be removed by RFC Editor) Editorial Note (To be removed by RFC Editor)
Please update these statements within the document with the RFC Please update these statements within the document with the RFC
number to be assigned to this document: number to be assigned to this document:
skipping to change at page 1, line 49 skipping to change at page 1, line 49
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 December 26, 2019. This Internet-Draft will expire on January 24, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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 6, line 10 skipping to change at page 6, line 10
with a name, a set of Layer-2 link attributes and flags. with a name, a set of Layer-2 link attributes and flags.
o The optional L2 technology specific attributes are introduced in o The optional L2 technology specific attributes are introduced in
this module as Layer-2 features. this module as Layer-2 features.
4. Layer 2 Topology YANG Module 4. Layer 2 Topology YANG Module
This module uses the common YANG types defined in [RFC6991] and types This module uses the common YANG types defined in [RFC6991] and types
defined in [RFC8345]. defined in [RFC8345].
<CODE BEGINS> file "ietf-l2-topology@2019-06-21.yang" <CODE BEGINS> file "ietf-l2-topology@2019-06-21.yang"
module ietf-l2-topology { module ietf-l2-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-l2-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-l2-topology";
prefix "l2t"; prefix "l2t";
import ietf-network { import ietf-network {
prefix "nw"; prefix "nw";
reference reference
"RFC 8345: A YANG Data Model for Network Topologies"; "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "nt"; prefix "nt";
reference reference
"RFC 8345: A YANG Data Model for Network Topologies"; "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
reference "Section 4 of RFC 6991"; reference "Section 4 of RFC 6991";
} }
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
reference "Section 3 of RFC 6991"; reference "Section 3 of RFC 6991";
} }
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>
Editor: Jie Dong Editor: Jie Dong
<mailto:jie.dong@huawei.com> <mailto:jie.dong@huawei.com>
Editor: Xiugang Wei Editor: Xiugang Wei
<mailto:weixiugang@huawei.com> <mailto:weixiugang@huawei.com>
Editor: Qin Wu Editor: Qin Wu
<mailto:bill.wu@huawei.com> <mailto:bill.wu@huawei.com>
Editor: Mohamed Boucadair Editor: Mohamed Boucadair
<mailto:mohamed.boucadair@orange.com> <mailto:mohamed.boucadair@orange.com>
Editor: Anders Liu Editor: Anders Liu
<andersliu@tencent.com>"; <andersliu@tencent.com>";
description description
"This module defines a basic model for "This module defines a basic model for
the layer-2 topology of a network. the layer-2 topology of a network.
Copyright (c) 2019 IETF Trust and the persons identified as Copyright (c) 2019 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
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-ietf-i2rs-yang-l2-network-topo-07; draft-ietf-i2rs-yang-l2-network-topo-07;
see the RFC itself for full legal notices."; see the RFC itself for full legal notices.";
revision "2019-06-04" { revision "2019-06-21" {
description "Initial revision"; description "Initial revision";
reference reference
"RFC XXXX: A YANG Data Model for Layer-2 Network Topologies"; "RFC XXXX: A YANG Data Model for Layer-2 Network Topologies";
} }
/* /*
* Typedefs * Typedefs
*/ */
typedef vlan { typedef vlan {
type uint16 { type uint16 {
range "1..4094"; range "1..4094";
}
description "VLAN ID";
reference "IEEE 802.1Q";
} }
description "VLAN ID";
reference "IEEE 802.1Q";
}
typedef trill-nickname { typedef trill-nickname {
type uint16; type uint16;
description "TRILL Nickname"; description "TRILL Nickname";
reference "RFC 6326"; reference "RFC 6326";
} }
typedef vni { typedef vni {
type uint32 { type uint32 {
range "1..16777215"; range "1..16777215";
}
description "VxLAN Network Identifier";
reference "RFC 7348";
} }
description "VxLAN Network Identifier";
reference "RFC 7348";
}
typedef l2-flag-type { typedef l2-flag-type {
type identityref { type identityref {
base "flag-identity"; base "flag-identity";
}
description "Base type for l2 flags";
} }
description "Base type for l2 flags"; typedef node-flag-type {
} type identityref {
typedef node-flag-type { base "flag-identity";
type identityref { }
base "flag-identity"; description "Node flag attributes";
} }
description "Node flag attributes"; typedef link-flag-type {
} type identityref {
typedef link-flag-type { base "flag-identity";
type identityref { }
base "flag-identity"; description "Link flag attributes";
} }
description "Link flag attributes";
}
typedef l2-network-event-type { typedef l2-network-event-type {
type enumeration { type enumeration {
enum "add" { enum "add" {
value 0; value 0;
description "An L2 node or link or termination-point description "An L2 node or link or termination-point
has been added"; has been added";
} }
enum "remove" { enum "remove" {
value 1; value 1;
description "An L2 node or link or termination-point description "An L2 node or link or termination-point
has been removed"; has been removed";
} }
enum "update" { enum "update" {
value 2; value 2;
description "An L2 node or link or termination-point description "An L2 node or link or termination-point
has been updated"; has been updated";
}
} }
} description "l2 network event type for notifications";
description "l2 network event type for notifications"; } // l2-topology-event-type
} // l2-topology-event-type
/*
* Features
*/
feature VLAN {
description
"Indicates that the system supports the
vlan functions.";
}
feature QinQ { /*
description * Features
"Indicates that the system supports the */
qinq functions"; feature VLAN {
reference "IEEE 802.1ad."; description
} "Indicates that the system supports the
vlan functions.";
}
feature PBB { feature QinQ {
description description
"Indicates that the device supports the "Indicates that the system supports the
provider-backbone-bridging functions"; qinq functions";
reference "IEEE 802.1ah."; reference "IEEE 802.1ad.";
} }
feature VPLS { feature PBB {
description description
"Indicates that the device supports the "Indicates that the device supports the
VPLS functions."; provider-backbone-bridging functions";
reference "RFC 4761, RFC 4762"; reference "IEEE 802.1ah.";
} }
feature TRILL { feature VPLS {
description description
"Indicates that the device supports the "Indicates that the device supports the
TRILL functions."; VPLS functions.";
reference "RFC 6325"; reference "RFC 4761, RFC 4762";
} }
feature VXLAN { feature TRILL {
description description
"Indicates that the device supports the "Indicates that the device supports the
VXLAN functions."; TRILL functions.";
reference "RFC 7348"; reference "RFC 6325";
} }
/* feature VXLAN {
* Identities description
*/ "Indicates that the device supports the
VXLAN functions.";
reference "RFC 7348";
}
identity flag-identity { /*
description "Base type for flags."; * Identities
} */
/*Consider udpating this part to make use of draft-ietf-softwire-iftunnel*/
identity encapsulation-type { identity flag-identity {
description description "Base type for flags.";
"Base identity from which specific encapsulation }
types are derived."; identity encapsulation-type {
} description
"Base identity from which specific encapsulation
types are derived.";
}
identity eth-encapsulation-type { identity eth-encapsulation-type {
base encapsulation-type; base encapsulation-type;
description description
"Base identity from which specific Ethernet "Base identity from which specific Ethernet
encapsulation types are derived."; encapsulation types are derived.";
} }
identity ethernet { identity ethernet {
base eth-encapsulation-type; base eth-encapsulation-type;
description description
"native Ethernet encapsulation."; "native Ethernet encapsulation.";
} }
identity vlan { identity vlan {
base eth-encapsulation-type; base eth-encapsulation-type;
description description
"VLAN encapsulation."; "VLAN encapsulation.";
} }
identity qinq { identity qinq {
base eth-encapsulation-type; base eth-encapsulation-type;
description description
"QinQ encapsulation."; "QinQ encapsulation.";
} }
identity pbb { identity pbb {
base eth-encapsulation-type; base eth-encapsulation-type;
description description
"PBB encapsulation."; "PBB encapsulation.";
} }
identity trill { identity trill {
base eth-encapsulation-type; base eth-encapsulation-type;
description description
"TRILL encapsulation."; "TRILL encapsulation.";
} }
identity vpls { identity vpls {
base eth-encapsulation-type; base eth-encapsulation-type;
description description
"VPLS encapsulation."; "VPLS encapsulation.";
}
identity vxlan { }
base eth-encapsulation-type;
description
"VXLAN encapsulation.";
}
identity frame-relay { identity vxlan {
base encapsulation-type; base eth-encapsulation-type;
description description
"Frame Relay encapsulation."; "VXLAN encapsulation.";
} }
identity ppp { identity frame-relay {
base encapsulation-type; base encapsulation-type;
description description
"PPP encapsulation"; "Frame Relay encapsulation.";
} }
identity hdlc { identity ppp {
base encapsulation-type; base encapsulation-type;
description description
"HDLC encapsulation."; "PPP encapsulation";
} }
identity atm { identity hdlc {
base encapsulation-type; base encapsulation-type;
description description
"Base identity from which specific ATM "HDLC encapsulation.";
encapsulation types are derived."; }
} identity atm {
base encapsulation-type;
description
"Base identity from which specific ATM
encapsulation types are derived.";
identity pwe3 { }
base encapsulation-type;
description
"Base identity from which specific PW
encapsulation types are derived.";
}
/* identity pwe3 {
* Groupings base encapsulation-type;
*/
grouping l2-network-type {
description "Identify the topology type to be L2.";
container l2-network {
presence "indicates L2 Network";
description description
"The presence of the container node indicates "Base identity from which specific PW
L2 Topology."; encapsulation types are derived.";
} }
}
grouping l2-network-attributes { /*
description "L2 Topology scope attributes"; * Groupings
container l2-network-attributes { */
description "Containing L2 network attributes";
leaf name {
type string;
description "Name of the L2 network.";
}
leaf-list flag {
type l2-flag-type;
description "L2 network flags";
}
}
}
grouping l2-node-attributes { grouping l2-network-type {
description "L2 node attributes"; description "Identify the topology type to be L2.";
container l2-node-attributes { container l2-network {
description "Containing L2 node attributes"; presence "indicates L2 Network";
leaf name { description
type string; "The presence of the container node indicates
description "Node name."; L2 Topology.";
}
leaf description {
type string;
description "Node description.";
}
leaf-list management-address {
type inet:ip-address;
description "System management address.";
}
leaf sys-mac-address {
type yang:mac-address;
description "System MAC-address.";
}
leaf management-vid {
if-feature VLAN;
type vlan;
description "System management VID.";
}
leaf-list flag {
type node-flag-type;
description "Node operational flags.";
} }
} }
} // grouping l2-node-attributes
grouping l2-link-attributes { grouping l2-network-attributes {
description "L2 link attributes"; description "L2 Topology scope attributes";
container l2-link-attributes { container l2-network-attributes {
description "Containing L2 link attributes."; description "Containing L2 network attributes";
leaf name { leaf name {
type string; type string;
description "Link name."; description "Name of the L2 network.";
}
leaf-list flag {
type link-flag-type;
description "Link flags.";
}
leaf rate {
type decimal64 {
fraction-digits 2;
} }
description "Link rate.";
} leaf-list flag {
leaf delay { type l2-flag-type;
type uint32; description "L2 network flags";
description "Link delay in microseconds."; }
}
leaf-list srlg {
type uint32;
description
"List of Shared Risk Link Groups
this link belongs to.";
reference "RFC 4202";
} }
} }
} // grouping l2-link-attributes
grouping l2-termination-point-attributes { grouping l2-node-attributes {
description "L2 termination point attributes"; description "L2 node attributes";
container l2-termination-point-attributes { container l2-node-attributes {
description "Containing L2 TP attributes"; description "Containing L2 node attributes";
leaf description { leaf name {
type string; type string;
description "Port description."; description "Node name.";
}
leaf description {
type string;
description "Node description.";
}
leaf-list management-address {
type inet:ip-address;
description "System management address.";
}
leaf sys-mac-address {
type yang:mac-address;
description "System MAC-address.";
}
leaf management-vid {
if-feature VLAN;
type vlan;
description "System management VID.";
}
leaf-list flag {
type node-flag-type;
description "Node operational flags.";
}
} }
} // grouping l2-node-attributes
leaf maximum-frame-size { grouping l2-link-attributes {
type uint32; description "L2 link attributes";
description "Maximum frame size."; container l2-link-attributes {
description "Containing L2 link attributes.";
leaf name {
type string;
description "Link name.";
}
leaf-list flag {
type link-flag-type;
description "Link flags.";
}
leaf rate {
type decimal64 {
fraction-digits 2;
}
description "Link rate.";
}
leaf delay {
type uint32;
description "Link delay in microseconds.";
}
leaf-list srlg {
type uint32;
description
"List of Shared Risk Link Groups
this link belongs to.";
reference "RFC 4202";
}
} }
} // grouping l2-link-attributes
choice l2-termination-point-type { grouping l2-termination-point-attributes {
description description "L2 termination point attributes";
"Indicates termination-point type container l2-termination-point-attributes {
specific attributes."; description "Containing L2 TP attributes";
case ethernet { leaf description {
leaf mac-address { type string;
type yang:mac-address; description "Port description.";
description "Interface MAC address."; }
}
leaf eth-encapsulation { leaf maximum-frame-size {
type identityref { type uint32;
base eth-encapsulation-type; description "Maximum frame size.";
}
choice l2-termination-point-type {
description
"Indicates termination-point type
specific attributes.";
case ethernet {
leaf mac-address {
type yang:mac-address;
description "Interface MAC address.";
} }
description
"Encapsulation type of this
ternimation point.";
}
leaf port-vlan-id { leaf eth-encapsulation {
if-feature VLAN; type identityref {
type vlan; base eth-encapsulation-type;
description "Port VLAN ID is the VLAN id that }
will be assigned to any untagged frames entering description
the switch on the specific port."; "Encapsulation type of this
} ternimation point.";
}
list vlan-id-name { leaf port-vlan-id {
if-feature VLAN; if-feature VLAN;
key "vlan-id";
description "Interface configured VLANs.";
leaf vlan-id {
type vlan; type vlan;
description "VLAN ID."; description "Port VLAN ID is the VLAN id that
will be assigned to any untagged frames entering
the switch on the specific port.";
} }
leaf vlan-name {
type string; list vlan-id-name {
description "VLAN name."; if-feature VLAN;
key "vlan-id";
description "Interface configured VLANs.";
leaf vlan-id {
type vlan;
description "VLAN ID.";
}
leaf vlan-name {
type string;
description "VLAN name.";
}
} }
} } //case ethernet
} //case ethernet
case legacy { case legacy {
leaf layer-2-address { leaf layer-2-address {
type yang:phys-address; type yang:phys-address;
description "Interface Layer 2 address."; description "Interface Layer 2 address.";
} }
leaf encapsulation { leaf encapsulation {
type identityref { type identityref {
base encapsulation-type; base encapsulation-type;
}
description
"Encapsulation type of this termination point.";
} }
description } //case legacy such as atm, ppp, hdlc,etc.
"Encapsulation type of this termination point.";
}
} //case legacy such as atm, ppp, hdlc,etc.
} //choice termination-point-type } //choice termination-point-type
leaf tp-state { leaf tp-state {
type enumeration { type enumeration {
enum in-use { enum in-use {
value 0; value 0;
description description
"the termination point is in forwarding state."; "the termination point is in forwarding state.";
} }
enum blocking { enum blocking {
value 1; value 1;
description description
"the termination point is in blocking state."; "the termination point is in blocking state.";
} }
enum down { enum down {
value 2; value 2;
description description
"the termination point is in down state."; "the termination point is in down state.";
} }
enum others { enum others {
value 3; value 3;
description description
"the termination point is in other state."; "the termination point is in other state.";
}
} }
config false;
description "State of the termination point";
} }
config false;
description "State of the termination point";
} }
} } // grouping l2-termination-point-attributes
} // grouping l2-termination-point-attributes
/*
* Data nodes
*/
augment "/nw:networks/nw:network/nw:network-types" { /*
description * Data nodes
"Introduce new network type for L2 topology."; */
uses l2-network-type;
}
augment "/nw:networks/nw:network" { augment "/nw:networks/nw:network/nw:network-types" {
when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" {
description description
"Augmentation parameters apply only for networks "Introduce new network type for L2 topology.";
with L2 topology."; uses l2-network-type;
} }
description
"Configuration parameters for the L2 network
as a whole";
uses l2-network-attributes;
}
augment "/nw:networks/nw:network/nw:node" { augment "/nw:networks/nw:network" {
when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" { when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" {
description
"Augmentation parameters apply only for networks
with L2 topology.";
}
description description
"Augmentation parameters apply only for networks "Configuration parameters for the L2 network
with L2 topology."; as a whole";
uses l2-network-attributes;
} }
description
"Configuration parameters for L2 at the node
level.";
uses l2-node-attributes;
}
augment "/nw:networks/nw:network/nt:link" { augment "/nw:networks/nw:network/nw:node" {
when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" { when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" {
description
"Augmentation parameters apply only for networks
with L2 topology.";
}
description description
"Augmentation parameters apply only for networks "Configuration parameters for L2 at the node
with L2 topology."; level.";
uses l2-node-attributes;
} }
description "Augment L2 topology link information";
uses l2-link-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point" { augment "/nw:networks/nw:network/nt:link" {
when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" { when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" {
description
"Augmentation parameters apply only for networks
with L2 topology.";
}
description "Augment L2 topology link information";
uses l2-link-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
when "/nw:networks/nw:network/nw:network-types/l2t:l2-network" {
description
"Augmentation parameters apply only for networks
with L2 topology.";
}
description description
"Augmentation parameters apply only for networks "Augment L2 topology termination point information.";
with L2 topology."; uses l2-termination-point-attributes;
} }
description
"Augment L2 topology termination point information.";
uses l2-termination-point-attributes;
}
/* /*
* Notifications * Notifications
*/ */
notification l2-node-event { notification l2-node-event {
description "Notification event for L2 node"; description "Notification event for L2 node";
leaf event-type { leaf event-type {
type l2-network-event-type; type l2-network-event-type;
description "Event type."; description "Event type.";
}
uses nw:node-ref;
uses l2-network-type;
uses l2-node-attributes;
} }
uses nw:node-ref;
uses l2-network-type;
uses l2-node-attributes;
}
notification l2-link-event { notification l2-link-event {
description "Notification event for L2 link."; description "Notification event for L2 link.";
leaf event-type { leaf event-type {
type l2-network-event-type; type l2-network-event-type;
description "Event type"; description "Event type";
}
uses nt:link-ref;
uses l2-network-type;
uses l2-link-attributes;
} }
uses nt:link-ref;
uses l2-network-type;
uses l2-link-attributes;
}
notification l2-termination-point-event { notification l2-termination-point-event {
description "Notification event for L2 termination point."; description "Notification event for L2 termination point.";
leaf event-type { leaf event-type {
type l2-network-event-type; type l2-network-event-type;
description "Event type"; description "Event type";
}
uses nt:tp-ref;
uses l2-network-type;
uses l2-termination-point-attributes;
} }
uses nt:tp-ref;
uses l2-network-type;
uses l2-termination-point-attributes;
}
} // module l2-topology } // module l2-topology
<CODE ENDS> <CODE ENDS>
5. IANA Considerations 5. IANA Considerations
This document requests IANA to register the following URIs in the This document requests IANA to register the following URIs in the
"ns" subregistry within the "IETF XML Registry" [RFC3688]: "ns" subregistry within the "IETF XML Registry" [RFC3688]:
URI: urn:ietf:params:xml:ns:yang:ietf-l2-topology URI: urn:ietf:params:xml:ns:yang:ietf-l2-topology
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace. XML: N/A; the requested URI is an XML namespace.
URI: urn:ietf:params:xml:ns:yang:ietf-l2-topology-state URI: urn:ietf:params:xml:ns:yang:ietf-l2-topology-state
skipping to change at page 22, line 34 skipping to change at page 22, line 34
state and ietf-network-topology-state (instead of ietf-network and state and ietf-network-topology-state (instead of ietf-network and
ietf-network-topology) and all its data nodes are non-configurable. ietf-network-topology) and all its data nodes are non-configurable.
The companion module ietf-l2-topology SHOULD NOT be supported by The companion module ietf-l2-topology SHOULD NOT be supported by
implementations that support NMDA. It is for this reason that this implementations that support NMDA. It is for this reason that this
module is defined in the Appendix. module is defined in the Appendix.
As the structure of this modules mirrors that of its underlying As the structure of this modules mirrors that of its underlying
modules, the YANG tree is not depicted separately. modules, the YANG tree is not depicted separately.
<CODE BEGINS> file "ietf-l2-topology-state@2019-06-04.yang" <CODE BEGINS> file "ietf-l2-topology-state@2019-06-21.yang"
module ietf-l2-topology-state { module ietf-l2-topology-state {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-l2-topology-state"; namespace "urn:ietf:params:xml:ns:yang:ietf-l2-topology-state";
prefix "l2t-s"; prefix "l2t-s";
import ietf-network-state { import ietf-network-state {
prefix "nw-s"; prefix "nw-s";
} }
import ietf-network-topology-state { import ietf-network-topology-state {
skipping to change at page 23, line 31 skipping to change at page 23, line 31
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-ietf-i2rs-yang-l2-network-topo-07; draft-ietf-i2rs-yang-l2-network-topo-07;
see the RFC itself for full legal notices."; see the RFC itself for full legal notices.";
revision "2019-06-04" { revision "2019-06-21" {
description "Initial revision"; description "Initial revision";
reference "draft-ietf-i2rs-l2-network-topology-07"; reference "draft-ietf-i2rs-l2-network-topology-07";
} }
/* /*
* Data nodes * Data nodes
*/ */
augment "/nw-s:networks/nw-s:network/nw-s:network-types" { augment "/nw-s:networks/nw-s:network/nw-s:network-types" {
description description
 End of changes. 104 change blocks. 
474 lines changed or deleted 475 lines changed or added

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