| < draft-ietf-lime-yang-connectionless-oam-methods-00.txt | draft-ietf-lime-yang-connectionless-oam-methods-01.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: May 4, 2017 Q. Wu | Expires: August 27, 2017 Q. Wu | |||
| Huawei | Huawei | |||
| R. Rahman | R. Rahman | |||
| S. Raghavan | S. Raghavan | |||
| Cisco | Cisco | |||
| October 31, 2016 | February 23, 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-00 | draft-ietf-lime-yang-connectionless-oam-methods-01 | |||
| 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 a technology-independent | |||
| RPC commands for connectionless OAM protocols. The retrieval methods | RPC commands 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 nested OAM workflows (i.e., performing OAM functions at | support both nested OAM workflows (i.e., performing OAM functions at | |||
| different or same levels through a unified interface). | different levels through a unified interface) and interactive OAM | |||
| workflows ( i.e., performing OAM functions at same levels through a | ||||
| 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 May 4, 2017. | This Internet-Draft will expire on August 27, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 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. | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . 3 | 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 . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. RPC definitions . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.2. OAM Retrieval Methods Hierarchy . . . . . . . . . . . . . 8 | 3.2. OAM Retrieval Methods Hierarchy . . . . . . . . . . . . . 8 | |||
| 4. OAM Retrieval Methods YANG Module . . . . . . . . . . . . . . 16 | 4. OAM Retrieval Methods YANG Module . . . . . . . . . . . . . . 19 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 34 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 7. Normative References . . . . . . . . . . . . . . . . . . . . 20 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 35 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 36 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
| 1. Introduction | 1. Introduction | |||
| Operations, Administration, and Maintenance (OAM) are important | Operations, Administration, and Maintenance (OAM) are important | |||
| networking functions that allow operators to: | networking functions that allow operators to: | |||
| 1. Monitor networks connections (Reachability Verification, | 1. Monitor reachability of destinations (Reachability Verification, | |||
| Continuity Check). | Continuity Check). | |||
| 2. Troubleshoot failures (Fault verification and localization). | 2. Troubleshoot failures (Fault verification and localization). | |||
| 3. Monitor Performance | 3. Monitor Performance | |||
| An overview of OAM tools is presented at [RFC7276]. | An overview of OAM tools is presented at [RFC7276]. | |||
| Ping and Traceroute [RFC792], [RFC4443] are well-known fault | Ping and Traceroute [RFC792], [RFC4443] and BFD [RFC5880] are well- | |||
| verification and isolation tools, respectively, for IP networks. | known fault verification and isolation tools, respectively, for IP | |||
| Over the years, different technologies have developed similar tools | networks. Over the years, different technologies have developed | |||
| 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 commands for connectionless OAM protocols. It is | |||
| separated from the generic YANG model for connectionless OAM [lime | separated from the generic YANG model for connectionless OAM | |||
| [I-D.ietf-lime-yang-connectionless-oam] and can avoid mixing the | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | models for the retrieved-data from the retrieval procedures. It is | |||
| expected that retrieval procedures would evolve faster than the data | ||||
| base model]and can avoid mixing the models for the retrieved-data | model [I-D.ietf-lime-yang-connectionless-oam] and will allow new | |||
| from the retrieval procedures. It is expected that retrieval | procedures to be defined for retrieval of the same data defined by | |||
| procedures would evolve faster than the data model[lime base model] | the base data model. | |||
| and will allow new procedures to be defined for retrieval of the same | ||||
| data defined by the base data model. | ||||
| 2. Conventions used in this document | 2. Conventions used in this document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| The following terms are defined in [RFC6241] and are not redefined | The following terms are defined in [RFC6241] and are not redefined | |||
| here: | here: | |||
| skipping to change at page 3, line 47 ¶ | skipping to change at page 4, line 4 ¶ | |||
| o data node | o data node | |||
| 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, as used within the NETCONF protocol | |||
| 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: | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| Each node is printed as: | Each node is printed as: | |||
| <status> <flags> <name> <opts> <type> | <status> <flags> <name> <opts> <type> | |||
| <status> is one of: | <status> is one of: | |||
| + for current | + for current | |||
| x for deprecated | ||||
| o for obsolete | ||||
| <flags> is one of: | <flags> is one of: | |||
| rw for configuration data | rw for configuration data | |||
| ro for non-configuration data | ro for non-configuration data | |||
| -x for rpcs | -x for rpcs | |||
| -n for notifications | -n for notifications | |||
| <name> is the name of the node | <name> is the name of the node | |||
| skipping to change at page 4, line 42 ¶ | skipping to change at page 4, line 45 ¶ | |||
| * 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 commands) for connectionless | |||
| OAM protocols. It will allow the user to flexibility to retrieve the | OAM protocols. It provides a flexible way to retrieve the retrieved- | |||
| retrieved-data which defined by the base data model[lime base model]. | data which defined by the "ietf-connectionless-oam.yang" | |||
| [I-D.ietf-lime-yang-connectionless-oam]. | ||||
| 3.1. RPC definitions | 3.1. RPC 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 OAM | Under 'connectionless-oam-methods' module, we summarize the common | |||
| functions and define the generic rpc commands: continuity-check and | OAM functions and define the generic RPC commands: 'continuity-check' | |||
| and 'path-discovery'. In practice, these commands are supported by | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| path-discovery. In practice, these commands are supported by | ||||
| corresponding technology-specific OAM tools [RFC7276]. For example, | corresponding technology-specific OAM tools [RFC7276]. For example, | |||
| for the IP OAM model, the continuity-check rpc corresponds to the IP | for the IP OAM model, the continuity-check RPC corresponds to the IP | |||
| Ping, while the path-discovery rpc command corresponds to IP | Ping [RFC792] [RFC4443], while the path-discovery RPC command | |||
| Traceroute. | corresponds to IP Traceroute [RFC792] [RFC4443]. | |||
| Note that the rpc command presented in this document is the base | Note that the RPC command 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, lsp ping), the base building block | specific OAM (i.e., ICMP ping [RFC792] [RFC4443], LSP ping | |||
| should be extended with corresponding technology specific parameters. | [RFC4379]), the base building block should be extended with | |||
| To facilitate this and for future enhancements to data retrieval | corresponding technology specific parameters. To facilitate this and | |||
| methods, the RPCs are captured under a separate module. | for future enhancements to data retrieval methods, the RPCs are | |||
| captured under a separate module. | ||||
| The generic path-discovery-data and continuity-check-data are used as | The generic 'path-discovery-data' and 'continuity-check-data' are | |||
| data outputs from the different RPCs described in the document. | used as data outputs from the different RPCs described in the | |||
| Similar methods including other RPCs can retrieve the data using the | document. Similar methods including other RPCs can retrieve the data | |||
| same data model. | using the same data model. | |||
| The persistent method RPCs are commands to trigger persistent | ||||
| continuity check or path discovery OAM while specifying the options | ||||
| for data-export from the device. Internet Protocol Flow Information | ||||
| Export (IPFIX) [RFC7011] or yang-push [I-D.ietf-netconf-yang-push]. | ||||
| are currently outlined here as data export options and more can be | ||||
| added in future. It should be noted that the persistent methods are | ||||
| used to trigger create, modify and delete the persistent state | ||||
| associated with the data export options. The data export specific | ||||
| configurations are beyond the scope of this document. | ||||
| 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 23 ¶ | |||
| "outbound interface."; | "outbound interface."; | |||
| } | } | |||
| leaf count { | leaf count { | |||
| type uint32; | type uint32; | |||
| default "5"; | 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; | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| description | description | |||
| "vrf instance."; | "vrf instance."; | |||
| } | } | |||
| leaf ttl { | leaf ttl { | |||
| type uint8; | type uint8; | |||
| default "255"; | default "255"; | |||
| description | description | |||
| "Time to live (TTL)."; | "Time to live (TTL)."; | |||
| } | } | |||
| leaf packet-size { | leaf packet-size { | |||
| skipping to change at page 7, line 4 ¶ | skipping to change at page 7, line 23 ¶ | |||
| } | } | |||
| uses coam:continuity-check-data; | uses coam:continuity-check-data; | |||
| } | } | |||
| } | } | |||
| rpc path-discovery { | rpc path-discovery { | |||
| description | description | |||
| "Generates path discovery as per RFC7276."; | "Generates path discovery as per RFC7276."; | |||
| input { | input { | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| container destination-tp { | container destination-tp { | |||
| uses coam:tp-address; | uses coam:tp-address; | |||
| description | description | |||
| "destination test point."; | "destination test point."; | |||
| } | } | |||
| uses coam:session-type; | uses coam:session-type; | |||
| leaf source-interface { | leaf source-interface { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "source interface."; | "source interface."; | |||
| skipping to change at page 8, line 4 ¶ | skipping to change at page 8, line 23 ¶ | |||
| leaf status-code { | leaf status-code { | |||
| type int32; | type int32; | |||
| description | description | |||
| "error code is "; | "error code is "; | |||
| } | } | |||
| leaf status-sub-code { | leaf status-sub-code { | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "sub code is "; | "sub code is "; | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| } | } | |||
| } | } | |||
| 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 calls | |||
| 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: | ||||
| +---x continuity-check {coam:continuity-check}? | ||||
| | +---w input | ||||
| | | +---w destination-tp | ||||
| | | | +---w tp-address-type-value? identityref | ||||
| | | | +---w (tp-address)? | ||||
| | | | +--:(mac-address) | ||||
| | | | | +---w mac-address? yang:mac-address | ||||
| | | | +--:(ipv4-address) | ||||
| | | | | +---w ipv4-address? inet:ipv4-address | ||||
| | | | +--:(ipv6-address) | ||||
| | | | | +---w ipv6-address? inet:ipv6-address | ||||
| | | | +--:(src-dst-address) | ||||
| | | | | +---w src-ip-address? inet:ip-address | ||||
| | | | | +---w dst-ip-address? inet:ip-address | ||||
| | | | | +---w Interface? if:interface-ref | ||||
| | | | +--:(fec) | ||||
| | | | | +---w fec-type? fec-type | ||||
| | | | | +---w (fec-value)? | ||||
| | | | | +--:(ip-prefix) | ||||
| | | | | | +---w ip-prefix? inet:ip-prefix | ||||
| | | | | +--:(bgp) | ||||
| | | | | | +---w bgp? inet:ip-prefix | ||||
| | | | | +--:(tunnel) | ||||
| | | | | | +---w tunnel-interface? uint32 | ||||
| | | | | +--:(pw) | ||||
| | | | | | +---w remote-pe-address? inet:ip-address | ||||
| | | | | | +---w pw-id? uint32 | ||||
| | | | | +--:(vpls) | ||||
| | | | | | +---w route-distinguisher? uint32 | ||||
| | | | | | +---w sender-ve-id? uint32 | ||||
| | | | | | +---w receiver-ve-id? uint32 | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| | | | | +--:(mpls-mldp) | ||||
| | | | | +---w (root-address)? | ||||
| | | | | +--:(ip-address) | ||||
| | | | | | +---w source-address? inet:ip-address | ||||
| | | | | | +---w group-ip-address? IP-Multicast-Group-Address | ||||
| | | | | +--:(vpn) | ||||
| | | | | | +---w as-number? inet:as-number | ||||
| | | | | +--:(global-id) | ||||
| | | | | +---w lsp-id? string | ||||
| | | | +--:(tlv-address) | ||||
| | | | | +---w tlv-type? int16 | ||||
| | | | | +---w tlv-len? int16 | ||||
| | | | | +---w tlv-value? binary | ||||
| | | | +--:(system-info) | ||||
| | | | +---w system-id? inet:uri | ||||
| | | +---w session-type-enum? enumeration | ||||
| | | +---w source-interface? if:interface-ref | ||||
| | | +---w outbound-interface? if:interface-ref | ||||
| | | +---w count? uint32 | ||||
| | | +---w vrf? coam:routing-instance-ref | ||||
| | | +---w ttl? uint8 | ||||
| | | +---w packet-size? uint32 | ||||
| | +--ro output | ||||
| | +--ro error-code-list* [response-index] | ||||
| | | +--ro response-index uint32 | ||||
| | | +--ro status-code? int32 | ||||
| | | +--ro status-sub-code? uint8 | ||||
| | +--ro src-test-point | ||||
| | | +--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 | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| | | | | +--:(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 egress-intf-name? if:interface-ref | ||||
| | +--ro dest-test-point | ||||
| | | +--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 | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| | | | | +--:(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 ingress-intf-name? if:interface-ref | ||||
| | +--ro sequence-number? uint64 | ||||
| | +--ro hop-cnt? uint8 | ||||
| | +--ro session-packet-statistics | ||||
| | | +--ro rx-packet-count? uint32 | ||||
| | | +--ro tx-packet-count? uint32 | ||||
| | | +--ro rx-bad-packet? uint32 | ||||
| | | +--ro tx-packet-failed? uint32 | ||||
| | +--ro session-error-statistics | ||||
| | | +--ro packet-drops-count? uint32 | ||||
| | | +--ro packet-reorder-count? uint32 | ||||
| | | +--ro packets-out-of-seq-count? uint32 | ||||
| | | +--ro packets-dup-count? uint32 | ||||
| | +--ro session-delay-statistics | ||||
| | | +--ro time-resolution-value? identityref | ||||
| | | +--ro min-delay-value? uint32 | ||||
| | | +--ro max-delay-value? uint32 | ||||
| | | +--ro average-delay-value? uint32 | ||||
| | +--ro session-jitter-statistics | ||||
| | +--ro time-resolution-value? identityref | ||||
| | +--ro min-jitter-value? uint32 | ||||
| | +--ro max-jitter-value? uint32 | ||||
| | +--ro average-jitter-value? uint32 | ||||
| +---x path-discovery | ||||
| +---w input | ||||
| | +---w destination-tp | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | rpcs: | |||
| +---x continuity-check {coam:continuity-check}? | ||||
| | | +---w tp-address-type-value? identityref | | +---w input | |||
| | | +---w (tp-address)? | | | +---w destination-tp | |||
| | | +--:(mac-address) | | | | +---w tp-location-type-value? identityref | |||
| | | | +---w mac-address? yang:mac-address | | | | +---w (tp-address)? | |||
| | | +--:(ipv4-address) | | | | +--:(mac-address) | |||
| | | | +---w ipv4-address? inet:ipv4-address | | | | | +---w mac-address? yang:mac-address | |||
| | | +--:(ipv6-address) | | | | +--:(ipv4-address) | |||
| | | | +---w ipv6-address? inet:ipv6-address | | | | | +---w ipv4-address? inet:ipv4-address | |||
| | | +--:(src-dst-address) | | | | +--:(ipv6-address) | |||
| | | | +---w src-ip-address? inet:ip-address | | | | | +---w ipv6-address? inet:ipv6-address | |||
| | | | +---w dst-ip-address? inet:ip-address | | | | +--:(tp-attribute) | |||
| | | | +---w Interface? if:interface-ref | | | | | +---w tp-attribute-type? fec-type | |||
| | | +--:(fec) | | | | | +---w (tp-attribute-value)? | |||
| | | | +---w fec-type? fec-type | | | | | +--:(ip-prefix) | |||
| | | | +---w (fec-value)? | | | | | | +---w ip-prefix? inet:ip-prefix | |||
| | | | +--:(ip-prefix) | | | | | +--:(bgp) | |||
| | | | | +---w ip-prefix? inet:ip-prefix | | | | | | +---w bgp inet:ip-prefix | |||
| | | | +--:(bgp) | | | | | +--:(tunnel) | |||
| | | | | +---w bgp? inet:ip-prefix | | | | | | +---w tunnel-interface? uint32 | |||
| | | | +--:(tunnel) | | | | | +--:(pw) | |||
| | | | | +---w tunnel-interface? uint32 | | | | | | +---w remote-pe-address? inet:ip-address | |||
| | | | +--:(pw) | | | | | | +---w pw-id? uint32 | |||
| | | | | +---w remote-pe-address? inet:ip-address | | | | | +--:(vpls) | |||
| | | | | +---w pw-id? uint32 | | | | | | +---w route-distinguisher? uint32 | |||
| | | | +--:(vpls) | | | | | | +---w sender-ve-id? uint32 | |||
| | | | | +---w route-distinguisher? uint32 | | | | | | +---w receiver-ve-id? uint32 | |||
| | | | | +---w sender-ve-id? uint32 | | | | | +--:(mpls-mldp) | |||
| | | | | +---w receiver-ve-id? uint32 | | | | | +---w (root-address)? | |||
| | | | +--:(mpls-mldp) | | | | | +--:(ip-address) | |||
| | | | +---w (root-address)? | | | | | | +---w source-address? inet:ip-address | |||
| | | | +--:(ip-address) | | | | | | +---w group-ip-address? IP-Multicast | |||
| | | | | +---w source-address? inet:ip-address | -Group-Address | |||
| | | | | +---w group-ip-address? IP-Multicast-Group-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 | | | | +--:(system-info) | |||
| | | +--:(tlv-address) | | | | +---w system-id? router-id | |||
| | | | +---w tlv-type? int16 | | | +---w session-type-enum? enumeration | |||
| | | | +---w tlv-len? int16 | | | +---w source-interface? if:interface-ref | |||
| | | | +---w tlv-value? binary | | | +---w outbound-interface? if:interface-ref | |||
| | | +--:(system-info) | | | +---w count? uint32 | |||
| | | +---w system-id? inet:uri | | | +---w vrf? coam:routing-instance-ref | |||
| | +---w session-type-enum? enumeration | | | +---w ttl? uint8 | |||
| | +---w source-interface? if:interface-ref | | | +---w packet-size? uint32 | |||
| | +---w outbound-interface? if:interface-ref | | +--ro output | |||
| | +---w vrf? coam:routing-instance-ref | | +--ro error-code-list* [response-index] | |||
| | +---w max-ttl? uint8 | | | +--ro response-index uint32 | |||
| | | +--ro status-code? int32 | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | | | +--ro status-sub-code? uint8 | |||
| | +--ro src-test-point | ||||
| +--ro output | | | +--ro vrf? routing-instance-ref | |||
| +--ro response-list* [response-index] | | | +--ro tp-location-type-value? identityref | |||
| | +--ro response-index uint32 | | | +--ro (tp-address)? | |||
| | +--ro status-code? int32 | | | | +--:(mac-address) | |||
| | +--ro status-sub-code? uint8 | | | | | +--ro mac-address? yang:mac-address | |||
| +--ro src-test-point | | | | +--:(ipv4-address) | |||
| | +--ro vrf? routing-instance-ref | | | | | +--ro ipv4-address? inet:ipv4-address | |||
| | +--ro tp-address-type-value? identityref | | | | +--:(ipv6-address) | |||
| | +--ro (tp-address)? | | | | | +--ro ipv6-address? inet:ipv6-address | |||
| | +--:(mac-address) | | | | +--:(tp-attribute) | |||
| | | +--ro mac-address? yang:mac-address | | | | | +--ro tp-attribute-type? fec-type | |||
| | +--:(ipv4-address) | | | | | +--ro (tp-attribute-value)? | |||
| | | +--ro ipv4-address? inet:ipv4-address | | | | | +--:(ip-prefix) | |||
| | +--:(ipv6-address) | | | | | | +--ro ip-prefix? inet:ip-prefix | |||
| | | +--ro ipv6-address? inet:ipv6-address | | | | | +--:(bgp) | |||
| | +--:(src-dst-address) | | | | | | +--ro bgp? inet:ip-prefix | |||
| | | +--ro src-ip-address? inet:ip-address | | | | | +--:(tunnel) | |||
| | | +--ro dst-ip-address? inet:ip-address | | | | | | +--ro tunnel-interface? uint32 | |||
| | | +--ro Interface? if:interface-ref | | | | | +--:(pw) | |||
| | +--:(fec) | | | | | | +--ro remote-pe-address? inet:ip-address | |||
| | | +--ro fec-type? fec-type | | | | | | +--ro pw-id? uint32 | |||
| | | +--ro (fec-value)? | | | | | +--:(vpls) | |||
| | | +--:(ip-prefix) | | | | | | +--ro route-distinguisher? uint32 | |||
| | | | +--ro ip-prefix? inet:ip-prefix | | | | | | +--ro sender-ve-id? uint32 | |||
| | | +--:(bgp) | | | | | | +--ro receiver-ve-id? uint32 | |||
| | | | +--ro bgp? inet:ip-prefix | | | | | +--:(mpls-mldp) | |||
| | | +--:(tunnel) | | | | | +--ro (root-address)? | |||
| | | | +--ro tunnel-interface? uint32 | | | | | +--:(ip-address) | |||
| | | +--:(pw) | | | | | | +--ro source-address? inet:ip-address | |||
| | | | +--ro remote-pe-address? inet:ip-address | | | | | | +--ro group-ip-address? IP-Multicast | |||
| | | | +--ro pw-id? uint32 | -Group-Address | |||
| | | +--:(vpls) | | | | | +--:(vpn) | |||
| | | | +--ro route-distinguisher? uint32 | | | | | | +--ro as-number? inet:as-number | |||
| | | | +--ro sender-ve-id? uint32 | | | | | +--:(global-id) | |||
| | | | +--ro receiver-ve-id? uint32 | | | | | +--ro lsp-id? string | |||
| | | +--:(mpls-mldp) | | | | +--:(system-info) | |||
| | | +--ro (root-address)? | | | | +--ro system-id? router-id | |||
| | | +--:(ip-address) | | | +--ro egress-intf-name? if:interface-ref | |||
| | | | +--ro source-address? inet:ip-address | | +--ro dest-test-point | |||
| | | | +--ro group-ip-address? IP-Multicast-Group-Address | | | +--ro vrf? routing-instance-ref | |||
| | | +--:(vpn) | | | +--ro tp-location-type-value? identityref | |||
| | | | +--ro as-number? inet:as-number | | | +--ro (tp-address)? | |||
| | | +--:(global-id) | | | | +--:(mac-address) | |||
| | | +--ro lsp-id? string | | | | | +--ro mac-address? yang:mac-address | |||
| | +--:(tlv-address) | | | | +--:(ipv4-address) | |||
| | | +--ro tlv-type? int16 | | | | | +--ro ipv4-address? inet:ipv4-address | |||
| | | +--ro tlv-len? int16 | | | | +--:(ipv6-address) | |||
| | | +--ro tlv-value? binary | | | | | +--ro ipv6-address? inet:ipv6-address | |||
| | | | +--:(tp-attribute) | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | | | | | +--ro tp-attribute-type? fec-type | |||
| | | | | +--ro (tp-attribute-value)? | ||||
| | +--:(system-info) | | | | | +--:(ip-prefix) | |||
| | +--ro system-id? inet:uri | | | | | | +--ro ip-prefix inet:ip-prefix | |||
| +--ro dest-test-point | | | | | +--:(bgp) | |||
| | +--ro vrf? routing-instance-ref | | | | | | +--ro bgp? inet:ip-prefix | |||
| | +--ro tp-address-type-value? identityref | | | | | +--:(tunnel) | |||
| | +--ro (tp-address)? | | | | | | +--ro tunnel-interface? uint32 | |||
| | +--:(mac-address) | | | | | +--:(pw) | |||
| | | +--ro mac-address? yang:mac-address | | | | | | +--ro remote-pe-address? inet:ip-address | |||
| | +--:(ipv4-address) | | | | | | +--ro pw-id? uint32 | |||
| | | +--ro ipv4-address? inet:ipv4-address | | | | | +--:(vpls) | |||
| | +--:(ipv6-address) | | | | | | +--ro route-distinguisher? uint32 | |||
| | | +--ro ipv6-address? inet:ipv6-address | | | | | | +--ro sender-ve-id? uint32 | |||
| | +--:(src-dst-address) | | | | | | +--ro receiver-ve-id? uint32 | |||
| | | +--ro src-ip-address? inet:ip-address | | | | | +--:(mpls-mldp) | |||
| | | +--ro dst-ip-address? inet:ip-address | | | | | +--ro (root-address)? | |||
| | | +--ro Interface? if:interface-ref | | | | | +--:(ip-address) | |||
| | +--:(fec) | | | | | | +--ro source-address? inet:ip-address | |||
| | | +--ro fec-type? fec-type | | | | | | +--ro group-ip-address? IP-Multicast- | |||
| | | +--ro (fec-value)? | Group-Address | |||
| | | +--:(ip-prefix) | | | | | +--:(vpn) | |||
| | | | +--ro ip-prefix? inet:ip-prefix | | | | | | +--ro as-number? inet:as-number | |||
| | | +--:(bgp) | | | | | +--:(global-id) | |||
| | | | +--ro bgp? inet:ip-prefix | | | | | +--ro lsp-id? string | |||
| | | +--:(tunnel) | | | | +--:(system-info) | |||
| | | | +--ro tunnel-interface? uint32 | | | | +--ro system-id? router-id | |||
| | | +--:(pw) | | | +--ro ingress-intf-name? if:interface-ref | |||
| | | | +--ro remote-pe-address? inet:ip-address | | +--ro sequence-number? uint64 | |||
| | | | +--ro pw-id? uint32 | | +--ro hop-cnt? uint8 | |||
| | | +--:(vpls) | | +--ro session-packet-statistics | |||
| | | | +--ro route-distinguisher? uint32 | | | +--ro rx-packet-count? uint32 | |||
| | | | +--ro sender-ve-id? uint32 | | | +--ro tx-packet-count? uint32 | |||
| | | | +--ro receiver-ve-id? uint32 | | | +--ro rx-bad-packet? uint32 | |||
| | | +--:(mpls-mldp) | | | +--ro tx-packet-failed? uint32 | |||
| | | +--ro (root-address)? | | +--ro session-error-statistics | |||
| | | +--:(ip-address) | | | +--ro packet-drops-count? uint32 | |||
| | | | +--ro source-address? inet:ip-address | | | +--ro packet-reorder-count? uint32 | |||
| | | | +--ro group-ip-address? IP-Multicast-Group-Address | | | +--ro packets-out-of-seq-count? uint32 | |||
| | | +--:(vpn) | | | +--ro packets-dup-count? uint32 | |||
| | | | +--ro as-number? inet:as-number | | +--ro session-delay-statistics | |||
| | | +--:(global-id) | | | +--ro time-resolution-value? identityref | |||
| | | +--ro lsp-id? string | | | +--ro min-delay-value? uint32 | |||
| | +--:(tlv-address) | | | +--ro max-delay-value? uint32 | |||
| | | +--ro tlv-type? int16 | | | +--ro average-delay-value? uint32 | |||
| | | +--ro tlv-len? int16 | | +--ro session-jitter-statistics | |||
| | | +--ro tlv-value? binary | | +--ro time-resolution-value? identityref | |||
| | +--:(system-info) | | +--ro min-jitter-value? uint32 | |||
| | +--ro system-id? inet:uri | | +--ro max-jitter-value? uint32 | |||
| +--ro sequence-number? uint64 | | +--ro average-jitter-value? uint32 | |||
| +---x cc-persistent-create {coam:continuity-check}? | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | | +---w input | |||
| | | +---w destination-tp | ||||
| +--ro hop-cnt? uint8 | | | | +---w tp-location-type-value? identityref | |||
| +--ro session-packet-statistics | | | | +---w (tp-address)? | |||
| | +--ro rx-packet-count? uint32 | | | | +--:(mac-address) | |||
| | +--ro tx-packet-count? uint32 | | | | | +---w mac-address? yang:mac-address | |||
| | +--ro rx-bad-packet? uint32 | | | | +--:(ipv4-address) | |||
| | +--ro tx-packet-failed? uint32 | | | | | +---w ipv4-address? inet:ipv4-address | |||
| +--ro session-error-statistics | | | | +--:(ipv6-address) | |||
| | +--ro packet-drops-count? uint32 | | | | | +---w ipv6-address? inet:ipv6-address | |||
| | +--ro packet-reorder-count? uint32 | | | | +--:(tp-attribute) | |||
| | +--ro packets-out-of-seq-count? uint32 | | | | | +---w tp-attribute-type? fec-type | |||
| | +--ro packets-dup-count? uint32 | | | | | +---w (tp-attribute-value)? | |||
| +--ro session-delay-statistics | | | | | +--:(ip-prefix) | |||
| | +--ro time-resolution-value? identityref | | | | | | +---w ip-prefix? inet:ip-prefix | |||
| | +--ro min-delay-value? uint32 | | | | | +--:(bgp) | |||
| | +--ro max-delay-value? uint32 | | | | | | +---w bgp? inet:ip-prefix | |||
| | +--ro average-delay-value? uint32 | | | | | +--:(tunnel) | |||
| +--ro session-jitter-statistics | | | | | | +---w tunnel-interface? uint32 | |||
| | +--ro time-resolution-value? identityref | | | | | +--:(pw) | |||
| | +--ro min-jitter-value? uint32 | | | | | | +---w remote-pe-address? inet:ip-address | |||
| | +--ro max-jitter-value? uint32 | | | | | | +---w pw-id? uint32 | |||
| | +--ro average-jitter-value? uint32 | | | | | +--:(vpls) | |||
| +--ro path-verification | | | | | | +---w route-distinguisher? uint32 | |||
| | +--ro flow-info? string | | | | | | +---w sender-ve-id? uint32 | |||
| | +--ro session-path-verification-statistics | | | | | | +---w receiver-ve-id? uint32 | |||
| | +--ro verified-count? uint32 | | | | | +--:(mpls-mldp) | |||
| | +--ro failed-count? uint32 | | | | | +---w (root-address)? | |||
| +--ro path-trace-info | | | | | +--:(ip-address) | |||
| +--ro path-trace-info-list* [index] | | | | | | +---w source-address? inet:ip-address | |||
| +--ro index uint32 | | | | | | +---w group-ip-address? IP-Multicast- | |||
| +--ro vrf? routing-instance-ref | Group-Address | |||
| +--ro tp-address-type-value? identityref | | | | | +--:(vpn) | |||
| +--ro (tp-address)? | | | | | | +---w as-number? inet:as-number | |||
| | +--:(mac-address) | | | | | +--:(global-id) | |||
| | | +--ro mac-address? yang:mac-address | | | | | +---w lsp-id? string | |||
| | +--:(ipv4-address) | | | | +--:(system-info) | |||
| | | +--ro ipv4-address? inet:ipv4-address | | | | +---w system-id? router-id | |||
| | +--:(ipv6-address) | | | +---w session-type-enum? enumeration | |||
| | | +--ro ipv6-address? inet:ipv6-address | | | +---w source-interface? if:interface-ref | |||
| | +--:(src-dst-address) | | | +---w outbound-interface? if:interface-ref | |||
| | | +--ro src-ip-address? inet:ip-address | | | +---w vrf? coam:routing-instance-ref | |||
| | | +--ro dst-ip-address? inet:ip-address | | | +---w ttl? uint8 | |||
| | | +--ro Interface? if:interface-ref | | | +---w data-export-method? export-method | |||
| | +--:(fec) | | | +---w (cc-trigger)? | |||
| | | +--ro fec-type? fec-type | | | +--:(periodic) | |||
| | | +--ro (fec-value)? | | | | +---w period? yang:timeticks | |||
| | | +--:(ip-prefix) | | | | +---w start-time? yang:date-and-time | |||
| | | | +--ro ip-prefix? inet:ip-prefix | | | +--:(on-change) | |||
| | | +--:(bgp) | | | +---w all-data-on-start? boolean | |||
| | | +---w excluded-change* change-type | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | | +--ro output | |||
| | +--ro error-code-list* [response-index] | ||||
| | | | +--ro bgp? inet:ip-prefix | | | +--ro response-index uint32 | |||
| | | +--:(tunnel) | | | +--ro status-code? int32 | |||
| | | | +--ro tunnel-interface? uint32 | | | +--ro status-sub-code? uint8 | |||
| | | +--:(pw) | | +--ro cc-persistent-id? string | |||
| | | | +--ro remote-pe-address? inet:ip-address | +---x cc-persistent-modify {coam:continuity-check}? | |||
| | | | +--ro pw-id? uint32 | | +---w input | |||
| | | +--:(vpls) | | | +---w cc-persistent-id? string | |||
| | | | +--ro route-distinguisher? uint32 | | | +---w data-export-method? export-method | |||
| | | | +--ro sender-ve-id? uint32 | | | +---w (cc-trigger)? | |||
| | | | +--ro receiver-ve-id? uint32 | | | +--:(periodic) | |||
| | | +--:(mpls-mldp) | | | | +---w period? yang:timeticks | |||
| | | +--ro (root-address)? | | | | +---w start-time? yang:date-and-time | |||
| | | +--:(ip-address) | | | +--:(on-change) | |||
| | | | +--ro source-address? inet:ip-address | | | +---w all-data-on-start? boolean | |||
| | | | +--ro group-ip-address? IP-Multicast-Group-Address | | | +---w excluded-change* change-type | |||
| | | +--:(vpn) | | +--ro output | |||
| | | | +--ro as-number? inet:as-number | | +--ro error-code-list* [response-index] | |||
| | | +--:(global-id) | | | +--ro response-index uint32 | |||
| | | +--ro lsp-id? string | | | +--ro status-code? int32 | |||
| | +--:(tlv-address) | | | +--ro status-sub-code? uint8 | |||
| | | +--ro tlv-type? int16 | | +--ro cc-persistent-id? string | |||
| | | +--ro tlv-len? int16 | +---x cc-persistent-delete {coam:continuity-check}? | |||
| | | +--ro tlv-value? binary | | +---w input | |||
| | +--:(system-info) | | | +---w cc-persistent-id? string | |||
| | +--ro system-id? inet:uri | | +--ro output | |||
| +--ro timestamp-val? yang:date-and-time | | +--ro error-code-list* [response-index] | |||
| +--ro ingress-intf-name? if:interface-ref | | +--ro response-index uint32 | |||
| +--ro egress-intf-name? if:interface-ref | | +--ro status-code? int32 | |||
| +--ro app-meta-data? uint32 | | +--ro status-sub-code? uint8 | |||
| +---x path-discovery | ||||
| | +---w input | ||||
| | | +---w destination-tp | ||||
| | | | +---w tp-location-type-value? identityref | ||||
| | | | +---w (tp-address)? | ||||
| | | | +--:(mac-address) | ||||
| | | | | +---w mac-address? yang:mac-address | ||||
| | | | +--:(ipv4-address) | ||||
| | | | | +---w ipv4-address? inet:ipv4-address | ||||
| | | | +--:(ipv6-address) | ||||
| | | | | +---w ipv6-address? inet:ipv6-address | ||||
| | | | +--:(tp-attribute) | ||||
| | | | | +---w tp-attribute-type? fec-type | ||||
| | | | | +---w (tp-attribute-value)? | ||||
| | | | | +--:(ip-prefix) | ||||
| | | | | | +---w ip-prefix? inet:ip-prefix | ||||
| | | | | +--:(bgp) | ||||
| | | | | | +---w bgp inet:ip-prefix | ||||
| | | | | +--:(tunnel) | ||||
| | | | | | +---w tunnel-interface? uint32 | ||||
| | | | | +--:(pw) | ||||
| | | | | | +---w remote-pe-address? inet:ip-address | ||||
| | | | | | +---w pw-id? uint32 | ||||
| | | | | +--:(vpls) | ||||
| | | | | | +---w route-distinguisher? uint32 | ||||
| | | | | | +---w sender-ve-id? uint32 | ||||
| | | | | | +---w receiver-ve-id? uint32 | ||||
| | | | | +--:(mpls-mldp) | ||||
| | | | | +---w (root-address)? | ||||
| | | | | +--:(ip-address) | ||||
| | | | | | +---w source-address? inet:ip-address | ||||
| | | | | | +---w group-ip-address? IP-Multicast | ||||
| -Group-Address | ||||
| | | | | +--:(vpn) | ||||
| | | | | | +---w as-number? inet:as-number | ||||
| | | | | +--:(global-id) | ||||
| | | | | +---w lsp-id? string | ||||
| | | | +--:(system-info) | ||||
| | | | +---w system-id? router-id | ||||
| | | +---w session-type-enum? enumeration | ||||
| | | +---w source-interface? if:interface-ref | ||||
| | | +---w outbound-interface? if:interface-ref | ||||
| | | +---w vrf? coam:routing-instance-ref | ||||
| | | +---w max-ttl? uint8 | ||||
| | +--ro output | ||||
| | +--ro response-list* [response-index] | ||||
| | | +--ro response-index uint32 | ||||
| | | +--ro status-code? int32 | ||||
| | | +--ro status-sub-code? uint8 | ||||
| | +--ro src-test-point | ||||
| | | +--ro vrf? routing-instance-ref | ||||
| | | +--ro tp-location-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 | ||||
| | | +--:(tp-attribute) | ||||
| | | | +--ro tp-attribute-type? fec-type | ||||
| | | | +--ro (tp-attribute-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 | ||||
| | | +--:(system-info) | ||||
| | | +--ro system-id? router-id | ||||
| | +--ro dest-test-point | ||||
| | | +--ro vrf? routing-instance-ref | ||||
| | | +--ro tp-location-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 | ||||
| | | +--:(tp-attribute) | ||||
| | | | +--ro tp-attribute-type? fec-type | ||||
| | | | +--ro (tp-attribute-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 | ||||
| | | +--:(system-info) | ||||
| | | +--ro system-id? router-id | ||||
| | +--ro sequence-number? uint64 | ||||
| | +--ro hop-cnt? uint8 | ||||
| | +--ro session-packet-statistics | ||||
| | | +--ro rx-packet-count? uint32 | ||||
| | | +--ro tx-packet-count? uint32 | ||||
| | | +--ro rx-bad-packet? uint32 | ||||
| | | +--ro tx-packet-failed? uint32 | ||||
| | +--ro session-error-statistics | ||||
| | | +--ro packet-drops-count? uint32 | ||||
| | | +--ro packet-reorder-count? uint32 | ||||
| | | +--ro packets-out-of-seq-count? uint32 | ||||
| | | +--ro packets-dup-count? uint32 | ||||
| | +--ro session-delay-statistics | ||||
| | | +--ro time-resolution-value? identityref | ||||
| | | +--ro min-delay-value? uint32 | ||||
| | | +--ro max-delay-value? uint32 | ||||
| | | +--ro average-delay-value? uint32 | ||||
| | +--ro session-jitter-statistics | ||||
| | | +--ro time-resolution-value? identityref | ||||
| | | +--ro min-jitter-value? uint32 | ||||
| | | +--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-location-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 | ||||
| | | +--:(tp-attribute) | ||||
| | | | +--ro tp-attribute-type? fec-type | ||||
| | | | +--ro (tp-attribute-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 | ||||
| | | +--:(system-info) | ||||
| | | +--ro system-id? router-id | ||||
| | +--ro timestamp-sec? yang:timestamp | ||||
| | +--ro timestamp-nanosec? yang:timestamp | ||||
| | +--ro ingress-intf-name? if:interface-ref | ||||
| | +--ro egress-intf-name? if:interface-ref | ||||
| | +--ro queue-depth? uint32 | ||||
| | +--ro transit-delay? uint32 | ||||
| | +--ro app-meta-data? uint64 | ||||
| | +--ro opaque-tlvs | ||||
| | +--ro opaque-tlvs-list* | ||||
| | +--ro type? opaque-tlv-type | ||||
| | +--ro length? uint16 | ||||
| | +--ro value? yang:hex-string | ||||
| +---x pd-persistent-create | ||||
| | +---w input | ||||
| | | +---w destination-tp | ||||
| | | | +---w tp-location-type-value? identityref | ||||
| | | | +---w (tp-address)? | ||||
| | | | +--:(mac-address) | ||||
| | | | | +---w mac-address? yang:mac-address | ||||
| | | | +--:(ipv4-address) | ||||
| | | | | +---w ipv4-address? inet:ipv4-address | ||||
| | | | +--:(ipv6-address) | ||||
| | | | | +---w ipv6-address? inet:ipv6-address | ||||
| | | | +--:(tp-attribute) | ||||
| | | | | +---w tp-attribute-type? fec-type | ||||
| | | | | +---w (tp-attribute-value)? | ||||
| | | | | +--:(ip-prefix) | ||||
| | | | | | +---w ip-prefix? inet:ip-prefix | ||||
| | | | | +--:(bgp) | ||||
| | | | | | +---w bgp? inet:ip-prefix | ||||
| | | | | +--:(tunnel) | ||||
| | | | | | +---w tunnel-interface? uint32 | ||||
| | | | | +--:(pw) | ||||
| | | | | | +---w remote-pe-address? inet:ip-address | ||||
| | | | | | +---w pw-id? uint32 | ||||
| | | | | +--:(vpls) | ||||
| | | | | | +---w route-distinguisher? uint32 | ||||
| | | | | | +---w sender-ve-id? uint32 | ||||
| | | | | | +---w receiver-ve-id? uint32 | ||||
| | | | | +--:(mpls-mldp) | ||||
| | | | | +---w (root-address)? | ||||
| | | | | +--:(ip-address) | ||||
| | | | | | +---w source-address inet:ip-address | ||||
| | | | | | +---w group-ip-address? IP-Multicast | ||||
| -Group-Address | ||||
| | | | | +--:(vpn) | ||||
| | | | | | +---w as-number? inet:as-number | ||||
| | | | | +--:(global-id) | ||||
| | | | | +---w lsp-id? string | ||||
| | | | +--:(system-info) | ||||
| | | | +---w system-id? router-id | ||||
| | | +---w session-type-enum? enumeration | ||||
| | | +---w source-interface? if:interface-ref | ||||
| | | +---w outbound-interface? if:interface-ref | ||||
| | | +---w vrf? coam:routing-instance-ref | ||||
| | | +---w max-ttl? uint8 | ||||
| | | +---w data-export-method? export-method | ||||
| | | +---w (pd-trigger)? | ||||
| | | +--:(periodic) | ||||
| | | | +---w period? yang:timeticks | ||||
| | | | +---w start-time? yang:date-and-time | ||||
| | | +--:(on-change) | ||||
| | | +---w all-data-on-start? boolean | ||||
| | | +---w excluded-change* change-type | ||||
| | +--ro output | ||||
| | +--ro response-list* [response-index] | ||||
| | +--ro response-index uint32 | ||||
| | +--ro status-code? int32 | ||||
| | +--ro status-sub-code? uint8 | ||||
| | +--ro pd-persistent-id? string | ||||
| +---x pd-persistent-modify | ||||
| | +---w input | ||||
| | | +---w pd-persistent-id? string | ||||
| | | +---w data-export-method? export-method | ||||
| | | +---w (pd-trigger)? | ||||
| | | +--:(periodic) | ||||
| | | | +---w period? yang:timeticks | ||||
| | | | +---w start-time? yang:date-and-time | ||||
| | | +--:(on-change) | ||||
| | | +---w all-data-on-start? boolean | ||||
| | | +---w excluded-change* change-type | ||||
| | +--ro output | ||||
| | +--ro response-list* [response-index] | ||||
| | +--ro response-index uint32 | ||||
| | +--ro status-code? int32 | ||||
| | +--ro status-sub-code? uint8 | ||||
| | +--ro pd-persistent-id? string | ||||
| +---x pd-persistent-delete | ||||
| +---w input | ||||
| | +---w pd-persistent-id? string | ||||
| +--ro output | ||||
| +--ro response-list* [response-index] | ||||
| +--ro response-index uint32 | ||||
| +--ro status-code? int32 | ||||
| +--ro status-sub-code? uint8 | ||||
| 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.yang" | <CODE BEGINS> file "ietf-connectionless-oam-methods.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; | |||
| } | } | |||
| import ietf-yang-types { | ||||
| prefix yang; | ||||
| } | ||||
| organization "IETF LIME Working Group"; | organization "IETF LIME Working Group"; | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| 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 2016-06-23 { | revision 2017-02-15 { | |||
| description | description | |||
| "06 version"; | "02 version"; | |||
| reference ""; | 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 { | |||
| container destination-tp { | container destination-tp { | |||
| uses coam:tp-address; | uses coam:tp-address; | |||
| description | description | |||
| "destination test point."; | "Destination test point."; | |||
| } | } | |||
| uses coam:session-type; | uses coam:session-type; | |||
| 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 uint32; | |||
| default "5"; | default "5"; | |||
| description | description | |||
| "Specifies the number of | ||||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | 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; | |||
| default "255"; | default "255"; | |||
| description | description | |||
| "Time to live (TTL)."; | "Time to live (TTL)."; | |||
| } | } | |||
| leaf packet-size { | leaf packet-size { | |||
| type uint32 { | type uint32 { | |||
| range "64..10000"; | range "64..10000"; | |||
| } | } | |||
| default "64"; | default "64"; | |||
| description | description | |||
| "Size of ping echo request packets, in octets"; | "Size of ping echo request | |||
| packets, in octets"; | ||||
| } | } | |||
| } | } | |||
| output { | output { | |||
| list error-code-list { | list error-code-list { | |||
| key "response-index"; | key "response-index"; | |||
| leaf response-index { | leaf response-index { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "response index."; | "Response index."; | |||
| } | } | |||
| leaf status-code { | leaf status-code { | |||
| type int32; | type int32; | |||
| description | description | |||
| "error code is "; | "Error code is "; | |||
| } | } | |||
| leaf status-sub-code { | leaf status-sub-code { | |||
| type uint8; | type uint8; | |||
| description | description | |||
| "sub code."; | "Sub code."; | |||
| } | } | |||
| description | description | |||
| "error code list."; | "Error code list."; | |||
| } | } | |||
| uses coam:continuity-check-data; | uses coam:continuity-check-data; | |||
| } | } | |||
| } | } | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | identity export-method { | |||
| description | ||||
| "Base identity to represent a conceptual export-method."; | ||||
| } | ||||
| identity ipfix-export { | ||||
| base export-method; | ||||
| description | ||||
| "IPFIX based export. Configuration provided separately."; | ||||
| } | ||||
| identity yang-push-export { | ||||
| base export-method; | ||||
| description | ||||
| "Yang-push from draft-ietf-netconf-yang-push"; | ||||
| } | ||||
| typedef export-method { | ||||
| type identityref { | ||||
| base export-method; | ||||
| } | ||||
| description | ||||
| "Export method type."; | ||||
| } | ||||
| typedef change-type { | ||||
| type enumeration { | ||||
| enum "create" { | ||||
| description | ||||
| "Change due to a create."; | ||||
| } | ||||
| enum "delete" { | ||||
| description | ||||
| "Change due to a delete."; | ||||
| } | ||||
| enum "modify" { | ||||
| description | ||||
| "Change due to an update."; | ||||
| } | ||||
| } | ||||
| description | ||||
| "Different types of changes that may occur."; | ||||
| } | ||||
| rpc cc-persistent-create { | ||||
| if-feature coam:continuity-check; | ||||
| description | ||||
| "Generates persistent continuity-check."; | ||||
| input { | ||||
| container destination-tp { | ||||
| uses coam:tp-address; | ||||
| description | ||||
| "Destination test point."; | ||||
| } | ||||
| uses coam:session-type; | ||||
| leaf source-interface { | ||||
| type if:interface-ref; | ||||
| description | ||||
| "Source interface."; | ||||
| } | ||||
| leaf outbound-interface { | ||||
| type if:interface-ref; | ||||
| description | ||||
| "Outbound interface."; | ||||
| } | ||||
| leaf vrf { | ||||
| type coam:routing-instance-ref; | ||||
| description | ||||
| "VRF instance."; | ||||
| } | ||||
| leaf ttl { | ||||
| type uint8; | ||||
| default "255"; | ||||
| description | ||||
| "Time to live (TTL)."; | ||||
| } | ||||
| leaf data-export-method { | ||||
| type export-method; | ||||
| description | ||||
| "Type of export."; | ||||
| } | ||||
| choice cc-trigger { | ||||
| description | ||||
| "Defines necessary conditions for | ||||
| periodic or on-change trigger."; | ||||
| case periodic { | ||||
| description "Periodic reports."; | ||||
| leaf period { | ||||
| type yang:timeticks; | ||||
| description "Time interval between reports."; | ||||
| } | ||||
| leaf start-time { | ||||
| type yang:date-and-time; | ||||
| description | ||||
| "Timestamp from which reports are started."; | ||||
| } | ||||
| } | ||||
| case on-change { | ||||
| description | ||||
| "On-change trigger and not periodic."; | ||||
| leaf all-data-on-start { | ||||
| type boolean; | ||||
| description | ||||
| "Full update needed on start or not."; | ||||
| } | ||||
| leaf-list excluded-change { | ||||
| type change-type; | ||||
| description | ||||
| "Restrict which changes trigger an update."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| output { | ||||
| list error-code-list { | ||||
| key "response-index"; | ||||
| leaf response-index { | ||||
| type uint32; | ||||
| description | ||||
| "Response index."; | ||||
| } | ||||
| leaf status-code { | ||||
| type int32; | ||||
| description | ||||
| "Error code."; | ||||
| } | ||||
| leaf status-sub-code { | ||||
| type uint8; | ||||
| description | ||||
| "Sub code."; | ||||
| } | ||||
| description | ||||
| "Error code list."; | ||||
| } | ||||
| leaf cc-persistent-id { | ||||
| type string; | ||||
| description | ||||
| "Id to act as a cookie."; | ||||
| } | ||||
| } | ||||
| } | ||||
| rpc cc-persistent-modify { | ||||
| if-feature coam:continuity-check; | ||||
| description | ||||
| "Modifies persistent continuity-check | ||||
| as per RFC7276."; | ||||
| input { | ||||
| leaf cc-persistent-id { | ||||
| type string; | ||||
| description | ||||
| "Cookie Id to be used for modifications."; | ||||
| } | ||||
| leaf data-export-method { | ||||
| type export-method; | ||||
| description | ||||
| "Type of export to use."; | ||||
| } | ||||
| choice cc-trigger { | ||||
| description | ||||
| "Defines necessary conditions for | ||||
| periodic or on-change trigger."; | ||||
| case periodic { | ||||
| description "Periodic reports."; | ||||
| leaf period { | ||||
| type yang:timeticks; | ||||
| description | ||||
| "Time interval between reports."; | ||||
| } | ||||
| leaf start-time { | ||||
| type yang:date-and-time; | ||||
| description | ||||
| "Timestamp from which reports are started."; | ||||
| } | ||||
| } | ||||
| case on-change { | ||||
| description | ||||
| "On-change trigger and not periodic."; | ||||
| leaf all-data-on-start { | ||||
| type boolean; | ||||
| description | ||||
| "Full update needed on start or not."; | ||||
| } | ||||
| leaf-list excluded-change { | ||||
| type change-type; | ||||
| description | ||||
| "Restrict which changes trigger an update."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| output { | ||||
| list error-code-list { | ||||
| key "response-index"; | ||||
| leaf response-index { | ||||
| type uint32; | ||||
| description | ||||
| "Response index."; | ||||
| } | ||||
| leaf status-code { | ||||
| type int32; | ||||
| description | ||||
| "Error code"; | ||||
| } | ||||
| leaf status-sub-code { | ||||
| type uint8; | ||||
| description | ||||
| "Sub code."; | ||||
| } | ||||
| description | ||||
| "Error code list."; | ||||
| } | ||||
| leaf cc-persistent-id { | ||||
| type string; | ||||
| description | ||||
| "Id to represent a cookie."; | ||||
| } | ||||
| } | ||||
| } | ||||
| rpc cc-persistent-delete { | ||||
| if-feature coam:continuity-check; | ||||
| description | ||||
| "Deletes persistent continuity-check as per RFC7276."; | ||||
| input { | ||||
| leaf cc-persistent-id { | ||||
| type string; | ||||
| description | ||||
| "Cookie Id to be used in deletion."; | ||||
| } | ||||
| } | ||||
| output { | ||||
| list error-code-list { | ||||
| key "response-index"; | ||||
| leaf response-index { | ||||
| type uint32; | ||||
| description | ||||
| "Response index."; | ||||
| } | ||||
| leaf status-code { | ||||
| type int32; | ||||
| description | ||||
| "Error code."; | ||||
| } | ||||
| leaf status-sub-code { | ||||
| type uint8; | ||||
| description | ||||
| "Sub code."; | ||||
| } | ||||
| description | ||||
| "Error code list."; | ||||
| } | ||||
| } | ||||
| } | ||||
| rpc path-discovery { | rpc path-discovery { | |||
| description | description | |||
| "Generates path discovery as per RFC7276."; | "Generates path discovery 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."; | |||
| } | } | |||
| uses coam:session-type; | uses coam:session-type; | |||
| 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 vrf { | leaf vrf { | |||
| type coam:routing-instance-ref; | type coam:routing-instance-ref; | |||
| description | description | |||
| "vrf"; | "VRF"; | |||
| } | } | |||
| leaf max-ttl { | leaf max-ttl { | |||
| type uint8; | type uint8; | |||
| default "255"; | default "255"; | |||
| description | description | |||
| "max ttl."; | "Max ttl."; | |||
| } | ||||
| } | ||||
| output { | ||||
| list response-list { | ||||
| key "response-index"; | ||||
| description | ||||
| "Path discovery response list."; | ||||
| leaf response-index { | ||||
| type uint32; | ||||
| description | ||||
| "Response index."; | ||||
| } | ||||
| leaf status-code { | ||||
| type int32; | ||||
| description | ||||
| "Error code is "; | ||||
| } | ||||
| leaf status-sub-code { | ||||
| type uint8; | ||||
| description | ||||
| "Sub code is "; | ||||
| } | ||||
| } | ||||
| uses coam:path-discovery-data; | ||||
| } | ||||
| } | ||||
| rpc pd-persistent-create { | ||||
| description | ||||
| "Generates persistent path discovery."; | ||||
| input { | ||||
| container destination-tp { | ||||
| uses coam:tp-address; | ||||
| description | ||||
| "Destination test point."; | ||||
| } | ||||
| uses coam:session-type; | ||||
| leaf source-interface { | ||||
| type if:interface-ref; | ||||
| description | ||||
| "Source interface."; | ||||
| } | ||||
| leaf outbound-interface { | ||||
| type if:interface-ref; | ||||
| description | ||||
| "Outbound interface."; | ||||
| } | ||||
| leaf vrf { | ||||
| type coam:routing-instance-ref; | ||||
| description | ||||
| "VRF"; | ||||
| } | ||||
| leaf max-ttl { | ||||
| type uint8; | ||||
| default "255"; | ||||
| description | ||||
| "Max ttl."; | ||||
| } | ||||
| leaf data-export-method { | ||||
| type export-method; | ||||
| description | ||||
| "Type of export."; | ||||
| } | ||||
| choice pd-trigger { | ||||
| description | ||||
| "Defines necessary conditions | ||||
| for periodic or on-change | ||||
| trigger."; | ||||
| case periodic { | ||||
| description | ||||
| "Periodic reports."; | ||||
| leaf period { | ||||
| type yang:timeticks; | ||||
| description | ||||
| "Time interval between reports."; | ||||
| } | ||||
| leaf start-time { | ||||
| type yang:date-and-time; | ||||
| description | ||||
| "Timestamp from which reports are started."; | ||||
| } | ||||
| } | ||||
| case on-change { | ||||
| description | ||||
| "On-change trigger and not periodic."; | ||||
| leaf all-data-on-start { | ||||
| type boolean; | ||||
| description | ||||
| "Full update needed on start or not."; | ||||
| } | ||||
| leaf-list excluded-change { | ||||
| type change-type; | ||||
| description | ||||
| "Restrict which changes trigger an update."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| output { | ||||
| list response-list { | ||||
| key "response-index"; | ||||
| description | ||||
| "Path discovery response list."; | ||||
| leaf response-index { | ||||
| type uint32; | ||||
| description | ||||
| "Response index."; | ||||
| } | ||||
| leaf status-code { | ||||
| type int32; | ||||
| description | ||||
| "Error code is "; | ||||
| } | ||||
| leaf status-sub-code { | ||||
| type uint8; | ||||
| description | ||||
| "Sub code is "; | ||||
| } | ||||
| leaf pd-persistent-id { | ||||
| type string; | ||||
| description | ||||
| "Id to act as a cookie."; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| rpc pd-persistent-modify { | ||||
| description | ||||
| "Modifies persistent path discovery."; | ||||
| input { | ||||
| leaf pd-persistent-id { | ||||
| type string; | ||||
| description "Cookie Id to be used for modifications."; | ||||
| } | ||||
| leaf data-export-method { | ||||
| type export-method; | ||||
| description "Type of export."; | ||||
| } | ||||
| choice pd-trigger { | ||||
| description | ||||
| "Defines necessary conditions for periodic or on-change | ||||
| trigger."; | ||||
| case periodic { | ||||
| description "Periodic reports."; | ||||
| leaf period { | ||||
| type yang:timeticks; | ||||
| description | ||||
| "Time interval between reports."; | ||||
| } | ||||
| leaf start-time { | ||||
| type yang:date-and-time; | ||||
| description | ||||
| "Timestamp from which reports are started."; | ||||
| } | ||||
| } | ||||
| case on-change { | ||||
| description | ||||
| "On-change trigger and not periodic."; | ||||
| leaf all-data-on-start { | ||||
| type boolean; | ||||
| description | ||||
| "Full update needed on start or not."; | ||||
| } | ||||
| leaf-list excluded-change { | ||||
| type change-type; | ||||
| description | ||||
| "Restrict which changes trigger an update."; | ||||
| } | ||||
| } | ||||
| } | } | |||
| } | } | |||
| output { | output { | |||
| 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; | |||
| description | description | |||
| skipping to change at page 19, line 50 ¶ | skipping to change at page 32, line 38 ¶ | |||
| output { | output { | |||
| 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; | |||
| description | description | |||
| "response index."; | "response index."; | |||
| } | } | |||
| leaf status-code { | leaf status-code { | |||
| type int32; | type int32; | |||
| description | description | |||
| "error code is "; | "error code is "; | |||
| } | } | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| leaf status-sub-code { | leaf status-sub-code { | |||
| type uint8; | type uint8; | |||
| description | ||||
| "sub code is "; | ||||
| } | ||||
| description | leaf pd-persistent-id { | |||
| "sub code is "; | type string; | |||
| description "Id to act as a cookie."; | ||||
| } | } | |||
| } | } | |||
| } | ||||
| } | ||||
| uses coam:path-discovery-data; | rpc pd-persistent-delete { | |||
| description | ||||
| "Deletes persistent path discovery."; | ||||
| input { | ||||
| leaf pd-persistent-id { | ||||
| type string; | ||||
| description "Cookie Id to be used in deletion."; | ||||
| } | ||||
| } | ||||
| } | output { | |||
| list response-list { | ||||
| key "response-index"; | ||||
| description | ||||
| "path discovery response list."; | ||||
| leaf response-index { | ||||
| type uint32; | ||||
| description | ||||
| "response index."; | ||||
| } | ||||
| leaf status-code { | ||||
| type int32; | ||||
| description | ||||
| "error code is "; | ||||
| } | ||||
| leaf status-sub-code { | ||||
| type uint8; | ||||
| description | ||||
| "sub code is "; | ||||
| } | ||||
| } | ||||
| } | ||||
| } | } | |||
| } | } | |||
| YANG module of OAM | ||||
| <CODE ENDS> | <CODE ENDS> | |||
| 5. Security Considerations | 5. Security Considerations | |||
| TBD. | The YANG modules defined in this memo are designed to be accessed via | |||
| the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the | ||||
| secure transport layer and the mandatory to implement secure | ||||
| transport is SSH [RFC6242]. The NETCONF access control model | ||||
| [RFC6536] provides the means to restrict access for particular | ||||
| NETCONF users to a pre-configured subset of all available NETCONF | ||||
| protocol operations and content. Some of the RPC operations in the | ||||
| "ietf-connectionless-oam-methods" YANG module may be considered | ||||
| sensitive or vulnerable in some network environments. It is thus | ||||
| important to control access to these operations. | ||||
| These are the operations and their sensitivity/vulnerability: | ||||
| o continuity-check: Generates continuity check. | ||||
| o path-discovery: Generates path discovery. | ||||
| 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]. | |||
| [RFC3688]. Following the format in RFC 3688, the following | Following the format in [RFC3688], the following registration is | |||
| registration is requested to be made: | requested to be made: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam | URI: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
| This document registers a YANG module in the YANG Module Names | This document registers a YANG module in the YANG Module Names | |||
| registry [RFC6020]. | registry [RFC6020]. | |||
| name: ietf-connectionless-oam namespace: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam | name: ietf-connectionless-oam-methods | |||
| prefix: goam reference: RFC XXXX | ||||
| 7. Normative References | namespace: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam- | |||
| methods | ||||
| prefix: coam-methods | ||||
| reference: RFC XXXX | ||||
| 7. 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-03 (work in progress), | ||||
| December 2016. | ||||
| [I-D.ietf-netconf-yang-push] | ||||
| Clemm, A., Voit, E., Prieto, A., Tripathy, A., Nilsen- | ||||
| Nygaard, E., Bierman, A., and B. Lengyel, "Subscribing to | ||||
| YANG datastore push updates", draft-ietf-netconf-yang- | ||||
| push-04 (work in progress), October 2016. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | ||||
| <http://www.rfc-editor.org/info/rfc3688>. | ||||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc6020>. | <http://www.rfc-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>. | <http://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>. | <http://www.rfc-editor.org/info/rfc6242>. | |||
| [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | ||||
| Protocol (NETCONF) Access Control Model", RFC 6536, | ||||
| DOI 10.17487/RFC6536, March 2012, | ||||
| <http://www.rfc-editor.org/info/rfc6536>. | ||||
| [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, | ||||
| "Specification of the IP Flow Information Export (IPFIX) | ||||
| Protocol for the Exchange of Flow Information", STD 77, | ||||
| RFC 7011, DOI 10.17487/RFC7011, September 2013, | ||||
| <http://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 | ||||
| [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol | ||||
| Label Switched (MPLS) Data Plane Failures", RFC 4379, | ||||
| DOI 10.17487/RFC4379, February 2006, | ||||
| <http://www.rfc-editor.org/info/rfc4379>. | ||||
| [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet | ||||
| Control Message Protocol (ICMPv6) for the Internet | ||||
| Protocol Version 6 (IPv6) Specification", RFC 4443, | ||||
| DOI 10.17487/RFC4443, March 2006, | ||||
| <http://www.rfc-editor.org/info/rfc4443>. | ||||
| [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | ||||
| (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | ||||
| <http://www.rfc-editor.org/info/rfc5880>. | ||||
| [RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y. | ||||
| Weingarten, "An Overview of Operations, Administration, | ||||
| and Maintenance (OAM) Tools", RFC 7276, | ||||
| DOI 10.17487/RFC7276, June 2014, | ||||
| <http://www.rfc-editor.org/info/rfc7276>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Deepak Kumar | Deepak Kumar | |||
| CISCO Systems | CISCO Systems | |||
| 510 McCarthy Blvd | 510 McCarthy Blvd | |||
| Milpitas, CA 95035 | Milpitas, CA 95035 | |||
| USA | USA | |||
| Email: dekumar@cisco.com | Email: dekumar@cisco.com | |||
| skipping to change at page 21, line 41 ¶ | skipping to change at page 37, line 4 ¶ | |||
| 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 | |||
| Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 | ||||
| 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 | |||
| End of changes. 71 change blocks. | ||||
| 544 lines changed or deleted | 1205 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/ | ||||