< draft-ietf-lime-yang-connectionless-oam-methods-08.txt   draft-ietf-lime-yang-connectionless-oam-methods-09.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: March 24, 2018 Q. Wu Expires: April 14, 2018 Q. Wu
Huawei Huawei
R. Rahman R. Rahman
S. Raghavan S. Raghavan
Cisco Cisco
September 20, 2017 October 11, 2017
Retrieval Methods YANG Data Model for Connectionless Operations, Retrieval Methods YANG Data Model for Connectionless Operations,
Administration, and Maintenance(OAM) protocols Administration, and Maintenance(OAM) protocols
draft-ietf-lime-yang-connectionless-oam-methods-08 draft-ietf-lime-yang-connectionless-oam-methods-09
Abstract Abstract
This document presents a retrieval method YANG Data model for This document presents a retrieval method YANG Data model for
connectionless OAM protocols. It provides technology-independent RPC connectionless OAM protocols. It provides technology-independent RPC
operations for connectionless OAM protocols. The retrieval methods operations for connectionless OAM protocols. The retrieval methods
model presented here can be extended to include technology specific model presented here can be extended to include technology specific
details. This is leading to uniformity between OAM protocols and details. This is leading to uniformity between OAM protocols and
support both nested OAM workflows (i.e., performing OAM functions at support both nested OAM workflows (i.e., performing OAM functions at
different levels through a unified interface) and interacting OAM different levels through a unified interface) and interacting OAM
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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 March 24, 2018. This Internet-Draft will expire on April 14, 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
(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 2, line 28 skipping to change at page 2, line 28
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 . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4
3. Overview of the Connectionless OAM retrieval methods Model . 4 3. Overview of the Connectionless OAM retrieval methods Model . 4
3.1. RPC operation definitions . . . . . . . . . . . . . . . . 5 3.1. RPC operation definitions . . . . . . . . . . . . . . . . 5
3.2. OAM Retrieval Methods Hierarchy . . . . . . . . . . . . . 7 3.2. OAM Retrieval Methods Hierarchy . . . . . . . . . . . . . 8
4. OAM Retrieval Methods YANG Module . . . . . . . . . . . . . . 14 4. OAM Retrieval Methods YANG Module . . . . . . . . . . . . . . 15
5. Security Considerations . . . . . . . . . . . . . . . . . . . 19 5. Security Considerations . . . . . . . . . . . . . . . . . . . 21
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.1. Normative References . . . . . . . . . . . . . . . . . . 20 7.1. Normative References . . . . . . . . . . . . . . . . . . 22
7.2. Informative References . . . . . . . . . . . . . . . . . 21 7.2. Informative References . . . . . . . . . . . . . . . . . 23
Appendix A. Appdendix A.1 Extending Connectionless OAM Method Appendix A. Appdendix A.1 Extending Connectionless OAM Method
Module Example . . . . . . . . . . . . . . . . . . . 21 Module Example . . . . . . . . . . . . . . . . . . . 24
Appendix B. Appendix A.2 Example of new retrieval procedures Appendix B. Appendix A.2 Example of new retrieval procedures
Model . . . . . . . . . . . . . . . . . . . . . . . 22 Model . . . . . . . . . . . . . . . . . . . . . . . 25
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35
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 reachability of destinations (Reachability Verification, 1. Monitor reachability of destinations (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 43 skipping to change at page 5, line 43
rpc continuity-check { rpc continuity-check {
if-feature coam:continuity-check; if-feature coam:continuity-check;
description description
"Continuity-check RPC operation as per RFC7276."; "Continuity-check RPC operation as per RFC7276.";
input { input {
uses rpc-input-parameters; uses rpc-input-parameters;
.... ....
} }
output { output {
container error-code { container error-code {
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used in CC. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref{ type identityref{
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code for CC."; "Error code for CC.";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
skipping to change at page 6, line 35 skipping to change at page 7, line 6
list response-list { list response-list {
key "response-index"; key "response-index";
description description
"Path discovery response list."; "Path discovery response list.";
leaf response-index { leaf response-index {
type uint32; type uint32;
mandatory true; mandatory true;
description description
"Response index."; "Response index.";
} }
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used in PD. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref{ type identityref{
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code for Path Discovery. "; "Error code for Path Discovery. ";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
skipping to change at page 7, line 23 skipping to change at page 8, line 16
The complete data hierarchy related to the Connectionless OAM The complete data hierarchy related to the Connectionless OAM
Retrieval Methods YANG model is presented below. Retrieval Methods YANG model is presented below.
module: ietf-connectionless-oam-methods module: ietf-connectionless-oam-methods
rpcs: rpcs:
+---x continuity-check {coam:continuity-check}? +---x continuity-check {coam:continuity-check}?
| +---w input | +---w input
| | +---w destination-tp | | +---w destination-tp
| | | +---w tp-location-type identityref | | | +---w tp-location-type identityref
| | | +---w tp-address | | | +---w mac-address
| | | +---w mac-address | | | | +---w mac-address yang:mac-address
| | | | +---w mac-address yang:mac-address | | | +---w ipv4-address
| | | +---w ipv4-address | | | | +---w ipv4-address inet:ipv4-address
| | | | +---w ipv4-address inet:ipv4-address | | | +---w ipv6-address
| | | +---w ipv6-address | | | | +---w ipv6-address inet:ipv6-address
| | | | +---w ipv6-address inet:ipv6-address | | | +---w tp-attribute
| | | +---w tp-attribute | | | | +---w tp-attribute-type? address-attribute-type
| | | | +---w tp-attribute-type? address-attribute-type | | | | +---w (tp-attribute-value)?
| | | | +---w (tp-attribute-value)? | | | | +--:(ip-prefix)
| | | | +--:(ip-prefix) | | | | | +---w ip-prefix? inet:ip-prefix
| | | | | +---w ip-prefix? inet:ip-prefix | | | | +--:(bgp)
| | | | +--:(bgp) | | | | | +---w bgp? inet:ip-prefix
| | | | | +---w bgp? inet:ip-prefix | | | | +--:(tunnel)
| | | | +--:(tunnel) | | | | | +---w tunnel-interface? uint32
| | | | | +---w tunnel-interface? uint32 | | | | +--:(pw)
| | | | +--:(pw) | | | | | +---w remote-pe-address? inet:ip-address
| | | | | +---w remote-pe-address? inet:ip-address | | | | | +---w pw-id? uint32
| | | | | +---w pw-id? uint32 | | | | +--:(vpls)
| | | | +--:(vpls) | | | | | +---w route-distinguisher? rt:route-distinguisher
| | | | | +---w route-distinguisher? rt:route-distinguisher | | | | | +---w sender-ve-id? uint16
| | | | | +---w sender-ve-id? uint16 | | | | | +---w receiver-ve-id? uint16
| | | | | +---w receiver-ve-id? uint16 | | | | +--:(mpls-mldp)
| | | | +--:(mpls-mldp) | | | | +---w (root-address)?
| | | | +---w (root-address)? | | | | +--:(ip-address)
| | | | +--:(ip-address) | | | | | +---w source-address? inet:ip-address
| | | | | +---w source-address? inet:ip-address | | | | | +---w group-ip-address? inet:ip-address
| | | | | +---w group-ip-address? inet:ip-address | | | | +--:(vpn)
| | | | +--:(vpn) | | | | | +---w as-number? inet:as-number
| | | | | +---w as-number? inet:as-number | | | | +--:(global-id)
| | | | +--:(global-id) | | | | +---w lsp-id? string
| | | | +---w lsp-id? string | | | +---w system-info
| | | +---w system-info | | | +---w system-id? rt:router-id
| | | +---w system-id? rt:router-id
| | +---w source-interface if:interface-ref | | +---w source-interface if:interface-ref
| | +---w outbound-interface if:interface-ref | | +---w outbound-interface if:interface-ref
| | +---w vrf? coam:routing-instance-ref | | +---w vrf? coam:routing-instance-ref
| | +---w session-type? enumeration
| | +---w count? uint32 | | +---w count? uint32
| | +---w ttl? uint8 | | +---w ttl? uint8
| | +---w packet-size? uint32 | | +---w packet-size? uint32
| +--ro output | +--ro output
| +--ro error-code | +--ro error-code
| | +--ro protocol-id identityref
| | +--ro protocol-id-meta-data uint64
| | +--ro status-code identityref | | +--ro status-code identityref
| | +--ro status-sub-code identityref | | +--ro status-sub-code identityref
| +--ro src-test-point | +--ro src-test-point
| | +--ro ni? routing-instance-ref | | +--ro ni? routing-instance-ref
| | +--ro tp-location-type identityref | | +--ro tp-location-type identityref
| | +--ro tp-address | | +--ro mac-address
| | | +--ro mac-address | | | +--ro mac-address yang:mac-address
| | | | +--ro mac-address yang:mac-address | | +--ro ipv4-address
| | | +--ro ipv4-address | | | +--ro ipv4-address inet:ipv4-address
| | | | +--ro ipv4-address inet:ipv4-address | | +--ro ipv6-address
| | | +--ro ipv6-address | | | +--ro ipv6-address inet:ipv6-address
| | | | +--ro ipv6-address inet:ipv6-address | | +--ro tp-attribute
| | | +--ro tp-attribute | | | +--ro tp-attribute-type? address-attribute-type
| | | | +--ro tp-attribute-type? address-attribute-type | | | +--ro (tp-attribute-value)?
| | | | +--ro (tp-attribute-value)? | | | +--:(ip-prefix)
| | | | +--:(ip-prefix) | | | | +--ro ip-prefix? inet:ip-prefix
| | | | | +--ro ip-prefix? inet:ip-prefix | | | +--:(bgp)
| | | | +--:(bgp) | | | | +--ro bgp? inet:ip-prefix
| | | | | +--ro bgp? inet:ip-prefix | | | +--:(tunnel)
| | | | +--:(tunnel) | | | | +--ro tunnel-interface? uint32
| | | | | +--ro tunnel-interface? uint32 | | | +--:(pw)
| | | | +--:(pw) | | | | +--ro remote-pe-address? inet:ip-address
| | | | | +--ro remote-pe-address? inet:ip-address | | | | +--ro pw-id? uint32
| | | | | +--ro pw-id? uint32 | | | +--:(vpls)
| | | | +--:(vpls) | | | | +--ro route-distinguisher? rt:route-distinguisher
| | | | | +--ro route-distinguisher? rt:route-distinguisher | | | | +--ro sender-ve-id? uint16
| | | | | +--ro sender-ve-id? uint16 | | | | +--ro receiver-ve-id? uint16
| | | | | +--ro receiver-ve-id? uint16 | | | +--:(mpls-mldp)
| | | | +--:(mpls-mldp) | | | +--ro (root-address)?
| | | | +--ro (root-address)? | | | +--:(ip-address)
| | | | +--:(ip-address) | | | | +--ro source-address? inet:ip-address
| | | | | +--ro source-address? inet:ip-address | | | | +--ro group-ip-address? inet:ip-address
| | | | | +--ro group-ip-address? inet:ip-address | | | +--:(vpn)
| | | | +--:(vpn) | | | | +--ro as-number? inet:as-number
| | | | | +--ro as-number? inet:as-number | | | +--:(global-id)
| | | | +--:(global-id) | | | +--ro lsp-id? string
| | | | +--ro lsp-id? string | | +--ro system-info
| | | +--ro system-info | | | +--ro system-id? rt:router-id
| | | +--ro system-id? rt:router-id
| | +--ro egress-intf-name? if:interface-ref | | +--ro egress-intf-name? if:interface-ref
| +--ro dest-test-point | +--ro dest-test-point
| | +--ro ni? routing-instance-ref | | +--ro ni? routing-instance-ref
| | +--ro tp-location-type identityref | | +--ro tp-location-type identityref
| | +--ro tp-address | | +--ro mac-address
| | | +--ro mac-address | | | +--ro mac-address yang:mac-address
| | | | +--ro mac-address yang:mac-address | | +--ro ipv4-address
| | | +--ro ipv4-address | | | +--ro ipv4-address inet:ipv4-address
| | | | +--ro ipv4-address inet:ipv4-address | | +--ro ipv6-address
| | | +--ro ipv6-address | | | +--ro ipv6-address inet:ipv6-address
| | | | +--ro ipv6-address inet:ipv6-address | | +--ro tp-attribute
| | | +--ro tp-attribute | | | +--ro tp-attribute-type? address-attribute-type
| | | | +--ro tp-attribute-type? address-attribute-type | | | +--ro (tp-attribute-value)?
| | | | +--ro (tp-attribute-value)? | | | +--:(ip-prefix)
| | | | +--:(ip-prefix) | | | | +--ro ip-prefix? inet:ip-prefix
| | | | | +--ro ip-prefix? inet:ip-prefix | | | +--:(bgp)
| | | | +--:(bgp) | | | | +--ro bgp? inet:ip-prefix
| | | | | +--ro bgp? inet:ip-prefix | | | +--:(tunnel)
| | | | +--:(tunnel) | | | | +--ro tunnel-interface? uint32
| | | | | +--ro tunnel-interface? uint32 | | | +--:(pw)
| | | | +--:(pw) | | | | +--ro remote-pe-address? inet:ip-address
| | | | | +--ro remote-pe-address? inet:ip-address | | | | +--ro pw-id? uint32
| | | | | +--ro pw-id? uint32 | | | +--:(vpls)
| | | | +--:(vpls) | | | | +--ro route-distinguisher? rt:route-distinguisher
| | | | | +--ro route-distinguisher? rt:route-distinguisher | | | | +--ro sender-ve-id? uint16
| | | | | +--ro sender-ve-id? uint16 | | | | +--ro receiver-ve-id? uint16
| | | | | +--ro receiver-ve-id? uint16 | | | +--:(mpls-mldp)
| | | | +--:(mpls-mldp) | | | +--ro (root-address)?
| | | | +--ro (root-address)? | | | +--:(ip-address)
| | | | +--:(ip-address) | | | | +--ro source-address? inet:ip-address
| | | | | +--ro source-address? inet:ip-address | | | | +--ro group-ip-address? inet:ip-address
| | | | | +--ro group-ip-address? inet:ip-address | | | +--:(vpn)
| | | | +--:(vpn) | | | | +--ro as-number? inet:as-number
| | | | | +--ro as-number? inet:as-number | | | +--:(global-id)
| | | | +--:(global-id) | | | +--ro lsp-id? string
| | | | +--ro lsp-id? string | | +--ro system-info
| | | +--ro system-info | | | +--ro system-id? rt:router-id
| | | +--ro system-id? rt:router-id
| | +--ro ingress-intf-name? if:interface-ref | | +--ro ingress-intf-name? if:interface-ref
| +--ro sequence-number? uint64 | +--ro sequence-number? uint64
| +--ro hop-cnt? uint8 | +--ro hop-cnt? uint8
| +--ro session-packet-statistics | +--ro session-packet-statistics
| | +--ro rx-packet-count? uint32 | | +--ro rx-packet-count? uint32
| | +--ro tx-packet-count? uint32 | | +--ro tx-packet-count? uint32
| | +--ro rx-bad-packet? uint32 | | +--ro rx-bad-packet? uint32
| | +--ro tx-packet-failed? uint32 | | +--ro tx-packet-failed? uint32
| +--ro session-error-statistics | +--ro session-error-statistics
| | +--ro packet-drops-count? uint32 | | +--ro packet-drops-count? uint32
skipping to change at page 10, line 24 skipping to change at page 11, line 17
| | +--ro average-delay-value? uint32 | | +--ro average-delay-value? uint32
| +--ro session-jitter-statistics | +--ro session-jitter-statistics
| +--ro time-resolution-value? identityref | +--ro time-resolution-value? identityref
| +--ro min-jitter-value? uint32 | +--ro min-jitter-value? uint32
| +--ro max-jitter-value? uint32 | +--ro max-jitter-value? uint32
| +--ro average-jitter-value? uint32 | +--ro average-jitter-value? uint32
+---x path-discovery {coam:path-discovery}? +---x path-discovery {coam:path-discovery}?
+---w input +---w input
| +---w destination-tp | +---w destination-tp
| | +---w tp-location-type identityref | | +---w tp-location-type identityref
| | +---w tp-address | | +---w mac-address
| | +---w mac-address | | | +---w mac-address yang:mac-address
| | | +---w mac-address yang:mac-address | | +---w ipv4-address
| | +---w ipv4-address | | | +---w ipv4-address inet:ipv4-address
| | | +---w ipv4-address inet:ipv4-address | | +---w ipv6-address
| | +---w ipv6-address | | | +---w ipv6-address inet:ipv6-address
| | | +---w ipv6-address inet:ipv6-address | | +---w tp-attribute
| | +---w tp-attribute | | | +---w tp-attribute-type? address-attribute-type
| | | +---w tp-attribute-type? address-attribute-type | | | +---w (tp-attribute-value)?
| | | +---w (tp-attribute-value)? | | | +--:(ip-prefix)
| | | +--:(ip-prefix) | | | | +---w ip-prefix? inet:ip-prefix
| | | | +---w ip-prefix? inet:ip-prefix | | | +--:(bgp)
| | | +--:(bgp) | | | | +---w bgp? inet:ip-prefix
| | | | +---w bgp? inet:ip-prefix | | | +--:(tunnel)
| | | +--:(tunnel) | | | | +---w tunnel-interface? uint32
| | | | +---w tunnel-interface? uint32 | | | +--:(pw)
| | | +--:(pw) | | | | +---w remote-pe-address? inet:ip-address
| | | | +---w remote-pe-address? inet:ip-address | | | | +---w pw-id? uint32
| | | | +---w pw-id? uint32 | | | +--:(vpls)
| | | +--:(vpls) | | | | +---w route-distinguisher? rt:route-distinguisher
| | | | +---w route-distinguisher? rt:route-distinguisher | | | | +---w sender-ve-id? uint16
| | | | +---w sender-ve-id? uint16 | | | | +---w receiver-ve-id? uint16
| | | | +---w receiver-ve-id? uint16 | | | +--:(mpls-mldp)
| | | +--:(mpls-mldp) | | | +---w (root-address)?
| | | +---w (root-address)? | | | +--:(ip-address)
| | | +--:(ip-address) | | | | +---w source-address? inet:ip-address
| | | | +---w source-address? inet:ip-address | | | | +---w group-ip-address? inet:ip-address
| | | | +---w group-ip-address? inet:ip-address | | | +--:(vpn)
| | | +--:(vpn) | | | | +---w as-number? inet:as-number
| | | | +---w as-number? inet:as-number | | | +--:(global-id)
| | | +--:(global-id) | | | +---w lsp-id? string
| | | +---w lsp-id? string | | +---w system-info
| | +---w system-info | | +---w system-id? rt:router-id
| | +---w system-id? rt:router-id
| +---w source-interface if:interface-ref | +---w source-interface if:interface-ref
| +---w outbound-interface if:interface-ref | +---w outbound-interface if:interface-ref
| +---w vrf? coam:routing-instance-ref | +---w vrf? coam:routing-instance-ref
| +---w session-type? enumeration
| +---w max-ttl? uint8 | +---w max-ttl? uint8
+--ro output +--ro output
+--ro response-list* [response-index] +--ro response-list* [response-index]
| +--ro response-index uint32 | +--ro response-index uint32
| +--ro protocol-id identityref
| +--ro protocol-id-meta-data uint64
| +--ro status-code identityref | +--ro status-code identityref
| +--ro status-sub-code identityref | +--ro status-sub-code identityref
+--ro src-test-point +--ro src-test-point
| +--ro ni? routing-instance-ref | +--ro ni? routing-instance-ref
| +--ro tp-location-type identityref | +--ro tp-location-type identityref
| +--ro tp-address | +--ro mac-address
| +--ro mac-address | | +--ro mac-address yang:mac-address
| | +--ro mac-address yang:mac-address | +--ro ipv4-address
| +--ro ipv4-address | | +--ro ipv4-address inet:ipv4-address
| | +--ro ipv4-address inet:ipv4-address | +--ro ipv6-address
| +--ro ipv6-address | | +--ro ipv6-address inet:ipv6-address
| | +--ro ipv6-address inet:ipv6-address | +--ro tp-attribute
| +--ro tp-attribute | | +--ro tp-attribute-type? address-attribute-type
| | +--ro tp-attribute-type? address-attribute-type | | +--ro (tp-attribute-value)?
| | +--ro (tp-attribute-value)? | | +--:(ip-prefix)
| | +--:(ip-prefix) | | | +--ro ip-prefix? inet:ip-prefix
| | | +--ro ip-prefix? inet:ip-prefix | | +--:(bgp)
| | +--:(bgp) | | | +--ro bgp? inet:ip-prefix
| | | +--ro bgp? inet:ip-prefix | | +--:(tunnel)
| | +--:(tunnel) | | | +--ro tunnel-interface? uint32
| | | +--ro tunnel-interface? uint32 | | +--:(pw)
| | +--:(pw) | | | +--ro remote-pe-address? inet:ip-address
| | | +--ro remote-pe-address? inet:ip-address | | | +--ro pw-id? uint32
| | | +--ro pw-id? uint32 | | +--:(vpls)
| | +--:(vpls) | | | +--ro route-distinguisher? rt:route-distinguisher
| | | +--ro route-distinguisher? rt:route-distinguisher | | | +--ro sender-ve-id? uint16
| | | +--ro sender-ve-id? uint16 | | | +--ro receiver-ve-id? uint16
| | | +--ro receiver-ve-id? uint16 | | +--:(mpls-mldp)
| | +--:(mpls-mldp) | | +--ro (root-address)?
| | +--ro (root-address)? | | +--:(ip-address)
| | +--:(ip-address) | | | +--ro source-address? inet:ip-address
| | | +--ro source-address? inet:ip-address | | | +--ro group-ip-address? inet:ip-address
| | | +--ro group-ip-address? inet:ip-address | | +--:(vpn)
| | +--:(vpn) | | | +--ro as-number? inet:as-number
| | | +--ro as-number? inet:as-number | | +--:(global-id)
| | +--:(global-id) | | +--ro lsp-id? string
| | +--ro lsp-id? string | +--ro system-info
| +--ro system-info | +--ro system-id? rt:router-id
| +--ro system-id? rt:router-id
+--ro dest-test-point +--ro dest-test-point
| +--ro ni? routing-instance-ref | +--ro ni? routing-instance-ref
| +--ro tp-location-type identityref | +--ro tp-location-type identityref
| +--ro tp-address | +--ro mac-address
| +--ro mac-address | | +--ro mac-address yang:mac-address
| | +--ro mac-address yang:mac-address | +--ro ipv4-address
| +--ro ipv4-address | | +--ro ipv4-address inet:ipv4-address
| | +--ro ipv4-address inet:ipv4-address | +--ro ipv6-address
| +--ro ipv6-address | | +--ro ipv6-address inet:ipv6-address
| | +--ro ipv6-address inet:ipv6-address | +--ro tp-attribute
| +--ro tp-attribute | | +--ro tp-attribute-type? address-attribute-type
| | +--ro tp-attribute-type? address-attribute-type | | +--ro (tp-attribute-value)?
| | +--ro (tp-attribute-value)? | | +--:(ip-prefix)
| | +--:(ip-prefix) | | | +--ro ip-prefix? inet:ip-prefix
| | | +--ro ip-prefix? inet:ip-prefix | | +--:(bgp)
| | +--:(bgp) | | | +--ro bgp? inet:ip-prefix
| | | +--ro bgp? inet:ip-prefix | | +--:(tunnel)
| | +--:(tunnel) | | | +--ro tunnel-interface? uint32
| | | +--ro tunnel-interface? uint32 | | +--:(pw)
| | +--:(pw) | | | +--ro remote-pe-address? inet:ip-address
| | | +--ro remote-pe-address? inet:ip-address | | | +--ro pw-id? uint32
| | | +--ro pw-id? uint32 | | +--:(vpls)
| | +--:(vpls) | | | +--ro route-distinguisher? rt:route-distinguisher
| | | +--ro route-distinguisher? rt:route-distinguisher | | | +--ro sender-ve-id? uint16
| | | +--ro sender-ve-id? uint16 | | | +--ro receiver-ve-id? uint16
| | | +--ro receiver-ve-id? uint16 | | +--:(mpls-mldp)
| | +--:(mpls-mldp) | | +--ro (root-address)?
| | +--ro (root-address)? | | +--:(ip-address)
| | +--:(ip-address) | | | +--ro source-address? inet:ip-address
| | | +--ro source-address? inet:ip-address | | | +--ro group-ip-address? inet:ip-address
| | | +--ro group-ip-address? inet:ip-address | | +--:(vpn)
| | +--:(vpn) | | | +--ro as-number? inet:as-number
| | | +--ro as-number? inet:as-number | | +--:(global-id)
| | +--:(global-id) | | +--ro lsp-id? string
| | +--ro lsp-id? string | +--ro system-info
| +--ro system-info | +--ro system-id? rt:router-id
| +--ro system-id? rt:router-id
+--ro sequence-number? uint64 +--ro sequence-number? uint64
+--ro hop-cnt? uint8 +--ro hop-cnt? uint8
+--ro session-packet-statistics +--ro session-packet-statistics
| +--ro rx-packet-count? uint32 | +--ro rx-packet-count? uint32
| +--ro tx-packet-count? uint32 | +--ro tx-packet-count? uint32
| +--ro rx-bad-packet? uint32 | +--ro rx-bad-packet? uint32
| +--ro tx-packet-failed? uint32 | +--ro tx-packet-failed? uint32
+--ro session-error-statistics +--ro session-error-statistics
| +--ro packet-drops-count? uint32 | +--ro packet-drops-count? uint32
| +--ro packet-reorder-count? uint32 | +--ro packet-reorder-count? uint32
skipping to change at page 13, line 29 skipping to change at page 14, line 22
+--ro path-verification +--ro path-verification
| +--ro flow-info? string | +--ro flow-info? string
| +--ro session-path-verification-statistics | +--ro session-path-verification-statistics
| +--ro verified-count? uint32 | +--ro verified-count? uint32
| +--ro failed-count? uint32 | +--ro failed-count? uint32
+--ro path-trace-info +--ro path-trace-info
+--ro path-trace-info-list* [index] +--ro path-trace-info-list* [index]
+--ro index uint32 +--ro index uint32
+--ro ni? routing-instance-ref +--ro ni? routing-instance-ref
+--ro tp-location-type identityref +--ro tp-location-type identityref
+--ro tp-address +--ro mac-address
| +--ro mac-address | +--ro mac-address yang:mac-address
| | +--ro mac-address yang:mac-address +--ro ipv4-address
| +--ro ipv4-address | +--ro ipv4-address inet:ipv4-address
| | +--ro ipv4-address inet:ipv4-address +--ro ipv6-address
| +--ro ipv6-address | +--ro ipv6-address inet:ipv6-address
| | +--ro ipv6-address inet:ipv6-address +--ro tp-attribute
| +--ro tp-attribute | +--ro tp-attribute-type? address-attribute-type
| | +--ro tp-attribute-type? address-attribute-type | +--ro (tp-attribute-value)?
| | +--ro (tp-attribute-value)? | +--:(ip-prefix)
| | +--:(ip-prefix) | | +--ro ip-prefix? inet:ip-prefix
| | | +--ro ip-prefix? inet:ip-prefix | +--:(bgp)
| | +--:(bgp) | | +--ro bgp? inet:ip-prefix
| | | +--ro bgp? inet:ip-prefix | +--:(tunnel)
| | +--:(tunnel) | | +--ro tunnel-interface? uint32
| | | +--ro tunnel-interface? uint32 | +--:(pw)
| | +--:(pw) | | +--ro remote-pe-address? inet:ip-address
| | | +--ro remote-pe-address? inet:ip-address | | +--ro pw-id? uint32
| | | +--ro pw-id? uint32 | +--:(vpls)
| | +--:(vpls) | | +--ro route-distinguisher? rt:route-distinguisher
| | | +--ro route-distinguisher? rt:route-distinguisher | | +--ro sender-ve-id? uint16
| | | +--ro sender-ve-id? uint16 | | +--ro receiver-ve-id? uint16
| | | +--ro receiver-ve-id? uint16 | +--:(mpls-mldp)
| | +--:(mpls-mldp) | +--ro (root-address)?
| | +--ro (root-address)? | +--:(ip-address)
| | +--:(ip-address) | | +--ro source-address? inet:ip-address
| | | +--ro source-address? inet:ip-address | | +--ro group-ip-address? inet:ip-address
| | | +--ro group-ip-address? inet:ip-address | +--:(vpn)
| | +--:(vpn) | | +--ro as-number? inet:as-number
| | | +--ro as-number? inet:as-number | +--:(global-id)
| | +--:(global-id) | +--ro lsp-id? string
| | +--ro lsp-id? string +--ro system-info
| +--ro system-info | +--ro system-id? rt:router-id
| +--ro system-id? rt:router-id
+--ro timestamp-type? uint32 +--ro timestamp-type? uint32
+--ro timestamp-sec? uint32 +--ro timestamp-sec? uint32
+--ro timestamp-nanosec? uint32 +--ro timestamp-nanosec? uint32
+--ro ingress-intf-name? if:interface-ref +--ro ingress-intf-name? if:interface-ref
+--ro egress-intf-name? if:interface-ref +--ro egress-intf-name? if:interface-ref
+--ro queue-depth? uint32 +--ro queue-depth? uint32
+--ro transit-delay? uint32 +--ro transit-delay? uint32
+--ro app-meta-data? uint64 +--ro app-meta-data? uint64
data hierarchy of OAM Retrieval Methods data hierarchy of OAM Retrieval Methods
skipping to change at page 15, line 12 skipping to change at page 16, line 4
in a protocol Independent manner. in a protocol Independent manner.
It is assumed that each protocol maps 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-09-06{ revision 2017-09-06{
description description
"08 version"; "08 version";
reference "draft-ietf-lime-yang-connectionless-oam-methods"; reference "draft-ietf-lime-yang-connectionless-oam-methods";
} }
identity protocol-id {
description
"A generic protocol identifier.";
}
identity protocol-id-internet {
base protocol-id;
description
"Internet Protocols.";
}
identity protocol-id-propreitary {
base protocol-id;
description
"Propreitary protocol (eg.,IP SLA).";
}
identity protocol-id-sfc {
base protocol-id;
description
"Service Function Chaining.";
}
identity protocol-id-mpls {
base protocol-id;
description
"MPLS protocol.";
}
identity protocol-id-mpls-tp {
base protocol-id;
description
"MPLS-TP protocol.";
}
identity protocol-id-twamp {
base protocol-id;
description
"TWAMP protocol.";
}
identity protocol-id-bier {
base protocol-id;
description
"BIER protocol.";
}
identity status-code{ identity status-code{
description description
"Base status code"; "Base status code";
} }
identity invalid-cc{ identity invalid-cc{
base status-code; base status-code;
description description
"Indicates that the Continuity check message is invalid"; "Indicates that the Continuity check message is invalid";
} }
skipping to change at page 16, line 25 skipping to change at page 18, line 15
if-feature "coam:continuity-check"; if-feature "coam:continuity-check";
description description
"Continuity-check RPC operation as per RFC7276."; "Continuity-check RPC operation as per RFC7276.";
input { input {
uses rpc-input-parameters; uses rpc-input-parameters;
uses coam:session-type { uses coam:session-type {
description "If session-type is specified, then session-type description "If session-type is specified, then session-type
must be set to on-demand"; must be set to on-demand";
} }
leaf count { leaf count {
type uint32; type uint32 {
range 1..4294967295 {
description
"The overall number of packet to be transmitted
by the sender. If the count is set to 4294967295,
it indicates that the session will be run forever";
}
}
default "5"; default "5";
description description
"Specifies the number of "Specifies the number of
packets that will be sent. By packets that will be sent. By
default, the packet number is default, the packet number is
set to 5."; set to 5.";
} }
leaf ttl { leaf ttl {
type uint8; type uint8;
default "255"; default "255";
skipping to change at page 17, line 4 skipping to change at page 18, line 49
} }
leaf packet-size { leaf packet-size {
type uint32 { type uint32 {
range "64..10000"; range "64..10000";
} }
default "64"; default "64";
description description
"Packet size of continuity-check message, in octets. "Packet size of continuity-check message, in octets.
By default, the packet size is set to 64 octets."; By default, the packet size is set to 64 octets.";
} }
} }
output { output {
container error-code { container error-code {
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used in CC. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref{ type identityref{
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code for continuity-check message. For example, Error code in "Error code for continuity-check message, that is
ICMPv6 message includes relevant to the protocol under use for CC.
1-Destination Unreachable For example if ICMP is the protocol under use, the
2- Packet Too Big error codes are as defined in [RFC4443].";
3- Time Exceeded
4- Parameter Problem [RFC4443].";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
base status-sub-code; base status-sub-code;
} }
mandatory true; mandatory true;
description description
"Sub code for continuity-check message. For example Sub code in "Error sub code for continuity-check message, that is
ICMPv6 Parameter Problem Message includes: relevant to the error-code reported of the protocol
1-Erroneous header field encountered that is used for CC.";
2-Unrecognized Next Header type encountered
3-Unrecognized IPv6 option encountered.";
} }
description description
"Error code and Sub Code for continuity-check message."; "Error code and Sub Code for continuity-check message.";
} }
uses coam:continuity-check-data; uses coam:continuity-check-data;
} }
} }
rpc path-discovery { rpc path-discovery {
if-feature "coam:path-discovery"; if-feature "coam:path-discovery";
skipping to change at page 18, line 21 skipping to change at page 20, line 33
list response-list { list response-list {
key "response-index"; key "response-index";
description description
"Path discovery response list."; "Path discovery response list.";
leaf response-index { leaf response-index {
type uint32; type uint32;
mandatory true; mandatory true;
description description
"Response index."; "Response index.";
} }
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used in PD. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref{ type identityref{
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code for Path Discovery message. "Error code for path-discovery response message, that is
For example, Error code in ICMPv6 message includes relevant to the protocol under use for PD.
1-Destination Unreachable For example if ICMP is the protocol under use, the
2- Packet Too Big error codes are as defined in [RFC4443].";
3- Time Exceeded
4- Parameter Problem [RFC4443]. ";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
base status-sub-code; base status-sub-code;
} }
mandatory true; mandatory true;
description description
"Sub code for Path Discovery message. For example Sub code in "Error sub code for path-discovery message, that is
ICMPv6 Parameter Problem Message includes: relevant to the error-code reported of the protocol
1-Erroneous header field encountered that is used for PD.";
2-Unrecognized Next Header type encountered
3-Unrecognized IPv6 option encountered ";
} }
} }
uses coam:path-discovery-data; uses coam:path-discovery-data;
} }
} }
} }
<CODE ENDS> <CODE ENDS>
5. Security Considerations 5. Security Considerations
The YANG module defined in this document is designed to be accessed The YANG module defined in this document is designed to be accessed
via network management protocols such as NETCONF [RFC6241] or via network management protocols such as NETCONF [RFC6241] or
RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport
layer, and the mandatory-to-implement secure transport is Secure layer, and the mandatory-to-implement secure transport is Secure
Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the
mandatory-to-implement secure transport is TLS [RFC5246]. mandatory-to-implement secure transport is TLS [RFC5246].
skipping to change at page 20, line 16 skipping to change at page 22, line 45
reference: RFC XXXX reference: RFC XXXX
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-lime-yang-connectionless-oam] [I-D.ietf-lime-yang-connectionless-oam]
Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan, Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan,
"Generic YANG Data Model for Connectionless Operations, "Generic YANG Data Model for Connectionless Operations,
Administration, and Maintenance(OAM) protocols", draft- Administration, and Maintenance(OAM) protocols", draft-
ietf-lime-yang-connectionless-oam-10 (work in progress), ietf-lime-yang-connectionless-oam-11 (work in progress),
September 2017. September 2017.
[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-editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, (TLS) Protocol Version 1.2", RFC 5246,
DOI 10.17487/RFC5246, August 2008, DOI 10.17487/RFC5246, August 2008,
<https://www.rfc-editor.org/info/rfc5246>. <https://www.rfc-editor.org/info/rfc5246>.
skipping to change at page 21, line 18 skipping to change at page 23, line 48
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>. <https://www.rfc-editor.org/info/rfc8040>.
7.2. Informative References 7.2. Informative References
[I-D.ietf-netconf-yang-push] [I-D.ietf-netconf-yang-push]
Clemm, A., Voit, E., Prieto, A., Tripathy, A., Nilsen- Clemm, A., Voit, E., Prieto, A., Tripathy, A., Nilsen-
Nygaard, E., Bierman, A., and B. Lengyel, "Subscribing to Nygaard, E., Bierman, A., and B. Lengyel, "Subscribing to
YANG datastore push updates", draft-ietf-netconf-yang- YANG datastore push updates", draft-ietf-netconf-yang-
push-09 (work in progress), September 2017. push-10 (work in progress), October 2017.
[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", STD 89, Protocol Version 6 (IPv6) Specification", STD 89,
RFC 4443, DOI 10.17487/RFC4443, March 2006, RFC 4443, DOI 10.17487/RFC4443, March 2006,
<https://www.rfc-editor.org/info/rfc4443>. <https://www.rfc-editor.org/info/rfc4443>.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
<https://www.rfc-editor.org/info/rfc5880>. <https://www.rfc-editor.org/info/rfc5880>.
skipping to change at page 23, line 28 skipping to change at page 26, line 26
identity ipfix-export { identity ipfix-export {
base export-method; base export-method;
description description
"IPFIX based export. Configuration provided separately."; "IPFIX based export. Configuration provided separately.";
} }
identity yang-push-export { identity yang-push-export {
base export-method; base export-method;
description description
"Yang-push from draft-ietf-netconf-yang-push"; "Yang-push from draft-ietf-netconf-yang-push";
} }
identity protocol-id {
description
"A generic protocol identifier.";
}
identity status-code{ identity status-code{
description description
"Base status code"; "Base status code";
} }
identity invalid-cc{ identity invalid-cc{
base status-code; base status-code;
description description
"Indicates that the Continuity check message is invalid"; "Indicates that the Continuity check message is invalid";
} }
skipping to change at page 25, line 9 skipping to change at page 28, line 10
"Outbound interface."; "Outbound interface.";
} }
leaf vrf { leaf vrf {
type coam:routing-instance-ref; type coam:routing-instance-ref;
description description
"VRF instance."; "VRF instance.";
} }
} }
output { output {
container error-code { container error-code {
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref{ type identityref{
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code."; "Error code.";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
skipping to change at page 26, line 4 skipping to change at page 29, line 24
export."; export.";
input { input {
leaf cc-persistent-id { leaf cc-persistent-id {
type string; type string;
description description
"Persistent Id for use as a key in search."; "Persistent Id for use as a key in search.";
} }
} }
output { output {
container error-code { container error-code {
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref{ type identityref{
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code."; "Error code.";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
skipping to change at page 28, line 9 skipping to change at page 31, line 49
list response-list { list response-list {
key "response-index"; key "response-index";
description description
"Path discovery response list."; "Path discovery response list.";
leaf response-index { leaf response-index {
type uint32; type uint32;
mandatory true; mandatory true;
description description
"Response index."; "Response index.";
} }
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref { type identityref {
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code for Persistent Path Discovery Information. "; "Error code for Persistent Path Discovery Information. ";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
skipping to change at page 29, line 11 skipping to change at page 33, line 21
list response-list { list response-list {
key "response-index"; key "response-index";
description description
"Path discovery response list."; "Path discovery response list.";
leaf response-index { leaf response-index {
type uint32; type uint32;
mandatory true; mandatory true;
description description
"Response index."; "Response index.";
} }
leaf protocol-id {
type identityref {
base protocol-id;
}
mandatory true;
description
"Protocol used. This could be a standard
protocol (eg., TCP/IP protocols, MPLS etc.,)
or a proprietary protocol as identified by
this field.";
}
leaf protocol-id-meta-data {
type uint64;
description
"An optional meta-data related to the protocol ID.
For eg., this could be the Internet Protocol number
for standard Internet Protocols for help in protocol
processing.";
}
leaf status-code { leaf status-code {
type identityref{ type identityref{
base status-code; base status-code;
} }
mandatory true; mandatory true;
description description
"Error code for Persistent Path Discovery Creation. "; "Error code for Persistent Path Discovery Creation. ";
} }
leaf status-sub-code { leaf status-sub-code {
type identityref{ type identityref{
 End of changes. 41 change blocks. 
290 lines changed or deleted 491 lines changed or added

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