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

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