| < draft-ietf-lime-yang-connectionless-oam-methods-05.txt | draft-ietf-lime-yang-connectionless-oam-methods-06.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 4, 2018 Q. Wu | |||
| Huawei | Huawei | |||
| R. Rahman | R. Rahman | |||
| S. Raghavan | S. Raghavan | |||
| Cisco | Cisco | |||
| June 16, 2017 | August 31, 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-05 | draft-ietf-lime-yang-connectionless-oam-methods-06 | |||
| 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 a technology-independent | connectionless OAM protocols. It provides technology-independent RPC | |||
| RPC commands 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 interactive OAM | different levels through a unified interface) and interacting OAM | |||
| workflows ( i.e., performing OAM functions at same levels through a | workflows ( i.e., performing OAM functions at same levels through a | |||
| unified interface). | unified interface). | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 4, 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 27 ¶ | skipping to change at page 2, line 27 ¶ | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| 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 definitions . . . . . . . . . . . . . . . . . . . . . 5 | 3.1. RPC operation definitions . . . . . . . . . . . . . . . . 5 | |||
| 3.2. OAM Retrieval Methods Hierarchy . . . . . . . . . . . . . 8 | 3.2. OAM Retrieval Methods Hierarchy . . . . . . . . . . . . . 8 | |||
| 4. OAM Retrieval Methods YANG Module . . . . . . . . . . . . . . 17 | 4. OAM Retrieval Methods YANG Module . . . . . . . . . . . . . . 15 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 21 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 20 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 22 | 7.2. Informative References . . . . . . . . . . . . . . . . . 21 | |||
| Appendix A. Appendix . . . . . . . . . . . . . . . . . . . . . . 23 | Appendix A. Appdendix A.1 . . . . . . . . . . . . . . . . . . . 22 | |||
| A.1. OAM Retrieval Persistent Methods YANG Module . . . . . . 23 | Appendix B. Appendix A.2 . . . . . . . . . . . . . . . . . . . . 22 | |||
| B.1. OAM Retrieval Persistent Methods YANG Module . . . . . . 23 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 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). | |||
| skipping to change at page 3, line 12 ¶ | skipping to change at page 3, line 12 ¶ | |||
| An overview of OAM tools is presented at [RFC7276]. | An overview of OAM tools is presented at [RFC7276]. | |||
| Ping and Traceroute [RFC792], [RFC4443] and BFD [RFC5880] are well- | Ping and Traceroute [RFC792], [RFC4443] and BFD [RFC5880] are well- | |||
| known fault verification and isolation tools, respectively, for IP | known fault verification and isolation tools, respectively, for IP | |||
| networks. Over the years, different technologies have developed | networks. Over the years, different technologies have developed | |||
| similar tools for similar purposes. | similar tools for similar purposes. | |||
| In this document, we present a retrieval method YANG Data model for | In this document, we present a retrieval method YANG Data model for | |||
| connectionless OAM protocols. This module provides technology- | connectionless OAM protocols. This module provides technology- | |||
| independent RPC commands for connectionless OAM protocols. It is | independent RPC operations for connectionless OAM protocols. It is | |||
| separated from the generic YANG model for connectionless OAM | separated from the generic YANG model for connectionless OAM | |||
| [I-D.ietf-lime-yang-connectionless-oam] and can avoid mixing the | [I-D.ietf-lime-yang-connectionless-oam] and can avoid mixing the | |||
| models for the retrieved-data from the retrieval procedures. It is | models for the retrieved-data from the retrieval procedures. It is | |||
| expected that retrieval procedures would evolve faster than the data | expected that retrieval procedures would evolve faster than the data | |||
| model [I-D.ietf-lime-yang-connectionless-oam] and will allow new | model [I-D.ietf-lime-yang-connectionless-oam] and will allow new | |||
| procedures to be defined for retrieval of the same data defined by | procedures to be defined for retrieval of the same data defined by | |||
| the base data model. | the base data model. | |||
| 2. Conventions used in this document | 2. Conventions used in this document | |||
| skipping to change at page 3, line 52 ¶ | skipping to change at page 3, line 52 ¶ | |||
| The terminology for describing YANG data models is found in | The terminology for describing YANG data models is found in | |||
| [RFC6020]. | [RFC6020]. | |||
| 2.1. Terminology | 2.1. Terminology | |||
| TP - Test Point | TP - Test Point | |||
| MAC - Media Access Control | MAC - Media Access Control | |||
| RPC - A Remote Procedure Call, as used within the NETCONF protocol | RPC - A Remote Procedure Call | |||
| RPC operation - A specific Remote Procedure Call | ||||
| 2.2. Tree Diagrams | 2.2. Tree Diagrams | |||
| A simplified graphical representation of the data model is used in | A simplified graphical representation of the data model is used in | |||
| this document. The meaning of the symbols in these diagrams is as | this document. The meaning of the symbols in these diagrams is as | |||
| follows: | follows: | |||
| Each node is printed as: | Each node is printed as: | |||
| <status> <flags> <name> <opts> <type> | <status> <flags> <name> <opts> <type> | |||
| skipping to change at page 4, line 43 ¶ | skipping to change at page 4, line 44 ¶ | |||
| ! for a presence container | ! for a presence container | |||
| * for a leaf-list or list | * for a leaf-list or list | |||
| [<keys>] for a list's keys | [<keys>] for a list's keys | |||
| <type> is the name of the type for leafs and leaf-lists | <type> is the name of the type for leafs and leaf-lists | |||
| 3. Overview of the Connectionless OAM retrieval methods Model | 3. Overview of the Connectionless OAM retrieval methods Model | |||
| In this document, we present a retrieval method YANG Data model for | In this document, we present a retrieval method YANG Data model for | |||
| connectionless OAM protocols. This module provides technology- | connectionless OAM protocols. This module provides technology- | |||
| independent retrieval procedures (RPC commands) for connectionless | independent retrieval procedures (RPC operations) for connectionless | |||
| OAM protocols. It provides a flexible way to retrieve the retrieved- | OAM protocols. It provides a flexible way to retrieve the data which | |||
| data which defined by the "ietf-connectionless-oam.yang" | defined by the "ietf-connectionless-oam.yang" | |||
| [I-D.ietf-lime-yang-connectionless-oam]. | [I-D.ietf-lime-yang-connectionless-oam]. | |||
| 3.1. RPC definitions | 3.1. RPC operation definitions | |||
| The RPC model facilitates issuing commands to a NETCONF server (in | The RPC model facilitates issuing commands to a NETCONF server (in | |||
| this case to the device that need to execute the OAM command) and | this case to the device that need to execute the OAM command) and | |||
| obtaining a response. | obtaining a response. | |||
| Under 'connectionless-oam-methods' module, we summarize the common | Under 'connectionless-oam-methods' module, we summarize common OAM | |||
| OAM functions and define the generic RPC commands: 'continuity-check' | functions and define two generic RPC operations: 'continuity-check' | |||
| and 'path-discovery'. In practice, these commands are supported by | and 'path-discovery'. In practice, these RPC operations are | |||
| corresponding technology-specific OAM tools [RFC7276]. For example, | supported by corresponding technology-specific OAM tools [RFC7276]. | |||
| for the IP OAM model, the continuity-check RPC corresponds to the IP | For example, for the IP OAM model, the continuity-check RPC | |||
| Ping [RFC792] [RFC4443], while the path-discovery RPC command | corresponds to the IP Ping [RFC792] [RFC4443], while the path- | |||
| corresponds to IP Traceroute [RFC792] [RFC4443]. | discovery RPC operation corresponds to IP Traceroute [RFC792] | |||
| [RFC4443]. | ||||
| Note that the RPC command presented in this document is the base | Note that the RPC operation presented in this document is the base | |||
| building block, which is used to derive a model for a technology- | building block, which is used to derive a model for a technology- | |||
| specific OAM (i.e., ICMP ping [RFC792] [RFC4443], LSP ping | specific OAM (i.e., ICMP ping [RFC792] [RFC4443], LSP ping | |||
| [RFC8029]), the base building block should be extended with | [RFC8029]), the base building block should be extended with | |||
| corresponding technology specific parameters. To facilitate this and | corresponding technology specific parameters. To facilitate this for | |||
| for future enhancements to data retrieval methods, the RPCs are | future enhancements to data retrieval methods, the RPCs are captured | |||
| captured under a separate module. | under a separate module. | |||
| The generic 'path-discovery-data' and 'continuity-check-data' are | The generic 'path-discovery-data' and 'continuity-check-data' | |||
| used as data outputs from the different RPCs described in the | groupings are used as data outputs from different RPCs described in | |||
| document. Similar methods including other RPCs can retrieve the data | this document. Similar methods including other RPCs can retrieve the | |||
| using the same data model. | data using the same data model. | |||
| rpc continuity-check { | rpc continuity-check { | |||
| if-feature coam:continuity-check; | if-feature coam:continuity-check; | |||
| description | description | |||
| "Generates continuity-check as per RFC7276."; | "Generates continuity-check as per RFC7276."; | |||
| input { | input { | |||
| container destination-tp { | container destination-tp { | |||
| uses coam:tp-address; | uses coam:tp-address; | |||
| description | description | |||
| "destination test point."; | "destination test point."; | |||
| skipping to change at page 6, line 4 ¶ | skipping to change at page 6, line 5 ¶ | |||
| leaf source-interface { | leaf source-interface { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "source interface."; | "source interface."; | |||
| } | } | |||
| leaf outbound-interface { | leaf outbound-interface { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "outbound interface."; | "outbound interface."; | |||
| } | } | |||
| leaf count { | leaf count { | |||
| type uint32; | type empty; | |||
| default "5"; | ||||
| description | description | |||
| "Specifies the number of packets that will be sent."; | "Specifies the number of packets that will be sent."; | |||
| } | } | |||
| leaf vrf { | leaf vrf { | |||
| type coam:routing-instance-ref; | type coam:routing-instance-ref; | |||
| description | description | |||
| "vrf instance."; | "vrf instance."; | |||
| } | } | |||
| leaf ttl { | leaf ttl { | |||
| type uint8; | type uint8; | |||
| skipping to change at page 8, line 19 ¶ | skipping to change at page 8, line 19 ¶ | |||
| description | description | |||
| "sub code is "; | "sub code is "; | |||
| } | } | |||
| } | } | |||
| uses coam:path-discovery-data; | uses coam:path-discovery-data; | |||
| } | } | |||
| } | } | |||
| Snippet of data hierarchy related to RPC calls | Snippet of data hierarchy related to RPC operations | |||
| 3.2. OAM Retrieval Methods Hierarchy | 3.2. OAM Retrieval Methods Hierarchy | |||
| 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-address-type-value? identityref | | | | +---w tp-location-type? identityref | |||
| | | | +---w (tp-address)? | | | | +---w tp-address | |||
| | | | +--:(mac-address) | | | | +---w mac-address | |||
| | | | | +---w mac-address? yang:mac-address | | | | | +---w mac-address? yang:mac-address | |||
| | | | +--:(ipv4-address) | | | | +---w ipv4-address | |||
| | | | | +---w ipv4-address? inet:ipv4-address | | | | | +---w ipv4-address? inet:ipv4-address | |||
| | | | +--:(ipv6-address) | | | | +---w ipv6-address | |||
| | | | | +---w ipv6-address? inet:ipv6-address | | | | | +---w ipv6-address? inet:ipv6-address | |||
| | | | +--:(src-dst-address) | | | | +---w tp-attribute | |||
| | | | | +---w src-ip-address? inet:ip-address | | | | | +---w tp-attribute-type? address-attribute-type | |||
| | | | | +---w dst-ip-address? inet:ip-address | | | | | +---w (tp-attribute-value)? | |||
| | | | | +---w Interface? if:interface-ref | | | | | +--:(ip-prefix) | |||
| | | | +--:(fec) | | | | | | +---w ip-prefix? inet:ip-prefix | |||
| | | | | +---w fec-type? fec-type | | | | | +--:(bgp) | |||
| | | | | +---w (fec-value)? | | | | | | +---w bgp? inet:ip-prefix | |||
| | | | | +--:(ip-prefix) | | | | | +--:(tunnel) | |||
| | | | | | +---w ip-prefix? inet:ip-prefix | | | | | | +---w tunnel-interface? uint32 | |||
| | | | | +--:(bgp) | | | | | +--:(pw) | |||
| | | | | | +---w bgp? inet:ip-prefix | | | | | | +---w remote-pe-address? inet:ip-address | |||
| | | | | +--:(tunnel) | | | | | | +---w pw-id? uint32 | |||
| | | | | | +---w tunnel-interface? uint32 | | | | | +--:(vpls) | |||
| | | | | +--:(pw) | | | | | | +---w route-distinguisher? uint64 | |||
| | | | | | +---w remote-pe-address? inet:ip-address | | | | | | +---w sender-ve-id? uint16 | |||
| | | | | | +---w pw-id? uint32 | | | | | | +---w receiver-ve-id? uint16 | |||
| | | | | +--:(vpls) | | | | | +--:(mpls-mldp) | |||
| | | | | | +---w route-distinguisher? uint32 | | | | | +---w (root-address)? | |||
| | | | | | +---w sender-ve-id? uint32 | | | | | +--:(ip-address) | |||
| | | | | | +---w receiver-ve-id? uint32 | | | | | | +---w source-address? inet:ip-address | |||
| | | | | +--:(mpls-mldp) | | | | | | +---w group-ip-address? inet:ip-address | |||
| | | | | +---w (root-address)? | | | | | +--:(vpn) | |||
| | | | | +--:(ip-address) | | | | | | +---w as-number? inet:as-number | |||
| | | | | | +---w source-address? inet:ip-address | | | | | +--:(global-id) | |||
| | | | | | +---w group-ip-address? IP-Multicast- | | | | | +---w lsp-id? string | |||
| Group-Address | | | | +---w system-info | |||
| | | | | +--:(vpn) | | | | +---w system-id? router-id | |||
| | | | | | +---w as-number? inet:as-number | | | +---w session-type? enumeration | |||
| | | | | +--:(global-id) | | | +---w source-interface? if:interface-ref | |||
| | | | | +---w lsp-id? string | | | +---w outbound-interface? if:interface-ref | |||
| | | | +--:(tlv-address) | | | +---w count? empty | |||
| | | | | +---w tlv-type? int16 | | | +---w vrf? coam:routing-instance-ref | |||
| | | | | +---w tlv-len? int16 | | | +---w ttl? uint8 | |||
| | | | | +---w tlv-value? binary | | | +---w packet-size? uint32 | |||
| | | | +--:(system-info) | | +--ro output | |||
| | | | +---w system-id? inet:uri | | +--ro error-code-list* [response-index] | |||
| | | +---w session-type-enum? enumeration | | | +--ro response-index uint32 | |||
| | | +---w source-interface? if:interface-ref | | | +--ro status-code? int32 | |||
| | | +---w outbound-interface? if:interface-ref | | | +--ro status-sub-code? uint8 | |||
| | | +---w count? uint32 | | +--ro src-test-point | |||
| | | +---w vrf? coam:routing-instance-ref | | | +--ro ni? routing-instance-ref | |||
| | | +---w ttl? uint8 | | | +--ro tp-location-type? identityref | |||
| | | +---w packet-size? uint32 | | | +--ro tp-address | |||
| | +--ro output | | | | +--ro mac-address | |||
| | +--ro error-code-list* [response-index] | | | | | +--ro mac-address? yang:mac-address | |||
| | | +--ro response-index uint32 | | | | +--ro ipv4-address | |||
| | | +--ro status-code? int32 | | | | | +--ro ipv4-address? inet:ipv4-address | |||
| | | +--ro status-sub-code? uint8 | | | | +--ro ipv6-address | |||
| | +--ro src-test-point | | | | | +--ro ipv6-address? inet:ipv6-address | |||
| | | +--ro vrf? routing-instance-ref | | | | +--ro tp-attribute | |||
| | | +--ro tp-address-type-value? identityref | | | | | +--ro tp-attribute-type? address-attribute-type | |||
| | | +--ro (tp-address)? | | | | | +--ro (tp-attribute-value)? | |||
| | | | +--:(mac-address) | | | | | +--:(ip-prefix) | |||
| | | | | +--ro mac-address? yang:mac-address | | | | | | +--ro ip-prefix? inet:ip-prefix | |||
| | | | +--:(ipv4-address) | | | | | +--:(bgp) | |||
| | | | | +--ro ipv4-address? inet:ipv4-address | | | | | | +--ro bgp? inet:ip-prefix | |||
| | | | +--:(ipv6-address) | | | | | +--:(tunnel) | |||
| | | | | +--ro ipv6-address? inet:ipv6-address | | | | | | +--ro tunnel-interface? uint32 | |||
| | | | +--:(src-dst-address) | | | | | +--:(pw) | |||
| | | | | +--ro src-ip-address? inet:ip-address | | | | | | +--ro remote-pe-address? inet:ip-address | |||
| | | | | +--ro dst-ip-address? inet:ip-address | | | | | | +--ro pw-id? uint32 | |||
| | | | | +--ro Interface? if:interface-ref | | | | | +--:(vpls) | |||
| | | | +--:(fec) | | | | | | +--ro route-distinguisher? uint64 | |||
| | | | | +--ro fec-type? fec-type | | | | | | +--ro sender-ve-id? uint16 | |||
| | | | | +--ro (fec-value)? | | | | | | +--ro receiver-ve-id? uint16 | |||
| | | | | +--:(ip-prefix) | | | | | +--:(mpls-mldp) | |||
| | | | | | +--ro ip-prefix? inet:ip-prefix | | | | | +--ro (root-address)? | |||
| | | | | +--:(bgp) | | | | | +--:(ip-address) | |||
| | | | | | +--ro bgp? inet:ip-prefix | | | | | | +--ro source-address? inet:ip-address | |||
| | | | | +--:(tunnel) | | | | | | +--ro group-ip-address? inet:ip-address | |||
| | | | | | +--ro tunnel-interface? uint32 | | | | | +--:(vpn) | |||
| | | | | +--:(pw) | | | | | | +--ro as-number? inet:as-number | |||
| | | | | | +--ro remote-pe-address? inet:ip-address | | | | | +--:(global-id) | |||
| | | | | | +--ro pw-id? uint32 | | | | | +--ro lsp-id? string | |||
| | | | | +--:(vpls) | | | | +--ro system-info | |||
| | | | | | +--ro route-distinguisher? uint32 | | | | +--ro system-id? router-id | |||
| | | | | | +--ro sender-ve-id? uint32 | | | +--ro egress-intf-name? if:interface-ref | |||
| | | | | | +--ro receiver-ve-id? uint32 | | +--ro dest-test-point | |||
| | | | | +--:(mpls-mldp) | | | +--ro ni? routing-instance-ref | |||
| | | | | +--ro (root-address)? | | | +--ro tp-location-type? identityref | |||
| | | | | +--:(ip-address) | | | +--ro tp-address | |||
| | | | | | +--ro source-address? inet:ip-address | | | | +--ro mac-address | |||
| | | | | | +--ro group-ip-address? IP-Multicast- | | | | | +--ro mac-address? yang:mac-address | |||
| Group-Address | | | | +--ro ipv4-address | |||
| | | | | +--:(vpn) | | | | | +--ro ipv4-address? inet:ipv4-address | |||
| | | | | | +--ro as-number? inet:as-number | | | | +--ro ipv6-address | |||
| | | | | +--:(global-id) | | | | | +--ro ipv6-address? inet:ipv6-address | |||
| | | | | +--ro lsp-id? string | | | | +--ro tp-attribute | |||
| | | | +--:(tlv-address) | | | | | +--ro tp-attribute-type? address-attribute-type | |||
| | | | | +--ro tlv-type? int16 | | | | | +--ro (tp-attribute-value)? | |||
| | | | | +--ro tlv-len? int16 | | | | | +--:(ip-prefix) | |||
| | | | | +--ro tlv-value? binary | | | | | | +--ro ip-prefix? inet:ip-prefix | |||
| | | | +--:(system-info) | | | | | +--:(bgp) | |||
| | | | +--ro system-id? inet:uri | | | | | | +--ro bgp? inet:ip-prefix | |||
| | | +--ro egress-intf-name? if:interface-ref | | | | | +--:(tunnel) | |||
| | +--ro dest-test-point | | | | | | +--ro tunnel-interface? uint32 | |||
| | | +--ro vrf? routing-instance-ref | | | | | +--:(pw) | |||
| | | +--ro tp-address-type-value? identityref | | | | | | +--ro remote-pe-address? inet:ip-address | |||
| | | +--ro (tp-address)? | | | | | | +--ro pw-id? uint32 | |||
| | | | +--:(mac-address) | | | | | +--:(vpls) | |||
| | | | | +--ro mac-address? yang:mac-address | | | | | | +--ro route-distinguisher? uint64 | |||
| | | | +--:(ipv4-address) | | | | | | +--ro sender-ve-id? uint16 | |||
| | | | | +--ro ipv4-address? inet:ipv4-address | | | | | | +--ro receiver-ve-id? uint16 | |||
| | | | +--:(ipv6-address) | | | | | +--:(mpls-mldp) | |||
| | | | | +--ro ipv6-address? inet:ipv6-address | | | | | +--ro (root-address)? | |||
| | | | +--:(src-dst-address) | | | | | +--:(ip-address) | |||
| | | | | +--ro src-ip-address? inet:ip-address | | | | | | +--ro source-address? inet:ip-address | |||
| | | | | +--ro dst-ip-address? inet:ip-address | | | | | | +--ro group-ip-address? inet:ip-address | |||
| | | | | +--ro Interface? if:interface-ref | | | | | +--:(vpn) | |||
| | | | +--:(fec) | | | | | | +--ro as-number? inet:as-number | |||
| | | | | +--ro fec-type? fec-type | | | | | +--:(global-id) | |||
| | | | | +--ro (fec-value)? | | | | | +--ro lsp-id? string | |||
| | | | | +--:(ip-prefix) | | | | +--ro system-info | |||
| | | | | | +--ro ip-prefix? inet:ip-prefix | | | | +--ro system-id? router-id | |||
| | | | | +--:(bgp) | | | +--ro ingress-intf-name? if:interface-ref | |||
| | | | | | +--ro bgp? inet:ip-prefix | | +--ro sequence-number? uint64 | |||
| | | | | +--:(tunnel) | | +--ro hop-cnt? uint8 | |||
| | | | | | +--ro tunnel-interface? uint32 | | +--ro session-packet-statistics | |||
| | | | | +--:(pw) | | | +--ro rx-packet-count? uint32 | |||
| | | | | | +--ro remote-pe-address? inet:ip-address | | | +--ro tx-packet-count? uint32 | |||
| | | | | | +--ro pw-id? uint32 | | | +--ro rx-bad-packet? uint32 | |||
| | | | | +--:(vpls) | | | +--ro tx-packet-failed? uint32 | |||
| | | | | | +--ro route-distinguisher? uint32 | | +--ro session-error-statistics | |||
| | | | | | +--ro sender-ve-id? uint32 | | | +--ro packet-drops-count? uint32 | |||
| | | | | | +--ro receiver-ve-id? uint32 | | | +--ro packet-reorder-count? uint32 | |||
| | | | | +--:(mpls-mldp) | | | +--ro packets-out-of-seq-count? uint32 | |||
| | | | | +--ro (root-address)? | | | +--ro packets-dup-count? uint32 | |||
| | | | | +--:(ip-address) | | +--ro session-delay-statistics | |||
| | | | | | +--ro source-address? inet:ip-address | | | +--ro time-resolution-value? identityref | |||
| | | | | | +--ro group-ip-address? IP-Multicast- | | | +--ro min-delay-value? uint32 | |||
| Group-Address | | | +--ro max-delay-value? uint32 | |||
| | | | | +--:(vpn) | | | +--ro average-delay-value? uint32 | |||
| | | | | | +--ro as-number? inet:as-number | | +--ro session-jitter-statistics | |||
| | | | | +--:(global-id) | | +--ro time-resolution-value? identityref | |||
| | | | | +--ro lsp-id? string | | +--ro min-jitter-value? uint32 | |||
| | | | +--:(tlv-address) | | +--ro max-jitter-value? uint32 | |||
| | | | | +--ro tlv-type? int16 | | +--ro average-jitter-value? uint32 | |||
| | | | | +--ro tlv-len? int16 | +---x path-discovery {coam:path-discovery}? | |||
| | | | | +--ro tlv-value? binary | +---w input | |||
| | | | +--:(system-info) | | +---w destination-tp | |||
| | | | +--ro system-id? inet:uri | | | +---w tp-location-type? identityref | |||
| | | +--ro ingress-intf-name? if:interface-ref | | | +---w tp-address | |||
| | +--ro sequence-number? uint64 | | | +---w mac-address | |||
| | +--ro hop-cnt? uint8 | | | | +---w mac-address? yang:mac-address | |||
| | +--ro session-packet-statistics | | | +---w ipv4-address | |||
| | | +--ro rx-packet-count? uint32 | | | | +---w ipv4-address? inet:ipv4-address | |||
| | | +--ro tx-packet-count? uint32 | | | +---w ipv6-address | |||
| | | +--ro rx-bad-packet? uint32 | | | | +---w ipv6-address? inet:ipv6-address | |||
| | | +--ro tx-packet-failed? uint32 | | | +---w tp-attribute | |||
| | +--ro session-error-statistics | | | | +---w tp-attribute-type? address-attribute-type | |||
| | | +--ro packet-drops-count? uint32 | | | | +---w (tp-attribute-value)? | |||
| | | +--ro packet-reorder-count? uint32 | | | | +--:(ip-prefix) | |||
| | | +--ro packets-out-of-seq-count? uint32 | | | | | +---w ip-prefix? inet:ip-prefix | |||
| | | +--ro packets-dup-count? uint32 | | | | +--:(bgp) | |||
| | +--ro session-delay-statistics | | | | | +---w bgp? inet:ip-prefix | |||
| | | +--ro time-resolution-value? identityref | | | | +--:(tunnel) | |||
| | | +--ro min-delay-value? uint32 | | | | | +---w tunnel-interface? uint32 | |||
| | | +--ro max-delay-value? uint32 | | | | +--:(pw) | |||
| | | +--ro average-delay-value? uint32 | | | | | +---w remote-pe-address? inet:ip-address | |||
| | +--ro session-jitter-statistics | | | | | +---w pw-id? uint32 | |||
| | +--ro time-resolution-value? identityref | | | | +--:(vpls) | |||
| | +--ro min-jitter-value? uint32 | | | | | +---w route-distinguisher? uint64 | |||
| | +--ro max-jitter-value? uint32 | | | | | +---w sender-ve-id? uint16 | |||
| | +--ro average-jitter-value? uint32 | | | | | +---w receiver-ve-id? uint16 | |||
| +---x path-discovery {coam:path-discovery}? | | | | +--:(mpls-mldp) | |||
| +---w input | | | | +---w (root-address)? | |||
| | +---w destination-tp | | | | +--:(ip-address) | |||
| | | +---w tp-address-type-value? identityref | | | | | +---w source-address? inet:ip-address | |||
| | | +---w (tp-address)? | | | | | +---w group-ip-address? inet:ip-address | |||
| | | +--:(mac-address) | | | | +--:(vpn) | |||
| | | | +---w mac-address? yang:mac-address | | | | | +---w as-number? inet:as-number | |||
| | | +--:(ipv4-address) | | | | +--:(global-id) | |||
| | | | +---w ipv4-address? inet:ipv4-address | | | | +---w lsp-id? string | |||
| | | +--:(ipv6-address) | | | +---w system-info | |||
| | | | +---w ipv6-address? inet:ipv6-address | | | +---w system-id? router-id | |||
| | | +--:(src-dst-address) | | +---w session-type? enumeration | |||
| | | | +---w src-ip-address? inet:ip-address | | +---w source-interface? if:interface-ref | |||
| | | | +---w dst-ip-address? inet:ip-address | | +---w outbound-interface? if:interface-ref | |||
| | | | +---w Interface? if:interface-ref | | +---w vrf? coam:routing-instance-ref | |||
| | | +--:(fec) | | +---w max-ttl? uint8 | |||
| | | | +---w fec-type? fec-type | +--ro output | |||
| | | | +---w (fec-value)? | +--ro response-list* [response-index] | |||
| | | | +--:(ip-prefix) | | +--ro response-index uint32 | |||
| | | | | +---w ip-prefix? inet:ip-prefix | | +--ro status-code? int32 | |||
| | | | +--:(bgp) | | +--ro status-sub-code? uint8 | |||
| | | | | +---w bgp? inet:ip-prefix | +--ro src-test-point | |||
| | | | +--:(tunnel) | | +--ro ni? routing-instance-ref | |||
| | | | | +---w tunnel-interface? uint32 | | +--ro tp-location-type? identityref | |||
| | | | +--:(pw) | | +--ro tp-address | |||
| | | | | +---w remote-pe-address? inet:ip-address | | +--ro mac-address | |||
| | | | | +---w pw-id? uint32 | | | +--ro mac-address? yang:mac-address | |||
| | | | +--:(vpls) | | +--ro ipv4-address | |||
| | | | | +---w route-distinguisher? uint32 | | | +--ro ipv4-address? inet:ipv4-address | |||
| | | | | +---w sender-ve-id? uint32 | | +--ro ipv6-address | |||
| | | | | +---w receiver-ve-id? uint32 | | | +--ro ipv6-address? inet:ipv6-address | |||
| | | | +--:(mpls-mldp) | | +--ro tp-attribute | |||
| | | | +---w (root-address)? | | | +--ro tp-attribute-type? address-attribute-type | |||
| | | | +--:(ip-address) | | | +--ro (tp-attribute-value)? | |||
| | | | | +---w source-address? inet:ip-address | | | +--:(ip-prefix) | |||
| | | | | +---w group-ip-address? IP-Multicast- | | | | +--ro ip-prefix? inet:ip-prefix | |||
| Group-Address | | | +--:(bgp) | |||
| | | | +--:(vpn) | | | | +--ro bgp? inet:ip-prefix | |||
| | | | | +---w as-number? inet:as-number | | | +--:(tunnel) | |||
| | | | +--:(global-id) | | | | +--ro tunnel-interface? uint32 | |||
| | | | +---w lsp-id? string | | | +--:(pw) | |||
| | | +--:(tlv-address) | | | | +--ro remote-pe-address? inet:ip-address | |||
| | | | +---w tlv-type? int16 | | | | +--ro pw-id? uint32 | |||
| | | | +---w tlv-len? int16 | | | +--:(vpls) | |||
| | | | +---w tlv-value? binary | | | | +--ro route-distinguisher? uint64 | |||
| | | +--:(system-info) | | | | +--ro sender-ve-id? uint16 | |||
| | | +---w system-id? inet:uri | | | | +--ro receiver-ve-id? uint16 | |||
| | +---w session-type-enum? enumeration | | | +--:(mpls-mldp) | |||
| | +---w source-interface? if:interface-ref | | | +--ro (root-address)? | |||
| | +---w outbound-interface? if:interface-ref | | | +--:(ip-address) | |||
| | +---w vrf? coam:routing-instance-ref | | | | +--ro source-address? inet:ip-address | |||
| | +---w max-ttl? uint8 | | | | +--ro group-ip-address? inet:ip-address | |||
| +--ro output | | | +--:(vpn) | |||
| +--ro response-list* [response-index] | | | | +--ro as-number? inet:as-number | |||
| | +--ro response-index uint32 | | | +--:(global-id) | |||
| | +--ro status-code? int32 | | | +--ro lsp-id? string | |||
| | +--ro status-sub-code? uint8 | | +--ro system-info | |||
| +--ro src-test-point | | +--ro system-id? router-id | |||
| | +--ro vrf? routing-instance-ref | +--ro dest-test-point | |||
| | +--ro tp-address-type-value? identityref | | +--ro ni? routing-instance-ref | |||
| | +--ro (tp-address)? | | +--ro tp-location-type? identityref | |||
| | +--:(mac-address) | | +--ro tp-address | |||
| | | +--ro mac-address? yang:mac-address | | +--ro mac-address | |||
| | +--:(ipv4-address) | | | +--ro mac-address? yang:mac-address | |||
| | | +--ro ipv4-address? inet:ipv4-address | | +--ro ipv4-address | |||
| | +--:(ipv6-address) | | | +--ro ipv4-address? inet:ipv4-address | |||
| | | +--ro ipv6-address? inet:ipv6-address | | +--ro ipv6-address | |||
| | +--:(src-dst-address) | | | +--ro ipv6-address? inet:ipv6-address | |||
| | | +--ro src-ip-address? inet:ip-address | | +--ro tp-attribute | |||
| | | +--ro dst-ip-address? inet:ip-address | | | +--ro tp-attribute-type? address-attribute-type | |||
| | | +--ro Interface? if:interface-ref | | | +--ro (tp-attribute-value)? | |||
| | +--:(fec) | | | +--:(ip-prefix) | |||
| | | +--ro fec-type? fec-type | | | | +--ro ip-prefix? inet:ip-prefix | |||
| | | +--ro (fec-value)? | | | +--:(bgp) | |||
| | | +--:(ip-prefix) | | | | +--ro bgp? inet:ip-prefix | |||
| | | | +--ro ip-prefix? inet:ip-prefix | | | +--:(tunnel) | |||
| | | +--:(bgp) | | | | +--ro tunnel-interface? uint32 | |||
| | | | +--ro bgp? inet:ip-prefix | | | +--:(pw) | |||
| | | +--:(tunnel) | | | | +--ro remote-pe-address? inet:ip-address | |||
| | | | +--ro tunnel-interface? uint32 | | | | +--ro pw-id? uint32 | |||
| | | +--:(pw) | | | +--:(vpls) | |||
| | | | +--ro remote-pe-address? inet:ip-address | | | | +--ro route-distinguisher? uint64 | |||
| | | | +--ro pw-id? uint32 | | | | +--ro sender-ve-id? uint16 | |||
| | | +--:(vpls) | | | | +--ro receiver-ve-id? uint16 | |||
| | | | +--ro route-distinguisher? uint32 | | | +--:(mpls-mldp) | |||
| | | | +--ro sender-ve-id? uint32 | | | +--ro (root-address)? | |||
| | | | +--ro receiver-ve-id? uint32 | | | +--:(ip-address) | |||
| | | +--:(mpls-mldp) | | | | +--ro source-address? inet:ip-address | |||
| | | +--ro (root-address)? | | | | +--ro group-ip-address? inet:ip-address | |||
| | | +--:(ip-address) | | | +--:(vpn) | |||
| | | | +--ro source-address? inet:ip-address | | | | +--ro as-number? inet:as-number | |||
| | | | +--ro group-ip-address? IP-Multicast | | | +--:(global-id) | |||
| -Group-Address | | | +--ro lsp-id? string | |||
| | | +--:(vpn) | | +--ro system-info | |||
| | | | +--ro as-number? inet:as-number | | +--ro system-id? router-id | |||
| | | +--:(global-id) | +--ro sequence-number? uint64 | |||
| | | +--ro lsp-id string | +--ro hop-cnt? uint8 | |||
| | +--:(tlv-address) | +--ro session-packet-statistics | |||
| | | +--ro tlv-type? int16 | | +--ro rx-packet-count? uint32 | |||
| | | +--ro tlv-len? int16 | | +--ro tx-packet-count? uint32 | |||
| | | +--ro tlv-value? binary | | +--ro rx-bad-packet? uint32 | |||
| | +--:(system-info) | | +--ro tx-packet-failed? uint32 | |||
| | +--ro system-id? inet:uri | +--ro session-error-statistics | |||
| +--ro dest-test-point | | +--ro packet-drops-count? uint32 | |||
| | +--ro vrf? routing-instance-ref | | +--ro packet-reorder-count? uint32 | |||
| | +--ro tp-address-type-value? identityref | | +--ro packets-out-of-seq-count? uint32 | |||
| | +--ro (tp-address)? | | +--ro packets-dup-count? uint32 | |||
| | +--:(mac-address) | +--ro session-delay-statistics | |||
| | | +--ro mac-address? yang:mac-address | | +--ro time-resolution-value? identityref | |||
| | +--:(ipv4-address) | | +--ro min-delay-value? uint32 | |||
| | | +--ro ipv4-address? inet:ipv4-address | | +--ro max-delay-value? uint32 | |||
| | +--:(ipv6-address) | | +--ro average-delay-value? uint32 | |||
| | | +--ro ipv6-address? inet:ipv6-address | +--ro session-jitter-statistics | |||
| | +--:(src-dst-address) | | +--ro time-resolution-value? identityref | |||
| | | +--ro src-ip-address? inet:ip-address | | +--ro min-jitter-value? uint32 | |||
| | | +--ro dst-ip-address? inet:ip-address | | +--ro max-jitter-value? uint32 | |||
| | | +--ro Interface? if:interface-ref | | +--ro average-jitter-value? uint32 | |||
| | +--:(fec) | +--ro path-verification | |||
| | | +--ro fec-type? fec-type | | +--ro flow-info? string | |||
| | | +--ro (fec-value)? | | +--ro session-path-verification-statistics | |||
| | | +--:(ip-prefix) | | +--ro verified-count? uint32 | |||
| | | | +--ro ip-prefix? inet:ip-prefix | | +--ro failed-count? uint32 | |||
| | | +--:(bgp) | +--ro path-trace-info | |||
| | | | +--ro bgp? inet:ip-prefix | +--ro path-trace-info-list* [index] | |||
| | | +--:(tunnel) | +--ro index uint32 | |||
| | | | +--ro tunnel-interface? uint32 | +--ro ni? routing-instance-ref | |||
| | | +--:(pw) | +--ro tp-location-type? identityref | |||
| | | | +--ro remote-pe-address? inet:ip-address | +--ro tp-address | |||
| | | | +--ro pw-id? uint32 | | +--ro mac-address | |||
| | | +--:(vpls) | | | +--ro mac-address? yang:mac-address | |||
| | | | +--ro route-distinguisher? uint32 | | +--ro ipv4-address | |||
| | | | +--ro sender-ve-id? uint32 | | | +--ro ipv4-address? inet:ipv4-address | |||
| | | | +--ro receiver-ve-id? uint32 | | +--ro ipv6-address | |||
| | | +--:(mpls-mldp) | | | +--ro ipv6-address? inet:ipv6-address | |||
| | | +--ro (root-address)? | | +--ro tp-attribute | |||
| | | +--:(ip-address) | | | +--ro tp-attribute-type? address-attribute-type | |||
| | | | +--ro source-address? inet:ip-address | | | +--ro (tp-attribute-value)? | |||
| | | | +--ro group-ip-address? IP-Multicast- | | | +--:(ip-prefix) | |||
| Group-Address | | | | +--ro ip-prefix? inet:ip-prefix | |||
| | | +--:(vpn) | | | +--:(bgp) | |||
| | | | +--ro as-number? inet:as-number | | | | +--ro bgp? inet:ip-prefix | |||
| | | +--:(global-id) | | | +--:(tunnel) | |||
| | | +--ro lsp-id? string | | | | +--ro tunnel-interface? uint32 | |||
| | +--:(tlv-address) | | | +--:(pw) | |||
| | | +--ro tlv-type? int16 | | | | +--ro remote-pe-address? inet:ip-address | |||
| | | +--ro tlv-len? int16 | | | | +--ro pw-id? uint32 | |||
| | | +--ro tlv-value? binary | | | +--:(vpls) | |||
| | +--:(system-info) | | | | +--ro route-distinguisher? uint64 | |||
| | +--ro system-id? inet:uri | | | | +--ro sender-ve-id? uint16 | |||
| +--ro sequence-number? uint64 | | | | +--ro receiver-ve-id? uint16 | |||
| +--ro hop-cnt? uint8 | | | +--:(mpls-mldp) | |||
| +--ro session-packet-statistics | | | +--ro (root-address)? | |||
| | +--ro rx-packet-count? uint32 | | | +--:(ip-address) | |||
| | +--ro tx-packet-count? uint32 | | | | +--ro source-address? inet:ip-address | |||
| | +--ro rx-bad-packet? uint32 | | | | +--ro group-ip-address? inet:ip-address | |||
| | +--ro tx-packet-failed? uint32 | | | +--:(vpn) | |||
| +--ro session-error-statistics | | | | +--ro as-number? inet:as-number | |||
| | +--ro packet-drops-count? uint32 | | | +--:(global-id) | |||
| | +--ro packet-reorder-count? uint32 | | | +--ro lsp-id? string | |||
| | +--ro packets-out-of-seq-count? uint32 | | +--ro system-info | |||
| | +--ro packets-dup-count? uint32 | | +--ro system-id? router-id | |||
| +--ro session-delay-statistics | +--ro timestamp-type? uint32 | |||
| | +--ro time-resolution-value? identityref | +--ro timestamp-sec? uint32 | |||
| | +--ro min-delay-value? uint32 | +--ro timestamp-nanosec? uint32 | |||
| | +--ro max-delay-value? uint32 | +--ro ingress-intf-name? if:interface-ref | |||
| | +--ro average-delay-value? uint32 | +--ro egress-intf-name? if:interface-ref | |||
| +--ro session-jitter-statistics | +--ro queue-depth? uint32 | |||
| | +--ro time-resolution-value? identityref | +--ro transit-delay? uint32 | |||
| | +--ro min-jitter-value? uint32 | +--ro app-meta-data? uint64 | |||
| | +--ro max-jitter-value? uint32 | ||||
| | +--ro average-jitter-value? uint32 | ||||
| +--ro path-verification | ||||
| | +--ro flow-info? string | ||||
| | +--ro session-path-verification-statistics | ||||
| | +--ro verified-count? uint32 | ||||
| | +--ro failed-count? uint32 | ||||
| +--ro path-trace-info | ||||
| +--ro path-trace-info-list* [index] | ||||
| +--ro index uint32 | ||||
| +--ro vrf? routing-instance-ref | ||||
| +--ro tp-address-type-value? identityref | ||||
| +--ro (tp-address)? | ||||
| | +--:(mac-address) | ||||
| | | +--ro mac-address? yang:mac-address | ||||
| | +--:(ipv4-address) | ||||
| | | +--ro ipv4-address? inet:ipv4-address | ||||
| | +--:(ipv6-address) | ||||
| | | +--ro ipv6-address? inet:ipv6-address | ||||
| | +--:(src-dst-address) | ||||
| | | +--ro src-ip-address? inet:ip-address | ||||
| | | +--ro dst-ip-address? inet:ip-address | ||||
| | | +--ro Interface? if:interface-ref | ||||
| | +--:(fec) | ||||
| | | +--ro fec-type? fec-type | ||||
| | | +--ro (fec-value)? | ||||
| | | +--:(ip-prefix) | ||||
| | | | +--ro ip-prefix? inet:ip-prefix | ||||
| | | +--:(bgp) | ||||
| | | | +--ro bgp? inet:ip-prefix | ||||
| | | +--:(tunnel) | ||||
| | | | +--ro tunnel-interface? uint32 | ||||
| | | +--:(pw) | ||||
| | | | +--ro remote-pe-address? inet:ip-address | ||||
| | | | +--ro pw-id? uint32 | ||||
| | | +--:(vpls) | ||||
| | | | +--ro route-distinguisher? uint32 | ||||
| | | | +--ro sender-ve-id? uint32 | ||||
| | | | +--ro receiver-ve-id? uint32 | ||||
| | | +--:(mpls-mldp) | ||||
| | | +--ro (root-address)? | ||||
| | | +--:(ip-address) | ||||
| | | | +--ro source-address inet:ip-address | ||||
| | | | +--ro group-ip-address? IP-Multicast- | ||||
| Group-Address | ||||
| | | +--:(vpn) | ||||
| | | | +--ro as-number? inet:as-number | ||||
| | | +--:(global-id) | ||||
| | | +--ro lsp-id? string | ||||
| | +--:(tlv-address) | ||||
| | | +--ro tlv-type? int16 | ||||
| | | +--ro tlv-len? int16 | ||||
| | | +--ro tlv-value? binary | ||||
| | +--:(system-info) | ||||
| | +--ro system-id? inet:uri | ||||
| +--ro timestamp-val? yang:date-and-time | ||||
| +--ro ingress-intf-name? if:interface-ref | ||||
| +--ro egress-intf-name? if:interface-ref | ||||
| +--ro app-meta-data? uint32 | ||||
| data hierarchy of OAM Retrieval Methods | data hierarchy of OAM Retrieval Methods | |||
| 4. OAM Retrieval Methods YANG Module | 4. OAM Retrieval Methods YANG Module | |||
| <CODE BEGINS> file "ietf-connectionless-oam-methods@2017-05-18.yang" | <CODE BEGINS> file "ietf-connectionless-oam-methods@2017-08-30.yang" | |||
| module ietf-connectionless-oam-methods { | module ietf-connectionless-oam-methods { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods"; | namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods"; | |||
| prefix coam-methods; | prefix coam-methods; | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| } | } | |||
| import ietf-connectionless-oam { | import ietf-connectionless-oam { | |||
| prefix coam; | prefix coam; | |||
| skipping to change at page 17, line 19 ¶ | skipping to change at page 16, line 7 ¶ | |||
| module ietf-connectionless-oam-methods { | module ietf-connectionless-oam-methods { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods"; | namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods"; | |||
| prefix coam-methods; | prefix coam-methods; | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| } | } | |||
| import ietf-connectionless-oam { | import ietf-connectionless-oam { | |||
| prefix coam; | prefix coam; | |||
| } | } | |||
| organization | organization | |||
| "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 RPCs for , | "This YANG module defines the RPCs for | |||
| connectionless OAM to be used within IETF | connectionless OAM to be used within IETF | |||
| in a protocol Independent manner. | in a protocol Independent manner. | |||
| Functional level abstraction is indendent with | Functional level abstraction is indendent 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-05-18 { | revision 2017-08-30 { | |||
| description | description | |||
| "02 version"; | "02 version"; | |||
| reference "draft-ietf-lime-yang-connectionless-oam-methods"; | reference "draft-ietf-lime-yang-connectionless-oam-methods"; | |||
| } | } | |||
| rpc continuity-check { | rpc continuity-check { | |||
| if-feature "coam:continuity-check"; | if-feature "coam:continuity-check"; | |||
| description | description | |||
| "Generates continuity-check as per RFC7276."; | "Generates continuity-check as per RFC7276."; | |||
| input { | input { | |||
| skipping to change at page 18, line 18 ¶ | skipping to change at page 17, line 5 ¶ | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "Source interface."; | "Source interface."; | |||
| } | } | |||
| leaf outbound-interface { | leaf outbound-interface { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "Outbound interface."; | "Outbound interface."; | |||
| } | } | |||
| leaf count { | leaf count { | |||
| type uint32; | type empty; | |||
| default "5"; | ||||
| description | description | |||
| "Specifies the number of | "Specifies the number of | |||
| packets that will be sent."; | packets that will be sent."; | |||
| } | } | |||
| leaf vrf { | leaf vrf { | |||
| type coam:routing-instance-ref; | type coam:routing-instance-ref; | |||
| description | description | |||
| "VRF instance."; | "VRF instance."; | |||
| } | } | |||
| leaf ttl { | leaf ttl { | |||
| skipping to change at page 20, line 40 ¶ | skipping to change at page 19, line 25 ¶ | |||
| } | } | |||
| uses coam:path-discovery-data; | uses coam:path-discovery-data; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 5. Security Considerations | 5. Security Considerations | |||
| The YANG modules defined in this memo are designed to be accessed via | The YANG module defined in this document is designed to be accessed | |||
| the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the | via network management protocols such as NETCONF [RFC6241] or | |||
| secure transport layer and the mandatory to implement secure | RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport | |||
| transport is SSH [RFC6242]. The NETCONF access control model | layer, and the mandatory-to-implement secure transport is Secure | |||
| [RFC6536] provides the means to restrict access for particular | Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the | |||
| NETCONF users to a pre-configured subset of all available NETCONF | mandatory-to-implement secure transport is TLS [RFC5246]. | |||
| protocol operations and content. Some of the RPC operations in the | ||||
| "ietf-connectionless-oam-methods" YANG module may be considered | The NETCONF access control model [RFC6536] provides the means to | |||
| restrict access for particular NETCONF or RESTCONF users to a | ||||
| preconfigured subset of all available NETCONF or RESTCONF protocol | ||||
| operations and content. | ||||
| Some of the RPC operations in this YANG module may be considered | ||||
| sensitive or vulnerable in some network environments. It is thus | sensitive or vulnerable in some network environments. It is thus | |||
| important to control access to these operations. | important to control access to these operations. These are the | |||
| operations and their sensitivity/vulnerability: | ||||
| These are the operations and their sensitivity/vulnerability: | o continuity-check: Generates continuity check. | |||
| o continuity-check: Generates continuity check. | o path-discovery: Generates path discovery. | |||
| o path-discovery: Generates path discovery. | which may lead to Denial-of-Service attack on both the local device | |||
| and the network or unauthorized source access to some sensitive | ||||
| information. | ||||
| 6. IANA Considerations | 6. IANA Considerations | |||
| This document registers a URI in the IETF XML registry [RFC3688]. | This document registers a URI in the IETF XML registry [RFC3688]. | |||
| Following the format in [RFC3688], the following registration is | Following the format in [RFC3688], the following registration is | |||
| requested to be made: | requested to be made: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods | URI: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| skipping to change at page 21, line 37 ¶ | skipping to change at page 20, line 33 ¶ | |||
| methods | methods | |||
| prefix: coam-methods | prefix: coam-methods | |||
| 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] | ||||
| Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan, | ||||
| "Generic YANG Data Model for Connectionless Operations, | ||||
| Administration, and Maintenance(OAM) protocols", draft- | ||||
| ietf-lime-yang-connectionless-oam-08 (work in progress), | ||||
| August 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- | |||
| <http://www.rfc-editor.org/info/rfc3688>. | editor.org/info/rfc3688>. | |||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | ||||
| (TLS) Protocol Version 1.2", RFC 5246, | ||||
| DOI 10.17487/RFC5246, August 2008, <https://www.rfc- | ||||
| editor.org/info/rfc5246>. | ||||
| [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>. | |||
| [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, | [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, | |||
| "Specification of the IP Flow Information Export (IPFIX) | "Specification of the IP Flow Information Export (IPFIX) | |||
| Protocol for the Exchange of Flow Information", STD 77, | Protocol for the Exchange of Flow Information", STD 77, | |||
| RFC 7011, DOI 10.17487/RFC7011, September 2013, | RFC 7011, DOI 10.17487/RFC7011, September 2013, | |||
| <http://www.rfc-editor.org/info/rfc7011>. | <https://www.rfc-editor.org/info/rfc7011>. | |||
| [RFC792] Postel, J., "Internet Control Message Protocol", RFC 792, | [RFC792] Postel, J., "Internet Control Message Protocol", RFC 792, | |||
| September 1981. | September 1981. | |||
| 7.2. Informative References | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
| Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | ||||
| <https://www.rfc-editor.org/info/rfc8040>. | ||||
| [I-D.ietf-lime-yang-connectionless-oam] | 7.2. Informative References | |||
| Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan, | ||||
| "Generic YANG Data Model for Connectionless Operations, | ||||
| Administration, and Maintenance(OAM) protocols", draft- | ||||
| ietf-lime-yang-connectionless-oam-06 (work in progress), | ||||
| June 2017. | ||||
| [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-06 (work in progress), April 2017. | push-08 (work in progress), August 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", 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>. | |||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc5880>. | <https://www.rfc-editor.org/info/rfc5880>. | |||
| [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>. | |||
| [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., | [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., | |||
| Aldrin, S., and M. Chen, "Detecting Multiprotocol Label | Aldrin, S., and M. Chen, "Detecting Multiprotocol Label | |||
| Switched (MPLS) Data-Plane Failures", RFC 8029, | Switched (MPLS) Data-Plane Failures", RFC 8029, | |||
| DOI 10.17487/RFC8029, March 2017, | DOI 10.17487/RFC8029, March 2017, <https://www.rfc- | |||
| <http://www.rfc-editor.org/info/rfc8029>. | editor.org/info/rfc8029>. | |||
| Appendix A. Appendix | Appendix A. Appdendix A.1 | |||
| The following are some examples of extensions possible to the yang | The following is an example of extensions possible to "ietf- | |||
| model. The example discusses persistent methods. | connectionless-oam-methods" YANG model defined in this document. | |||
| The persistent method RPCs are commands to trigger persistent | The snippet below depicts an example of augmenting the "ietf- | |||
| connectionless-oam-methods" YANG model with ICMP ping attributes: | ||||
| augment "/coam-methods:continutiy-check" | ||||
| +"/coam-methods:output"{ | ||||
| container session-rtt-statistics{ | ||||
| leaf min-rtt{ | ||||
| type uint32; | ||||
| description | ||||
| "This minimum ping round-trip-time(RTT) received."; | ||||
| } | ||||
| leaf max-rtt{ | ||||
| type uint32; | ||||
| description | ||||
| "This maximum ping round-trip-time(RTT) received."; | ||||
| } | ||||
| leaf avg-rtt{ | ||||
| type uint32; | ||||
| description | ||||
| "The current average ping round-trip-time(RTT)"; | ||||
| } | ||||
| description | ||||
| "This container presents the ping round-trip-time statistics."; | ||||
| } | ||||
| } | ||||
| Appendix B. Appendix A.2 | ||||
| The following is an example related to the YANG model defined in this | ||||
| document. The example discusses persistent methods. | ||||
| The persistent RPC operations are commands to trigger persistent | ||||
| continuity check or path discovery OAM while specifying the options | continuity check or path discovery OAM while specifying the options | |||
| for data-export from the device. Internet Protocol Flow Information | for data-export from the device. Internet Protocol Flow Information | |||
| Export (IPFIX) [RFC7011] or yang-push [I-D.ietf-netconf-yang-push]. | Export (IPFIX) [RFC7011] or YANG-push [I-D.ietf-netconf-yang-push]. | |||
| are currently outlined here as data export options and more can be | are currently outlined here as data export options and more can be | |||
| added in future. It should be noted that the persistent methods are | added in future. It should be noted that the persistent methods are | |||
| used to trigger create, modify and delete the persistent state | used to trigger create, modify and delete the persistent state | |||
| associated with the data export options. The data export specific | associated with the data export options. The data export specific | |||
| configurations are beyond the scope of this document. | configurations are beyond the scope of this document. | |||
| A.1. OAM Retrieval Persistent Methods YANG Module | B.1. OAM Retrieval Persistent Methods YANG Module | |||
| module example-cl-oam-persistent-methods { | module example-cl-oam-persistent-methods { | |||
| namespace "http://example.com/cl-oam-persistent-methods"; | namespace "http://example.com/cl-oam-persistent-methods"; | |||
| prefix pcoam-methods; | prefix pcoam-methods; | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| } | } | |||
| import ietf-connectionless-oam { | import ietf-connectionless-oam { | |||
| prefix coam; | prefix coam; | |||
| skipping to change at page 34, line 4 ¶ | skipping to change at page 33, line 33 ¶ | |||
| Email: dekumar@cisco.com | Email: dekumar@cisco.com | |||
| Michael Wang | Michael Wang | |||
| Huawei Technologies,Co.,Ltd | Huawei Technologies,Co.,Ltd | |||
| 101 Software Avenue, Yuhua District | 101 Software Avenue, Yuhua District | |||
| Nanjing 210012 | Nanjing 210012 | |||
| China | China | |||
| Email: wangzitao@huawei.com | Email: wangzitao@huawei.com | |||
| Qin Wu | Qin Wu | |||
| Huawei | Huawei | |||
| 101 Software Avenue, Yuhua District | 101 Software Avenue, Yuhua District | |||
| Nanjing, Jiangsu 210012 | Nanjing, Jiangsu 210012 | |||
| China | China | |||
| Email: bill.wu@huawei.com | Email: bill.wu@huawei.com | |||
| Reshad Rahman | Reshad Rahman | |||
| CISCO Systems | CISCO Systems | |||
| 2000 Innovation Drive | 2000 Innovation Drive | |||
| KANATA, ONTARIO K2K 3E8 | Kanata, Ontario K2K 3E8 | |||
| CANADA | Canada | |||
| Email: rrahman@cisco.com | Email: rrahman@cisco.com | |||
| Srihari Raghavan | Srihari Raghavan | |||
| CISCO Systems | CISCO Systems | |||
| TRIL INFOPARK SEZ, Ramanujan IT City | Tril Infopark Sez, Ramanujan IT City | |||
| NEVILLE BLOCK, 2nd floor, Old Mahabalipuram Road | Neville Block, 2nd floor, Old Mahabalipuram Road | |||
| CHENNAI, TAMIL NADU 600113 | Chennai, Tamil Nadu 600113 | |||
| INDIA | India | |||
| Email: srihari@cisco.com | Email: srihari@cisco.com | |||
| End of changes. 54 change blocks. | ||||
| 503 lines changed or deleted | 490 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/ | ||||