netconfcentral logo

ietf-connectionless-oam-methods

HTML

ietf-connectionless-oam-methods@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 {
      base 
      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 {
      base 
      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 {
      base 
      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 {
      base 
      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

Summary

  
  
Organization IETF LIME Working Group
  
Module ietf-connectionless-oam-methods
Version 2019-04-16
File ietf-connectionless-oam-methods@2019-04-16.yang
  
Prefix cloam-methods
Namespace urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods
  
Cooked /cookedmodules/ietf-connectionless-oam-methods/2019-04-16
YANG /src/ietf-connectionless-oam-methods@2019-04-16.yang
XSD /xsd/ietf-connectionless-oam-methods@2019-04-16.xsd
  
Abstract This YANG module defines the RPC operations for connectionless OAM to be used within the IETF in a protocol-independent manner. ...
  
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.

Groupings

Grouping Objects Abstract
rpc-input-parameters destination-tp source-interface outbound-interface vrf Grouping for RPC input parameters

RPC Methods

RPC Abstract
continuity-check Continuity Check RPC operation as per RFC 7276.
path-discovery Path discovery RPC operation as per RFC 7276.