ietf-connectionless-oam

This YANG module defines the generic configuration, data model, and statistics for OAM protocols using connectionless communicat...

  • Version: 2019-04-16

    ietf-connectionless-oam@2019-04-16


    
      module ietf-connectionless-oam {
    
        yang-version 1.1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam";
    
        prefix cl-oam;
    
        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;
        }
        import ietf-lime-time-types {
          prefix lime;
        }
    
        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 <srihari@cisco.com>
         Michael Wang <wangzitao@huawei.com>
         Reshad Rahman <rrahman@cisco.com>";
    
        description
          "This YANG module defines the generic configuration,
         data model, and statistics for OAM protocols using
         connectionless communications, described 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 8532; see
         the RFC itself for full legal notices.";
    
        revision "2019-04-16" {
          description
            "Base model for Connectionless Operations, Administration,
           and Maintenance (OAM).";
          reference
            "RFC 8532: Generic YANG Data Model for the Management of
            Operations, Administration, and Maintenance (OAM) Protocols
            That Use Connectionless Communications";
    
        }
    
    
        feature connectionless {
          description
            "This feature indicates that the OAM solution is connectionless.";
        }
    
        feature continuity-check {
          description
            "This feature indicates that the server supports
           executing a Continuity Check OAM command and
           returning a response.  Servers that do not advertise
           this feature will not support executing
           Continuity Check commands or the RPC operation model for
           Continuity Check commands.";
        }
    
        feature path-discovery {
          description
            "This feature indicates that the server supports
           executing a path discovery OAM command and
           returning a response.  Servers that do not advertise
           this feature will not support executing
           path discovery commands or the RPC operation model for
           path discovery commands.";
        }
    
        feature ptp-long-format {
          description
            "This feature indicates that the timestamp is PTP long format.";
        }
    
        feature ntp-short-format {
          description
            "This feature indicates that the timestamp is NTP short format.";
        }
    
        feature icmp-timestamp {
          description
            "This feature indicates that the timestamp is ICMP timestamp.";
        }
    
        identity traffic-type {
          description
            "This is the base identity of the traffic type,
           which includes IPv4, IPv6, etc.";
        }
    
        identity ipv4 {
          base traffic-type;
          description
            "identity for IPv4 traffic type.";
        }
    
        identity ipv6 {
          base traffic-type;
          description
            "identity for IPv6 traffic type.";
        }
    
        identity address-attribute-types {
          description
            "This is the base identity of the address attribute types, which
           are Generic IPv4/IPv6 Prefix, BGP Labeled IPv4/IPv6 Prefix,
           Tunnel ID, PW ID, VPLS VE ID, etc. (See RFC 8029 for details.)";
        }
    
        typedef address-attribute-type {
          type identityref {
            base address-attribute-types;
          }
          description
            "Target address attribute type.";
        }
    
        typedef percentage {
          type decimal64 {
            fraction-digits 5;
            range "0..100";
          }
          description "Percentage.";
        }
    
        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 tp-address-technology-type {
          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 router-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.";
          list cc-session-statistics {
            key "type";
            description
              "List of CC session statistics data.";
            leaf type {
              type identityref {
                base traffic-type;
              }
              description "Type of traffic.";
            }
    
            container cc-ipv4-sessions-statistics {
              when "../type = 'ipv4'" {
                description
                  "Only applies when traffic type is IPv4.";
              }
              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 that 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 that 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 that 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 {
              when "../type = 'ipv6'" {
                description
                  "Only applies when traffic type is IPv6.";
              }
              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 that 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 that 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 that 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
          }  // list cc-session-statistics
        }  // container cc-session-statistics-data
      }  // module ietf-connectionless-oam
    

© 2023 YumaWorks, Inc. All rights reserved.