This YANG module defines the RPC operations for connectionless OAM to be used within the IETF in a protocol-independent manner. ...
Version: 2019-04-16
module ietf-connectionless-oam-methods { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods"; prefix cloam-methods; import ietf-interfaces { prefix if; } import ietf-connectionless-oam { prefix cl-oam; } organization "IETF LIME Working Group"; contact "WG Web: <https://datatracker.ietf.org/wg/lime> WG List: <mailto:lmap@ietf.org> Deepak Kumar <dekumar@cisco.com> Qin Wu <bill.wu@huawei.com> Srihari Raghavan <rihari@cisco.com> Michael Wang <wangzitao@huawei.com> Reshad Rahman <rrahman@cisco.com>"; description "This YANG module defines the RPC operations for connectionless OAM to be used within the IETF in a protocol-independent manner. It is assumed that each protocol maps corresponding abstracts to its native format. Each protocol may extend the YANG data model defined here to include protocol-specific extensions. Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC 8533; see the RFC itself for full legal notices."; revision "2019-04-16" { description "Initial revision."; reference "RFC 8533: Retrieval Methods YANG Data Model for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications"; } identity protocol-id { description "This is the base identity for a generic protocol ID. The protocol registry can be found at https://www.iana.org/protocols."; } identity protocol-id-internet { base protocol-id; description "Identity for Internet Protocols."; } identity protocol-id-proprietary { base protocol-id; description "Identity for proprietary protocols (e.g., IP SLA)."; } identity protocol-id-sfc { base protocol-id; description "Identity for Service Function Chaining."; } identity protocol-id-mpls { base protocol-id; description "The MPLS protocol."; } identity protocol-id-mpls-tp { base protocol-id; description "The MPLS-TP protocol."; } identity protocol-id-twamp { base protocol-id; description "The Two-Way Active Measurement Protocol (TWAMP) protocol."; } identity protocol-id-bier { base protocol-id; description "The Bit Index Explicit Replication (BIER) protocol."; } identity status-code { description "This is base identity for a status code."; } identity success-reach { base status-code; description "Indicates that the destination being verified is reachable (see RFC 7276)."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; } identity fail-reach { base status-code; description "Indicates that the destination being verified is not reachable (see RFC 7276)."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; } identity success-path-verification { base status-code; description "Indicates that the path verification is performed successfully (see RFC 7276)."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; } identity fail-path-verification { base status-code; description "Indicates that the path verification fails (see RFC 7276)."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; } identity status-sub-code { description "IdentityBase status-sub-code."; } identity invalid-cc { base status-sub-code; description "Indicates that the Continuity Check message is invalid (see RFC 7276)."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; } identity invalid-pd { base status-sub-code; description "Indicates that the path discovery message is invalid (see RFC 7276)."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; } identity protocol-id-meta-data { description "This is the base identity for metadata that corresponds to the protocol ID."; } identity protocol-internet-number { base protocol-id-meta-data; description "Internet Protocol number for standard Internet Protocols (IANA-assigned Internet Protocol numbers) to help in protocol processing. The Protocol Numbers registry can be found at https://www.iana.org/assignments/protocol-numbers."; } grouping rpc-input-parameters { description "Grouping for RPC input parameters"; container destination-tp { description "Destination test point."; uses cl-oam:tp-address; } // container destination-tp leaf source-interface { type if:interface-ref; mandatory true; description "Source interface."; } leaf outbound-interface { type if:interface-ref; mandatory true; description "Outbound interface."; } leaf vrf { type cl-oam:routing-instance-ref; description "Virtual Routing and Forwarding (VRF) instance."; } } // grouping rpc-input-parameters rpc continuity-check { if-feature cl-oam:continuity-check; description "Continuity Check RPC operation as per RFC 7276."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; input { uses rpc-input-parameters; uses cl-oam:session-type { description "If session-type is specified, then session-type must be set to on demand"; } leaf count { type uint32 { range "0..4294967295"; } default "5"; description "Specifies the number of packets that will be sent. By default, the packet number is set to 5."; } leaf ttl { type uint8; default "255"; description "Time to live (TTL) used to limit the lifetime of data packets transmitted in the network to prevent looping. The TTL value is decremented for every hop that the packet traverses. If the TTL is zero, the data packet will be discarded."; } leaf packet-size { type uint32 { range "64..10000"; } default "64"; description "Packet size of the Continuity Check message, in octets. By default, the packet size is set to 64 octets."; } } output { container response-info { description "Status code and status-sub-code for Continuity Check RPC operation."; leaf protocol-id { type identityref { base protocol-id; } mandatory true; description "Protocol used in the Continuity Check message. This could be a standard protocol (e.g., TCP/IP protocols, MPLS, etc.) or a proprietary protocol as identified by this field."; } leaf protocol-id-meta-data { type identityref { base protocol-id-meta-data; } description "An optional metadata related to the protocol ID. For example, this could be the Internet Protocol number for standard Internet Protocols used for help with protocol processing."; } leaf status-code { type identityref { base status-code; } mandatory true; description "Status code for Continuity Check RPC operation. This could be a basic status code (e.g., destination is reachable or destination is not reachable; see RFC 7276) or some customized status code as identified by this field."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; } leaf status-sub-code { type identityref { base status-sub-code; } mandatory true; description "An optional status-sub-code for Continuity Check RPC operation. If the basic status code is destination reachable, this status-sub-code doesn't need to be specified. If the basic status code is destination unreachable, the status-sub-code can be used to specify the detailed reasons. This could be a basic sub-status-code (such as an invalid Continuity Check) or other error codes specific to the protocol under use for the Continuity Checks. For example, if ICMP is the protocol under use, the error codes defined in RFC 4443 can be used to specify the reasons specific to ICMP. This technology-specific status-sub-code can be defined in technology-specific models."; reference "RFC 4443: The IETF Administrative Oversight Committee (IAOC) Member Selection Guidelines and Process."; } } // container response-info uses cl-oam:continuity-check-data; } } // rpc continuity-check rpc path-discovery { if-feature cl-oam:path-discovery; description "Path discovery RPC operation as per RFC 7276."; reference "RFC 7276: An Overview of Operations, Administration, and Maintenance (OAM) Tools"; input { uses rpc-input-parameters; uses cl-oam:session-type { description "If session-type is specified, then session-type must be set to on demand"; } leaf max-ttl { type uint8; default "255"; description "Maximum TTL indicates the maximum number of hops that a packet is permitted to travel before being discarded by a router. By default, the maximum TTL is set to 255."; } } output { list response-list { key "response-index"; description "Path discovery response list."; leaf response-index { type uint32; mandatory true; description "Response index."; } leaf protocol-id { type identityref { base protocol-id; } mandatory true; description "Protocol used in path discovery. This could be a standard protocol (e.g., TCP/IP protocols, MPLS, etc.) or a proprietary protocol as identified by this field."; } leaf protocol-id-meta-data { type identityref { base protocol-id-meta-data; } description "An optional metadata related to the protocol ID. For example, this could be the Internet Protocol number for standard Internet Protocols used for help with protocol processing."; } leaf status-code { type identityref { base status-code; } mandatory true; description "Status code for Continuity Check RPC operation. This could be a basic status code (e.g., destination is reachable or destination is not reachable) or some customized status code as identified by this field."; } leaf status-sub-code { type identityref { base status-sub-code; } mandatory true; description "An optional status-sub-code for Continuity Check RPC operation. If the basic status code is destination reachable, this status-sub-code doesn't need to be specified. If the basic status code is destination unreachable, the status-sub-code can be used to specify the detailed reasons. This could be a basic sub-status-code (such as an invalid Continuity Check) or other error codes specific to the protocol under use for Continuity Checks. For example, if ICMP is the protocol under use, the error codes defined in RFC 4443 can be used to specify the reasons specific to ICMP. This technology-specific status-sub-code can be defined in technology-specific models."; reference "RFC 4443: The IETF Administrative Oversight Committee (IAOC) Member Selection Guidelines and Process."; } } // list response-list uses cl-oam:path-discovery-data; } } // rpc path-discovery } // module ietf-connectionless-oam-methods
© 2023 YumaWorks, Inc. All rights reserved.