netconfcentral logo

ietf-connectionless-oam@2017-09-06



  module ietf-connectionless-oam {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam";

    prefix coam;

    import ietf-yang-schema-mount {
      prefix yangmnt;
    }
    import ietf-network {
      prefix nd;
    }
    import ietf-yang-types {
      prefix yang;
    }
    import ietf-interfaces {
      prefix if;
    }
    import ietf-inet-types {
      prefix inet;
    }
    import ietf-network-instance {
      prefix ni;
    }
    import ietf-routing-types {
      prefix rt;
    }

    organization "IETF LIME Working Group";

    contact
      "Deepak Kumar dekumar@cisco.com
     Qin Wu bill.wu@huawei.com
     S Raghavan srihari@cisco.com
     Zitao Wang wangzitao@huawei.com
     R Rahman rrahman@cisco.com";

    description
      "This YANG module defines the generic configuration,
     data model, statistics for connectionless OAM to be
     used within 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 model defined here to include protocol
     specific extensions";

    revision "2017-09-06" {
      description
        " Base model for Connectionless
       Operations, Administration,
       and Maintenance(OAM) ";
      reference
        " RFC XXXX: Connectionless
        Operations, Administration, and
        Maintenance(OAM)YANG Data Model";

    }


    feature connection-less {
      description
        "This feature indicates that OAM solution is connection less.";
    }

    feature continuity-check {
      description
        "This feature indicates that the server supports
       executing continuity check OAM command and
       returning a response. Servers that do not advertise
       this feature will not support executing
       continuity check command or rpc operation model for
       continuity check command.";
    }

    feature path-discovery {
      description
        "This feature indicates that the server supports
       executing path discovery OAM command and
       returning a response. Servers that do not advertise
       this feature will not support executing
       path discovery command or rpc operation model for
       path discovery command.";
    }

    typedef router-id {
      type yang:dotted-quad;
      description
        "A 32-bit number in the dotted quad format assigned to each
       router. This number uniquely identifies the router within an
       Autonomous System.";
    }

    typedef routing-instance-ref {
      type leafref {
        path "/ni:network-instances/ni:network-instance/ni:name";
      }
      description
        "This type is used for leafs that reference a routing instance
       configuration.";
    }

    identity address-attribute-types {
      base 
      description
        "This is base identity of address
       attribute types which are ip-prefix,
       bgp, tunnel, pwe3, vpls, etc.";
    }

    typedef address-attribute-type {
      type identityref {
        base address-attribute-types;
      }
      description
        "Target address attribute type.";
    }

    identity time-resolution {
      base 
      description "Time interval resolution";
    }

    identity hours {
      base time-resolution;
      description "Time resolution in Hours";
    }

    identity minutes {
      base time-resolution;
      description
        "Time resolution in Minutes";
    }

    identity seconds {
      base time-resolution;
      description
        "Time resolution in Seconds";
    }

    identity milliseconds {
      base time-resolution;
      description
        "Time resolution in Milliseconds";
    }

    identity microseconds {
      base time-resolution;
      description
        "Time resolution in Microseconds";
    }

    identity nanoseconds {
      base time-resolution;
      description
        "Time resolution in Nanoseconds";
    }

    identity tp-address-technology-type {
      base 
      description "Test point address type";
    }

    identity mac-address-type {
      base tp-address-technology-type;
      description "MAC address type";
    }

    identity ipv4-address-type {
      base tp-address-technology-type;
      description "IPv4 address type";
    }

    identity ipv6-address-type {
      base tp-address-technology-type;
      description "IPv6 address type";
    }

    identity tp-attribute-type {
      base tp-address-technology-type;
      description
        "Test point attribute type";
    }

    identity system-id-address-type {
      base tp-address-technology-type;
      description "System id address type";
    }

    identity as-number-address-type {
      base tp-address-technology-type;
      description "AS number address type";
    }

    identity route-distinguisher-address-type {
      base tp-address-technology-type;
      description
        "Route Distinguisher address type";
    }

    container cc-session-statistics-data {
      if-feature continuity-check;
      config false;
      description
        "CC operational information.";
      container cc-ipv4-sessions-statistics {
        description "CC ipv4 sessions";
        container cc-session-statistics {
          description "cc session counters";
          leaf session-count {
            type uint32;
            default "0";
            description
              "Number of Continuity Check sessions.
A value of zero indicates that no session
count is sent.";
          }

          leaf session-up-count {
            type uint32;
            default "0";
            description
              "Number of sessions which are up.
A value of zero indicates that no up
session count is sent.";
          }

          leaf session-down-count {
            type uint32;
            default "0";
            description
              "Number of sessions which are down.
A value of zero indicates that no down
session count is sent.";
          }

          leaf session-admin-down-count {
            type uint32;
            default "0";
            description
              "Number of sessions which are admin-down.
A value of zero indicates that no admin
down session count is sent.";
          }
        }  // container cc-session-statistics
      }  // container cc-ipv4-sessions-statistics

      container cc-ipv6-sessions-statistics {
        description "CC ipv6 sessions";
        container cc-session-statistics {
          description "cc session counters";
          leaf session-count {
            type uint32;
            default "0";
            description
              "Number of Continuity Check sessions.
A value of zero indicates that no session
count is sent.";
          }

          leaf session-up-count {
            type uint32;
            default "0";
            description
              "Number of sessions which are up.
A value of zero indicates that no up
session count is sent.";
          }

          leaf session-down-count {
            type uint32;
            default "0";
            description
              "Number of sessions which are down.
A value of zero indicates that no down
session count is sent.";
          }

          leaf session-admin-down-count {
            type uint32;
            default "0";
            description
              "Number of sessions which are admin-down.
A value of zero indicates that no admin
down session count is sent.";
          }
        }  // container cc-session-statistics
      }  // container cc-ipv6-sessions-statistics
    }  // container cc-session-statistics-data
  }  // module ietf-connectionless-oam