< draft-ietf-lime-yang-connectionless-oam-07.txt   draft-ietf-lime-yang-connectionless-oam-08.txt >
Network Working Group D. Kumar Network Working Group D. Kumar
Internet-Draft Cisco Internet-Draft Cisco
Intended status: Standards Track M. Wang Intended status: Standards Track M. Wang
Expires: December 18, 2017 Q. Wu Expires: March 3, 2018 Q. Wu
Huawei Huawei
R. Rahman R. Rahman
S. Raghavan S. Raghavan
Cisco Cisco
June 16, 2017 August 30, 2017
Generic YANG Data Model for Connectionless Operations, Administration, Generic YANG Data Model for Connectionless Operations, Administration,
and Maintenance(OAM) protocols and Maintenance(OAM) protocols
draft-ietf-lime-yang-connectionless-oam-07 draft-ietf-lime-yang-connectionless-oam-08
Abstract Abstract
This document presents a base YANG Data model for connectionless This document presents a base YANG Data model for connectionless
Operations Administration, and Maintenance(OAM) protocols. It Operations Administration, and Maintenance(OAM) protocols. It
provides a technology-independent abstraction of key OAM constructs provides a technology-independent abstraction of key OAM constructs
for connectionless protocols. The base model presented here can be for connectionless protocols. The base model presented here can be
extended to include technology specific details. This is leading to extended to include technology specific details. This is leading to
uniformity between OAM protocols and support both nested OAM uniformity between OAM protocols and support both nested OAM
workflows (i.e., performing OAM functions at different or same levels workflows (i.e., performing OAM functions at different or same levels
skipping to change at page 1, line 43 skipping to change at page 1, line 43
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 http://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 18, 2017. This Internet-Draft will expire on March 3, 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 (http://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 2, line 23 skipping to change at page 2, line 23
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions used in this document . . . . . . . . . . . . . . 3 2. Conventions used in this document . . . . . . . . . . . . . . 3
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
3. Overview of the Connectionless OAM Model . . . . . . . . . . 4 3. Overview of the Connectionless OAM Model . . . . . . . . . . 4
3.1. TP Address . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. TP Address . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. OAM-layers . . . . . . . . . . . . . . . . . . . . . . . 5 3.3. OAM neighboring layers . . . . . . . . . . . . . . . . . 5
3.4. Test Point Locations Information . . . . . . . . . . . . 6 3.4. Test Point Locations Information . . . . . . . . . . . . 6
3.5. Test Point Locations . . . . . . . . . . . . . . . . . . 7 3.5. Test Point Locations . . . . . . . . . . . . . . . . . . 7
3.6. Path Discovery Data . . . . . . . . . . . . . . . . . . . 7 3.6. Path Discovery Data . . . . . . . . . . . . . . . . . . . 7
3.7. Continuity Check Data . . . . . . . . . . . . . . . . . . 7 3.7. Continuity Check Data . . . . . . . . . . . . . . . . . . 7
4. OAM YANG Module . . . . . . . . . . . . . . . . . . . . . . . 7 4. OAM YANG Module . . . . . . . . . . . . . . . . . . . . . . . 7
5. Connectionless model applicability . . . . . . . . . . . . . 33 5. Connectionless model applicability . . . . . . . . . . . . . 31
5.1. BFD Extension . . . . . . . . . . . . . . . . . . . . . . 33 5.1. BFD Extension . . . . . . . . . . . . . . . . . . . . . . 31
5.1.1. Augment Method . . . . . . . . . . . . . . . . . . . 33 5.1.1. Augment Method . . . . . . . . . . . . . . . . . . . 31
5.1.2. Schema Mount . . . . . . . . . . . . . . . . . . . . 36 5.1.2. Schema Mount . . . . . . . . . . . . . . . . . . . . 34
5.2. LSP ping extension . . . . . . . . . . . . . . . . . . . 38 5.2. LSP ping extension . . . . . . . . . . . . . . . . . . . 36
5.2.1. Augment Method . . . . . . . . . . . . . . . . . . . 38 5.2.1. Augment Method . . . . . . . . . . . . . . . . . . . 36
5.2.2. Schema Mount . . . . . . . . . . . . . . . . . . . . 39 5.2.2. Schema Mount . . . . . . . . . . . . . . . . . . . . 37
6. Security Considerations . . . . . . . . . . . . . . . . . . . 41 6. Security Considerations . . . . . . . . . . . . . . . . . . . 39
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40
8. Acknowlegements . . . . . . . . . . . . . . . . . . . . . . . 43 8. Acknowlegements . . . . . . . . . . . . . . . . . . . . . . . 41
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 43 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.1. Normative References . . . . . . . . . . . . . . . . . . 43 9.1. Normative References . . . . . . . . . . . . . . . . . . 41
9.2. Informative References . . . . . . . . . . . . . . . . . 44 9.2. Informative References . . . . . . . . . . . . . . . . . 42
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43
1. Introduction 1. Introduction
Operations, Administration, and Maintenance (OAM) are important Operations, Administration, and Maintenance (OAM) are important
networking functions that allow operators to: networking functions that allow operators to:
1. Monitor networks connections (Reachability Verification, 1. Monitor networks connections (Reachability Verification,
Continuity Check). Continuity Check).
2. Troubleshoot failures (Fault verification and localization). 2. Troubleshoot failures (Fault verification and localization).
skipping to change at page 5, line 47 skipping to change at page 5, line 47
type' is defined to indicate which kind of activation will be used by type' is defined to indicate which kind of activation will be used by
the current session. the current session.
In connectionless OAM, the tools attribute is used to describe a In connectionless OAM, the tools attribute is used to describe a
toolset for fault detection and isolation. And it can serve as a toolset for fault detection and isolation. And it can serve as a
constraint condition when the base model be extended to specific OAM constraint condition when the base model be extended to specific OAM
technology. For example, to fulfill the ICMP PING configuration, the technology. For example, to fulfill the ICMP PING configuration, the
"../coam:continuity-check" should be set to "true", and then the lime "../coam:continuity-check" should be set to "true", and then the lime
base model should be augmented with ICMP PING specific details. base model should be augmented with ICMP PING specific details.
3.3. OAM-layers 3.3. OAM neighboring layers
As typical networks have a multi-layer architecture, the set of OAM As typical networks have a multi-layer architecture, the set of OAM
protocols similarly take a multi-layer structure; each layer may has protocols similarly take a multi-layer structure; each layer may has
its own OAM protocol [RFC7276] and is corresponding to specific its own OAM protocol [RFC7276] and is corresponding to specific
administrative domain or path and has associated test points. OAM- administrative domain and has associated test points. OAM- -
layers is referred to a list of server layer, client layer that are neighboring-layers is referred to a list of neighboring test points
related to current test point. This allows users to easily navigate in the upstream layer and/or downstream layer that are related to
between related layer to efficiently troubleshoot a "loss of current test point. This allows users to easily navigate between
continuity defect". In this model, we have kept level default as 0, related neighboring layer to efficiently troubleshoot a defect. In
when all test points are located at the same layer. 'Level' defines this model, we have kept level default as 0, when a list of
the relative technology level in a sequence of administrative neighboring test points under oam-neighboring-layer are located at
domains, and is provided to allow correlation of faults in related the same layer as the current test point. 'Technology-Level' defines
OAM domains. For example, there is a network in which data traffic the relative technology level of neighboring test point corresponding
between two customer edges is transported over three consecutive to the current test point in multi-layer and multi-technology
administrative domains, where the current test point is located in networks , and is provided to allow correlation of faults at
the second administrative domain. In this scenario second different administrative and technology layers . If there is one
administrative domain is acting as client to first administrative neighboring test point at higher layer of the current test point,
domain and server to third administrative domain. For Test Point at ?Technology-level? is set to 1. If there is one neighboring test
second administrative domain, client level is "-1", i.e. third point at lower layer of the current test point, ?Technology-level? is
administrative domain and server level is "1", i.e. first set to -1.
administrative domain. In another example, if the first
administrative domain and the second are in same level then it's
upstream or downstream administrative domain scenario and thus second
administrative domain level is set to "0".
list oam-layers { list oam-neighboring-layers {
key "index"; key "index";
leaf index { leaf index {
type uint16 { type uint16 {
range "0..65535"; range "0..65535";
} }
description
?index?;
} }
leaf level { leaf technology-level {
type int32 { type int32 {
range "-1..1"; range "-1..1";
} }
description description
"Level"; "Level";
} }
description description
"List of related oam layers."; "List of related neighboring test points at upstream layer and or downstream layer or at the same layer.";
}
}
3.4. Test Point Locations Information 3.4. Test Point Locations Information
This is a generic grouping for Test Point Locations Information. It This is a generic grouping for Test Point Locations Information. It
Provide details of Test Point Location using Tools, 'OAM-Layers' Provide details of Test Point Location using Tools, 'OAM-Layers'
grouping defined above. grouping defined above.
3.5. Test Point Locations 3.5. Test Point Locations
This is a generic grouping for Test Point Locations. Choice This is a generic grouping for Test Point Locations. Choice
skipping to change at page 7, line 43 skipping to change at page 7, line 43
Continuity check data output from methods, includes 'src-test-point', Continuity check data output from methods, includes 'src-test-point',
'dst-test-point', 'sequence-number', 'hop-cnt' and session statistics 'dst-test-point', 'sequence-number', 'hop-cnt' and session statistics
of various kinds. The continuity check data model is made generic of various kinds. The continuity check data model is made generic
enough to allow different methods of data retrieval. None of the enough to allow different methods of data retrieval. None of the
fields are made mandatory for that reason. Noted that the retrieval fields are made mandatory for that reason. Noted that the retrieval
methods are defined in methods are defined in
[I-D.ietf-lime-yang-connectionless-oam-methods]. [I-D.ietf-lime-yang-connectionless-oam-methods].
4. OAM YANG Module 4. OAM YANG Module
<CODE BEGINS> file "ietf-connectionless-oam@2017-06-09.yang" <CODE BEGINS> file "ietf-connectionless-oam@2017-08-30.yang"
module ietf-connectionless-oam { module ietf-connectionless-oam {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam"; namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam";
prefix coam; prefix coam;
import ietf-yang-schema-mount { import ietf-yang-schema-mount {
prefix yangmnt; prefix yangmnt;
} }
import ietf-network { import ietf-network {
skipping to change at page 8, line 31 skipping to change at page 8, line 31
"IETF LIME Working Group"; "IETF LIME Working Group";
contact contact
"Deepak Kumar dekumar@cisco.com "Deepak Kumar dekumar@cisco.com
Qin Wu bill.wu@huawei.com Qin Wu bill.wu@huawei.com
S Raghavan srihari@cisco.com S Raghavan srihari@cisco.com
Zitao Wang wangzitao@huawei.com Zitao Wang wangzitao@huawei.com
R Rahman rrahman@cisco.com"; R Rahman rrahman@cisco.com";
description description
"This YANG module defines the generic configuration, "This YANG module defines the generic configuration,
data model, statistics for connectionless OAM to be data model, statistics for connectionless OAM to be
used within IETF in a protocol indpendent manner. used within IETF in a protocol indpendent manner,
Functional level abstraction is indendent with Also Functional level abstraction is independent with
YANG modeling. It is assumed that each protocol maps YANG modeling. It is assumed that each protocol maps
corresponding abstracts to its native format. corresponding abstracts to its native format.
Each protocol may extend the YANG model defined Each protocol may extend the YANG model defined
here to include protocol specific extensions"; here to include protocol specific extensions";
revision 2017-06-09 { revision 2017-08-30 {
description description
" Base model for Connectionless " Base model for Connectionless
Operations, Administration, Operations, Administration,
and Maintenance(OAM) "; and Maintenance(OAM) ";
reference reference
" RFC XXXX: Connectionless " RFC XXXX: Connectionless
Operations, Administration, and Operations, Administration, and
Maintenance(OAM)YANG Data Model"; Maintenance(OAM)YANG Data Model";
} }
skipping to change at page 9, line 44 skipping to change at page 9, line 44
typedef routing-instance-ref { typedef routing-instance-ref {
type leafref { type leafref {
path "/ni:network-instances/ni:network-instance/ni:name"; path "/ni:network-instances/ni:network-instance/ni:name";
} }
description description
"This type is used for leafs that reference a routing instance "This type is used for leafs that reference a routing instance
configuration."; configuration.";
} }
typedef ipv4-multicast-group-address {
type string {
pattern "(2((2[4-9])|(3[0-9]))\\.)"+"
(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.)"
+"{2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])";
}
description
"The ipv4-multicast-group-address type
represents an IPv4 multicast address
in dotted-quad notation.";
reference "RFC4607";
}
typedef ipv6-multicast-group-address {
type string {
pattern "(((FF|ff)[0-9a-fA-F]{2}):)"
+"([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)"
+"?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|"
+"[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|"
+"[01]?[0-9]?[0-9])))";
pattern "(([^:]+:){6}(([^:]+:[^:]+)|(.*\\..*)))|"
+"((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)";
}
description
"The ipv6-multicast-group-address
type represents an IPv6 address in full,
mixed, shortened, and shortened-mixed
notation.";
reference
"RFC4291 2.7.
ietf-inet-types:ipv6-address";
}
typedef ip-multicast-group-address {
type union {
type ipv4-multicast-group-address;
type ipv6-multicast-group-address;
}
description
"The ip-multicast-group-address type
represents an IP multicast address and
is IP version neutral. The format of the
textual representations implies the IP version.";
}
identity address-attribute-types { identity address-attribute-types {
description description
"This is base identity of address "This is base identity of address
attribute types which are ip-prefix, attribute types which are ip-prefix,
bgp, tunnel, pwe3, vpls, etc."; bgp, tunnel, pwe3, vpls, etc.";
} }
typedef address-attribute-type { typedef address-attribute-type {
type identityref { type identityref {
base address-attribute-types; base address-attribute-types;
skipping to change at page 16, line 17 skipping to change at page 15, line 20
"Total number of OAM packets that "Total number of OAM packets that
went through an unintended path."; went through an unintended path.";
} }
} }
} }
grouping session-type { grouping session-type {
description description
"This object indicates the current session "This object indicates the current session
definition."; definition.";
leaf session-type-enum { leaf session-type {
type enumeration { type enumeration {
enum "proactive" { enum "proactive" {
description description
"The current session is proactive"; "The current session is proactive";
} }
enum "on-demand" { enum "on-demand" {
description description
"The current session is on-demand."; "The current session is on-demand.";
} }
} }
skipping to change at page 17, line 27 skipping to change at page 16, line 31
description description
"System id address type"; "System id address type";
} }
identity as-number-address-type { identity as-number-address-type {
base tp-address-technology-type; base tp-address-technology-type;
description description
"AS number address type"; "AS number address type";
} }
identity group-ip-address-type {
base tp-address-technology-type;
description
"Group IP address type";
}
identity route-distinguisher-address-type { identity route-distinguisher-address-type {
base tp-address-technology-type; base tp-address-technology-type;
description description
"Route Distinguisher address type"; "Route Distinguisher address type";
} }
identity ip-prefix-address-type {
base tp-address-technology-type;
description
"IP prefix address type";
}
identity tunnel-address-type {
base tp-address-technology-type;
description
"Tunnel address type";
}
grouping tp-address { grouping tp-address {
leaf tp-location-type-value { leaf tp-location-type {
type identityref { type identityref {
base tp-address-technology-type; base tp-address-technology-type;
} }
description description
"Test point address type."; "Test point address type.";
} }
choice tp-address { container tp-address {
case mac-address { container mac-address {
when "'tp-location-type-value' = 'mac-address-type'" { when "derived-from-or-self(../tp-location-type, 'mac-address-type')" {
description description
"MAC address type"; "MAC address type";
} }
leaf mac-address { leaf mac-address {
type yang:mac-address; type yang:mac-address;
description description
"MAC Address"; "MAC Address";
} }
description description
"MAC Address based MP Addressing."; "MAC Address based MP Addressing.";
} }
case ipv4-address { container ipv4-address {
when "'tp-location-type-value' = 'ipv4-address-type'" { when "derived-from-or-self(../tp-location-type, 'ipv4-address-type')" {
description description
"IPv4 address type"; "IPv4 address type";
} }
leaf ipv4-address { leaf ipv4-address {
type inet:ipv4-address; type inet:ipv4-address;
description description
"IPv4 Address"; "IPv4 Address";
} }
description description
"IP Address based MP Addressing."; "IP Address based MP Addressing.";
} }
case ipv6-address { container ipv6-address {
when "'tp-location-type-value' = 'ipv6-address-type'" { when "derived-from-or-self(../tp-location-type, 'ipv6-address-type')" {
description description
"IPv6 address type"; "IPv6 address type";
} }
leaf ipv6-address { leaf ipv6-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"IPv6 Address"; "IPv6 Address";
} }
description description
"ipv6 Address based MP Addressing."; "ipv6 Address based MP Addressing.";
} }
case tp-attribute { container tp-attribute {
when "'tp-location-type-value' = 'tp-attribute-type'" { when "derived-from-or-self(../tp-location-type, 'tp-attribute-type')" {
description description
"Test point attribute type"; "Test point attribute type";
} }
leaf tp-attribute-type { leaf tp-attribute-type {
type address-attribute-type; type address-attribute-type;
description description
"Test point type."; "Test point type.";
} }
choice tp-attribute-value { choice tp-attribute-value {
description description
skipping to change at page 20, line 4 skipping to change at page 18, line 37
"Remote pe address."; "Remote pe address.";
} }
leaf pw-id { leaf pw-id {
type uint32; type uint32;
description description
"Pseudowire ID is a non-zero 32-bit ID."; "Pseudowire ID is a non-zero 32-bit ID.";
reference reference
"RFC 4379 :Detecting Multi-Protocol Label "RFC 4379 :Detecting Multi-Protocol Label
Switched (MPLS) Data Plane Failures"; Switched (MPLS) Data Plane Failures";
} }
} }
case vpls { case vpls {
leaf route-distinguisher { leaf route-distinguisher {
type uint32; type uint64;
description description
"Route Distinguisher is an 8 octets identifier "Route Distinguisher is an 8 octets identifier
used to distinguish information about various used to distinguish information about various
L2VPN advertised by a node."; L2VPN advertised by a node.";
reference reference
"RFC 4379 :Detecting Multi-Protocol Label "RFC 4379 :Detecting Multi-Protocol Label
Switched (MPLS) Data Plane Failures"; Switched (MPLS) Data Plane Failures";
} }
leaf sender-ve-id { leaf sender-ve-id {
type uint32; type uint16;
description description
"Sender's VE ID. The VE ID (VPLS Edge Identifier) "Sender's VE ID. The VE ID (VPLS Edge Identifier)
is a 2-octet identifier."; is a 2-octet identifier.";
reference reference
"RFC 4379 :Detecting Multi-Protocol Label "RFC 4379 :Detecting Multi-Protocol Label
Switched (MPLS) Data Plane Failures"; Switched (MPLS) Data Plane Failures";
} }
leaf receiver-ve-id { leaf receiver-ve-id {
type uint32; type uint16;
description description
"Receiver's VE ID.The VE ID (VPLS Edge Identifier) "Receiver's VE ID.The VE ID (VPLS Edge Identifier)
is a 2-octet identifier."; is a 2-octet identifier.";
reference reference
"RFC 4379 :Detecting Multi-Protocol Label "RFC 4379 :Detecting Multi-Protocol Label
Switched (MPLS) Data Plane Failures"; Switched (MPLS) Data Plane Failures";
} }
} }
case mpls-mldp { case mpls-mldp {
choice root-address { choice root-address {
description description
"Root address choice."; "Root address choice.";
case ip-address { case ip-address {
leaf source-address { leaf source-address {
type inet:ip-address; type inet:ip-address;
description description
"IP address."; "IP address.";
} }
leaf group-ip-address { leaf group-ip-address {
type ip-multicast-group-address; type inet:ip-address;
description description
"Group ip address."; "Group ip address.";
} }
} }
case vpn { case vpn {
leaf as-number { leaf as-number {
type inet:as-number; type inet:as-number;
description description
"The AS number represents autonomous system "The AS number represents autonomous system
numbers which identify an Autonomous System."; numbers which identify an Autonomous System.";
skipping to change at page 21, line 25 skipping to change at page 20, line 10
"LSP ID is an identifier of a LSP "LSP ID is an identifier of a LSP
within a MPLS network."; within a MPLS network.";
reference reference
"RFC 4379 :Detecting Multi-Protocol Label "RFC 4379 :Detecting Multi-Protocol Label
Switched (MPLS) Data Plane Failures"; Switched (MPLS) Data Plane Failures";
} }
} }
} }
} }
} }
description
"Test Point Attribute Container";
} }
case system-info { container system-info {
when "'tp-location-type-value' = 'system-id-address-type'" { when "derived-from-or-self(../tp-location-type, 'system-id-address-type')" {
description description
"System id address type"; "System id address type";
} }
leaf system-id { leaf system-id {
type router-id; type router-id;
description description
"System ID assigned to this node."; "System ID assigned to this node.";
} }
description
"system ID container.";
} }
description description
"TP Addressing."; "TP Addressing.";
} }
description description
"TP Address"; "TP Address";
} }
grouping tp-address-vrf { grouping tp-address-ni {
description description
"Test point address with VRF."; "Test point address with VRF.";
leaf vrf { leaf ni {
type routing-instance-ref; type routing-instance-ref;
description description
"The vrf is used to describe the "The ni is used to describe the
corresponding network instance"; corresponding network instance";
} }
uses tp-address; uses tp-address;
} }
grouping connectionless-oam-layers { grouping connectionless-oam-layers {
list oam-layers { list oam-neighboring-layers {
key "index"; key "index";
leaf index { leaf index {
type uint16 { type uint16;
range "0..65535";
}
description description
"Index"; "Index";
} }
leaf level { leaf level {
type int32 { type int32 {
range "-1..1"; range "-1..1";
} }
default "0"; default "0";
description description
"Level 0 indicates default level, "Level 0 indicates default level,
-1 means server and +1 means client layer. -1 means downstream layer related to current layer and +1
means upstream layer related to current layer.
In relationship 0 means same layer."; In relationship 0 means same layer.";
} }
choice tp-location { choice tp-location {
case mac-address { case mac-address {
leaf mac-address-location { leaf mac-address-location {
type yang:mac-address; type yang:mac-address;
description description
"MAC Address"; "MAC Address";
} }
description description
"MAC Address based MP Addressing."; "MAC Address based MP Addressing.";
} }
case ipv4-address { case ipv4-address {
leaf ipv4-location { leaf ipv4-address-location {
type inet:ipv4-address; type inet:ipv4-address;
description description
"Ipv4 Address"; "Ipv4 Address";
} }
description description
"IP Address based MP Addressing."; "IP Address based MP Addressing.";
} }
case ipv6-location { case ipv6-address {
leaf ipv6-address { leaf ipv6-address-location {
type inet:ipv6-address; type inet:ipv6-address;
description description
"IPv6 Address"; "IPv6 Address";
} }
description description
"IPv6 Address based MP Addressing."; "IPv6 Address based MP Addressing.";
} }
case group-ip-address-location { case as-number {
leaf group-ip-address-location {
type ip-multicast-group-address;
description
"Group IP address location";
}
description
"Group IP address";
}
case as-number-location {
leaf as-number-location { leaf as-number-location {
type inet:as-number; type inet:as-number;
description description
"AS number location"; "AS number location";
} }
description description
"AS number for point to multipoint OAM"; "AS number for point to multipoint OAM";
} }
case system-id-location { case system-id {
leaf system-id-location { leaf system-id-location {
type router-id; type router-id;
description description
"System id location"; "System id location";
} }
description description
"System ID"; "System ID";
} }
description description
"TP location."; "TP location.";
} }
description description
"List of related oam layers. "List of neighboring test points in the upstream layer and/or
0 means they are in same level, especially downstream layer or same layer that are related to current test
interworking scenarios of stitching multiple point. If neighboring test-point in the upstream layer exist, the
technology at same layer. -1 means server layer, technology-level is specified as +1. If neighboring test-point
for eg:- in case of Overlay and Underlay, in the downstream layer exist, the technology-level is specified
Underlay is server layer for Overlay Test Point. as -1, if neighboring test-points are located at the same layer
+1 means client layer, for example in case of as the current test-point, the technology-level is specified as
Service OAM and Transport OAM, Service OAM is client 0.";
layer to Transport OAM.";
} }
description description
"Connectionless related OAM layer"; "Connectionless related OAM neighboring layer";
} }
grouping tp-technology { grouping tp-technology {
choice technology { choice technology {
default "technology-null"; default "technology-null";
case technology-null { case technology-null {
description description
"This is a placeholder when no technology is needed."; "This is a placeholder when no technology is needed.";
leaf tech-null { leaf tech-null {
type empty; type empty;
skipping to change at page 25, line 27 skipping to change at page 24, line 4
} }
grouping test-point-location-info { grouping test-point-location-info {
uses tp-technology; uses tp-technology;
uses tp-tools; uses tp-tools;
anydata root { anydata root {
yangmnt:mount-point "root"; yangmnt:mount-point "root";
description description
"Root for models supported per "Root for models supported per
test point"; test point";
} }
uses connectionless-oam-layers; uses connectionless-oam-layers;
description description
"Test point Location"; "Test point Location";
} }
grouping test-point-locations { grouping test-point-locations {
description description
"Group of test point locations."; "Group of test point locations.";
leaf tp-location-type-value { leaf tp-location-type {
type identityref { type identityref {
base tp-address-technology-type; base tp-address-technology-type;
} }
description description
"Test point location type."; "Test point location type.";
} }
choice location-type { container location-type {
case ipv4-location-type { container ipv4-location-type {
when "'tp-location-type-value' = 'ipv4-address-type'" { when "derived-from-or-self(../tp-location-type, 'ipv4-address-type')" {
description description
"When test point location type is equal to ipv4 address."; "When test point location type is equal to ipv4 address.";
} }
container test-point-ipv4-location-list { container test-point-ipv4-location-list {
list test-point-locations { list test-point-locations {
key "ipv4-location"; key "ipv4-location ni";
leaf ipv4-location { leaf ipv4-location {
type inet:ipv4-address; type inet:ipv4-address;
description description
"IPv4 Address."; "IPv4 Address.";
} }
leaf vrf { leaf ni {
type routing-instance-ref; type routing-instance-ref;
description description
"The vrf is used to describe the "The ni is used to describe the
corresponding network instance"; corresponding network instance";
} }
uses test-point-location-info; uses test-point-location-info;
description description
"List of test point locations."; "List of test point locations.";
} }
description description
"Serves as top-level container "Serves as top-level container
for test point location list."; for test point location list.";
} }
description
"ipv4 location type container.";
} }
case ipv6-location-type { container ipv6-location-type {
when "'tp-location-type-value' = 'ipv6-address-type'" { when "derived-from-or-self(../tp-location-type, 'ipv6-address-type')" {
description description
"when test point location is equal to ipv6 address"; "when test point location is equal to ipv6 address";
} }
container test-point-ipv6-location-list { container test-point-ipv6-location-list {
list test-point-locations { list test-point-locations {
key "ipv6-location"; key "ipv6-location ni";
leaf ipv6-location { leaf ipv6-location {
type inet:ipv6-address; type inet:ipv6-address;
description description
"IPv6 Address."; "IPv6 Address.";
} }
leaf vrf { leaf ni {
type routing-instance-ref; type routing-instance-ref;
description description
"The vrf is used to describe the "The ni is used to describe the
corresponding network instance"; corresponding network instance";
} }
uses test-point-location-info; uses test-point-location-info;
description description
"List of test point locations."; "List of test point locations.";
} }
description description
"Serves as top-level container "Serves as top-level container
for test point location list."; for test point location list.";
} }
description
"ipv6 location type container.";
} }
case mac-location-type { container mac-location-type {
when "'tp-location-type-value' = 'mac-address-type'" { when "derived-from-or-self(../tp-location-type, 'mac-address-type')" {
description description
"when test point location type is equal to mac address."; "when test point location type is equal to mac address.";
} }
container test-point-mac-address-location-list { container test-point-mac-address-location-list {
list test-point-locations { list test-point-locations {
key "mac-address-location"; key "mac-address-location";
leaf mac-address-location { leaf mac-address-location {
type yang:mac-address; type yang:mac-address;
description description
"MAC Address"; "MAC Address";
} }
uses test-point-location-info; uses test-point-location-info;
description description
"List of test point locations."; "List of test point locations.";
} }
description description
"Serves as top-level container "Serves as top-level container
for test point location list."; for test point location list.";
} }
description
"mac address location type container.";
} }
case group-ip-address-location-type { container group-as-number-location-type {
when "'tp-location-type-value' = 'group-ip-address-type'" { when "'tp-location-type' = 'as-number-address-type'" {
description
"When test point location type is equal to
group ip address.";
}
container test-point-group-ip-address-location-list {
list test-point-locations {
key "group-ip-address-location";
leaf group-ip-address-location {
type ip-multicast-group-address;
description
"Group IP address.";
}
leaf vrf {
type routing-instance-ref;
description
"The vrf is used to describe the
corresponding network instance";
}
uses test-point-location-info;
description
"List of test point locations.";
}
description
"Serves as top-level container for
test point location list.";
}
}
case group-as-number-location-type {
when "'tp-location-type-value' = 'as-number-address-type'" {
description description
"When test point location type is equal to "When test point location type is equal to
as-number."; as-number.";
} }
container test-point-as-number-location-list { container test-point-as-number-location-list {
list test-point-locations { list test-point-locations {
key "as-number-location"; key "as-number-location";
leaf as-number-location { leaf as-number-location {
type inet:as-number; type inet:as-number;
description description
"AS number for point to multi point OAM."; "AS number for point to multi point OAM.";
} }
leaf vrf { leaf ni {
type routing-instance-ref; type routing-instance-ref;
description description
"The vrf is used to describe the "The ni is used to describe the
corresponding network instance"; corresponding network instance";
} }
uses test-point-location-info; uses test-point-location-info;
description description
"List of test point locations."; "List of test point locations.";
} }
description description
"Serves as top-level container "Serves as top-level container
for test point location list."; for test point location list.";
} }
description
"as number location type container.";
} }
case group-system-id-location-type { container group-system-id-location-type {
when "'tp-location-type-value' = 'system-id-address-type'" { when "'tp-location-type' = 'system-id-address-type'" {
description description
"When test point location is equal to "When test point location is equal to
system info."; system info.";
} }
container test-point-system-info-location-list { container test-point-system-info-location-list {
list test-point-locations { list test-point-locations {
key "system-id-location"; key "system-id-location";
leaf system-id-location { leaf system-id-location {
type inet:uri; type inet:uri;
description description
"System Id."; "System Id.";
} }
leaf vrf { leaf ni {
type routing-instance-ref; type routing-instance-ref;
description description
"The vrf is used to describe the "The ni is used to describe the
corresponding network instance"; corresponding network instance";
} }
uses test-point-location-info; uses test-point-location-info;
description description
"List of test point locations."; "List of test point locations.";
} }
description description
"Serves as top-level container for "Serves as top-level container for
test point location list."; test point location list.";
} }
description
"system ID location type container.";
} }
description description
"Choice of address types."; "Choice of address types.";
} }
} }
augment "/nd:networks/nd:network/nd:node" { augment "/nd:networks/nd:network/nd:node" {
description description
"Augment test points of connectionless oam."; "Augment test points of connectionless oam.";
uses test-point-locations; uses test-point-locations;
skipping to change at page 29, line 47 skipping to change at page 28, line 4
type uint32; type uint32;
description description
"Absolute timestamp in seconds as per IEEE1588v2 "Absolute timestamp in seconds as per IEEE1588v2
or seconds part in 64-bit NTP timestamp."; or seconds part in 64-bit NTP timestamp.";
} }
leaf timestamp-nanosec { leaf timestamp-nanosec {
type uint32; type uint32;
description description
"Fractional part in nanoseconds as per IEEE1588v2 "Fractional part in nanoseconds as per IEEE1588v2
or Fractional part in 64-bit NTP timestamp."; or Fractional part in 64-bit NTP timestamp.";
} }
} }
grouping timestamp { grouping timestamp {
description description
"Grouping for timestamp."; "Grouping for timestamp.";
leaf timestamp-type { leaf timestamp-type {
type uint32; type uint32;
description description
"Truncated PTP = 0, NTP = 1"; "Truncated PTP = 0, NTP = 1";
} }
uses uint64-timestamp; uses uint64-timestamp;
} }
grouping path-discovery-data { grouping path-discovery-data {
description description
"Path discovery related data output from nodes."; "Path discovery related data output from nodes.";
container src-test-point { container src-test-point {
description description
"Source test point."; "Source test point.";
uses tp-address-vrf; uses tp-address-ni;
} }
container dest-test-point { container dest-test-point {
description description
"Destination test point."; "Destination test point.";
uses tp-address-vrf; uses tp-address-ni;
} }
leaf sequence-number { leaf sequence-number {
type uint64; type uint64;
description description
"Sequence number in data packets."; "Sequence number in data packets.";
} }
leaf hop-cnt { leaf hop-cnt {
type uint8; type uint8;
description description
"Hop count."; "Hop count.";
skipping to change at page 30, line 47 skipping to change at page 29, line 4
uses session-error-statistics; uses session-error-statistics;
uses session-delay-statistics; uses session-delay-statistics;
uses session-jitter-statistics; uses session-jitter-statistics;
container path-verification { container path-verification {
description description
"Optional path verification related information."; "Optional path verification related information.";
leaf flow-info { leaf flow-info {
type string; type string;
description description
"Informations that refers to the flow."; "Informations that refers to the flow.";
} }
uses session-path-verification-statistics; uses session-path-verification-statistics;
} }
container path-trace-info { container path-trace-info {
description description
"Optional path trace per-hop test point information. "Optional path trace per-hop test point information.
The list has typically a single element for per-hop The list has typically a single element for per-hop
cases like path-discovery RPC but allows a list of cases like path-discovery RPC but allows a list of
hop related information for other types of hop related information for other types of
data retrieval methods."; data retrieval methods.";
list path-trace-info-list { list path-trace-info-list {
key "index"; key "index";
description description
"Path trace information list."; "Path trace information list.";
leaf index { leaf index {
type uint32; type uint32;
description description
"Trace information index."; "Trace information index.";
} }
uses tp-address-vrf; uses tp-address-ni;
uses timestamp; uses timestamp;
leaf ingress-intf-name { leaf ingress-intf-name {
type if:interface-ref; type if:interface-ref;
description description
"Ingress interface name"; "Ingress interface name";
} }
leaf egress-intf-name { leaf egress-intf-name {
type if:interface-ref; type if:interface-ref;
description description
"Egress interface name"; "Egress interface name";
} }
leaf queue-depth { leaf queue-depth {
type uint32; type uint32;
description description
"Length of the egress interface "Length of the queue of the interface from where
queue of the interface."; the packet is forwarded out. The queue depth could
be the current number of memory buffers used by the
queue and a packet can consume one or more memory buffers
thus constituting device-level information.";
} }
leaf transit-delay { leaf transit-delay {
type uint32; type uint32;
description description
"Time in nano seconds "Time in nano seconds
packet spent transiting a node."; packet spent transiting a node.";
} }
leaf app-meta-data { leaf app-meta-data {
type uint64; type uint64;
description description
skipping to change at page 32, line 4 skipping to change at page 30, line 11
} }
leaf app-meta-data { leaf app-meta-data {
type uint64; type uint64;
description description
"Application specific "Application specific
data added by node."; data added by node.";
} }
} }
} }
} }
grouping continuity-check-data { grouping continuity-check-data {
description description
"Continuity check data output from nodes."; "Continuity check data output from nodes.";
container src-test-point { container src-test-point {
description description
"Source test point."; "Source test point.";
uses tp-address-vrf; uses tp-address-ni;
leaf egress-intf-name { leaf egress-intf-name {
type if:interface-ref; type if:interface-ref;
description description
"Egress interface name"; "Egress interface name";
} }
} }
container dest-test-point { container dest-test-point {
description description
"Destination test point."; "Destination test point.";
uses tp-address-vrf; uses tp-address-ni;
leaf ingress-intf-name { leaf ingress-intf-name {
type if:interface-ref; type if:interface-ref;
description description
"Ingress interface name"; "Ingress interface name";
} }
} }
leaf sequence-number { leaf sequence-number {
type uint64; type uint64;
description description
"Sequence number."; "Sequence number.";
skipping to change at page 37, line 25 skipping to change at page 35, line 25
<use-schema> <use-schema>
<name>root</name> <name>root</name>
</use-schema> </use-schema>
</mount-point> </mount-point>
<schema> <schema>
<name>root</name> <name>root</name>
<module> <module>
<name>ietf-bfd-ip-sh </name> <name>ietf-bfd-ip-sh </name>
<revision>2016-07-04</revision> <revision>2016-07-04</revision>
<namespace> <namespace>
urn:ietf:params:xml:ns:yang: ietf-bfd-ip-sh urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh
</namespace> </namespace>
<conformance-type>implement</conformance-type> <conformance-type>implement</conformance-type>
</module> </module>
<module> <module>
<name>ietf-bfd-ip-mh </name> <name>ietf-bfd-ip-mh </name>
<revision> 2016-07-04</revision> <revision> 2016-07-04</revision>
<namespace> <namespace>
urn:ietf:params:xml:ns:yang: ietf-bfd-ip-mh urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh
</namespace> </namespace>
<conformance-type>implement</conformance-type> <conformance-type>implement</conformance-type>
</module> </module>
</schema> </schema>
</schema-mounts> </schema-mounts>
and the " ietf-connectionless-oam " module might have: and the " ietf-connectionless-oam " module might have:
<ietf-connectionless-oam <ietf-connectionless-oam
uri="urn:ietf:params:xml:ns:yang:ietf-connectionless-oam"> uri="urn:ietf:params:xml:ns:yang:ietf-connectionless-oam">
skipping to change at page 43, line 24 skipping to change at page 41, line 24
The authors of this document would like to thank Greg Mirsky and The authors of this document would like to thank Greg Mirsky and
others for their sustainable review and comments, proposals to others for their sustainable review and comments, proposals to
improve and stabilize document. improve and stabilize document.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc3688>. editor.org/info/rfc3688>.
[RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet
Control Message Protocol (ICMPv6) for the Internet Control Message Protocol (ICMPv6) for the Internet
Protocol Version 6 (IPv6) Specification", RFC 4443, Protocol Version 6 (IPv6) Specification", STD 89,
DOI 10.17487/RFC4443, March 2006, RFC 4443, DOI 10.17487/RFC4443, March 2006,
<http://www.rfc-editor.org/info/rfc4443>. <https://www.rfc-editor.org/info/rfc4443>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc6020>. editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<http://www.rfc-editor.org/info/rfc6242>. <https://www.rfc-editor.org/info/rfc6242>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, Protocol (NETCONF) Access Control Model", RFC 6536,
DOI 10.17487/RFC6536, March 2012, DOI 10.17487/RFC6536, March 2012, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc6536>. editor.org/info/rfc6536>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013, RFC 6991, DOI 10.17487/RFC6991, July 2013,
<http://www.rfc-editor.org/info/rfc6991>. <https://www.rfc-editor.org/info/rfc6991>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface [RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<http://www.rfc-editor.org/info/rfc7223>. <https://www.rfc-editor.org/info/rfc7223>.
[RFC792] Postel, J., "Internet Control Message Protocol", RFC 792, [RFC792] Postel, J., "Internet Control Message Protocol", RFC 792,
September 1981. September 1981.
9.2. Informative References 9.2. Informative References
[G.8013] "OAM functions and mechanisms for Ethernet based [G.8013] "OAM functions and mechanisms for Ethernet based
networks", ITU-T Recommendation G.8013/Y.1731, 2013. networks", ITU-T Recommendation G.8013/Y.1731, 2013.
[I-D.ietf-bfd-yang] [I-D.ietf-bfd-yang]
Rahman, R., Zheng, L., Networks, J., Jethanandani, M., and Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and
G. Mirsky, "Yang Data Model for Bidirectional Forwarding G. Mirsky, "YANG Data Model for Bidirectional Forwarding
Detection (BFD)", draft-ietf-bfd-yang-05 (work in Detection (BFD)", draft-ietf-bfd-yang-06 (work in
progress), March 2017. progress), June 2017.
[I-D.ietf-i2rs-yang-network-topo] [I-D.ietf-i2rs-yang-network-topo]
Clemm, A., Medved, J., Varga, R., Bahadur, N., Clemm, A., Medved, J., Varga, R., Bahadur, N.,
Ananthakrishnan, H., and X. Liu, "A Data Model for Network Ananthakrishnan, H., and X. Liu, "A Data Model for Network
Topologies", draft-ietf-i2rs-yang-network-topo-12 (work in Topologies", draft-ietf-i2rs-yang-network-topo-14 (work in
progress), March 2017. progress), June 2017.
[I-D.ietf-lime-yang-connection-oriented-oam-model] [I-D.ietf-lime-yang-connection-oriented-oam-model]
Kumar, D., Wu, Q., and Z. Wang, "Generic YANG Data Model Kumar, D., Wu, Q., and Z. Wang, "Generic YANG Data Model
for Connection Oriented Operations, Administration, and for Connection Oriented Operations, Administration, and
Maintenance(OAM) protocols", draft-ietf-lime-yang- Maintenance(OAM) protocols", draft-ietf-lime-yang-
connection-oriented-oam-model-00 (work in progress), June connection-oriented-oam-model-00 (work in progress), June
2017. 2017.
[I-D.ietf-lime-yang-connectionless-oam-methods] [I-D.ietf-lime-yang-connectionless-oam-methods]
Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan, Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan,
"Retrieval Methods YANG Data Model for Connectionless "Retrieval Methods YANG Data Model for Connectionless
Operations, Administration, and Maintenance(OAM) Operations, Administration, and Maintenance(OAM)
protocols", draft-ietf-lime-yang-connectionless-oam- protocols", draft-ietf-lime-yang-connectionless-oam-
methods-04 (work in progress), June 2017. methods-05 (work in progress), June 2017.
[I-D.ietf-netmod-schema-mount] [I-D.ietf-netmod-schema-mount]
Bjorklund, M. and L. Lhotka, "YANG Schema Mount", draft- Bjorklund, M. and L. Lhotka, "YANG Schema Mount", draft-
ietf-netmod-schema-mount-05 (work in progress), May 2017. ietf-netmod-schema-mount-06 (work in progress), July 2017.
[I-D.ietf-spring-sr-yang] [I-D.ietf-spring-sr-yang]
Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG
Data Model for Segment Routing", draft-ietf-spring-sr- Data Model for Segment Routing", draft-ietf-spring-sr-
yang-06 (work in progress), March 2017. yang-07 (work in progress), July 2017.
[I-D.zheng-mpls-lsp-ping-yang-cfg] [I-D.zheng-mpls-lsp-ping-yang-cfg]
Zheng, L., Aldrin, S., Zheng, G., Mirsky, G., and R. Zheng, L., Aldrin, S., Zheng, G., Mirsky, G., and R.
Rahman, "Yang Data Model for LSP-PING", draft-zheng-mpls- Rahman, "Yang Data Model for LSP-PING", draft-zheng-mpls-
lsp-ping-yang-cfg-04 (work in progress), October 2016. lsp-ping-yang-cfg-05 (work in progress), June 2017.
[RFC6136] Sajassi, A., Ed. and D. Mohan, Ed., "Layer 2 Virtual [RFC6136] Sajassi, A., Ed. and D. Mohan, Ed., "Layer 2 Virtual
Private Network (L2VPN) Operations, Administration, and Private Network (L2VPN) Operations, Administration, and
Maintenance (OAM) Requirements and Framework", RFC 6136, Maintenance (OAM) Requirements and Framework", RFC 6136,
DOI 10.17487/RFC6136, March 2011, DOI 10.17487/RFC6136, March 2011, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc6136>. editor.org/info/rfc6136>.
[RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y. [RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y.
Weingarten, "An Overview of Operations, Administration, Weingarten, "An Overview of Operations, Administration,
and Maintenance (OAM) Tools", RFC 7276, and Maintenance (OAM) Tools", RFC 7276,
DOI 10.17487/RFC7276, June 2014, DOI 10.17487/RFC7276, June 2014, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc7276>. editor.org/info/rfc7276>.
Authors' Addresses Authors' Addresses
Deepak Kumar Deepak Kumar
CISCO Systems CISCO Systems
510 McCarthy Blvd 510 McCarthy Blvd
Milpitas, CA 95035 Milpitas, CA 95035
USA USA
Email: dekumar@cisco.com Email: dekumar@cisco.com
 End of changes. 98 change blocks. 
255 lines changed or deleted 166 lines changed or added

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