[要約] RFC 8532は、接続のない通信を使用するOAMプロトコルの管理のための汎用YANGデータモデルです。このRFCの目的は、異なるOAMプロトコルを統一的に管理するための共通のデータモデルを提供することです。

Internet Engineering Task Force (IETF)                          D. Kumar
Request for Comments: 8532                                         Cisco
Category: Standards Track                                        M. Wang
ISSN: 2070-1721                                               Q. Wu, Ed.
                                                                  Huawei
                                                               R. Rahman
                                                             S. Raghavan
                                                                   Cisco
                                                              April 2019
        

Generic YANG Data Model for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications

コネクションレス型通信を使用する運用、管理、および保守(OAM)プロトコルの管理のための汎用YANGデータモデル

Abstract

概要

This document presents a base YANG Data model for the management of Operations, Administration, and Maintenance (OAM) protocols that use connectionless communications. The data model is defined using the YANG data modeling language, as specified in RFC 7950. It provides a technology-independent abstraction of key OAM constructs for OAM protocols that use connectionless communication. The base model presented here can be extended to include technology-specific details.

このドキュメントでは、コネクションレス型通信を使用する運用、管理、保守(OAM)プロトコルを管理するための基本的なYANGデータモデルについて説明します。データモデルは、RFC 7950で指定されているように、YANGデータモデリング言語を使用して定義されます。これは、コネクションレス型通信を使用するOAMプロトコルの主要なOAMコンストラクトのテクノロジーに依存しない抽象化を提供します。ここに示す基本モデルは、テクノロジー固有の詳細を含めるように拡張できます。

There are two key benefits of this approach: First, it leads to uniformity between OAM protocols. Second, it supports both nested OAM workflows (i.e., performing OAM functions at the same level or different levels through a unified interface) as well as interactive OAM workflows (i.e., performing OAM functions at the same level through a unified interface).

このアプローチには2つの重要な利点があります。1つ目は、OAMプロトコル間の均一性につながります。第2に、ネストされたOAMワークフロー(つまり、統合されたインターフェースを通じて同じレベルまたは異なるレベルでOAM機能を実行する)とインタラクティブなOAMワークフロー(つまり、統合されたインターフェースを通じて同じレベルでOAM機能を実行する)の両方をサポートします。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 7841のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8532.

このドキュメントの現在のステータス、正誤表、およびフィードバックの提供方法に関する情報は、https://www.rfc-editor.org/info/rfc8532で入手できます。

Copyright Notice

著作権表示

Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2019 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書は、BCP 78およびIETF文書に関するIETFトラストの法的規定(https://trustee.ietf.org/license-info)の対象であり、この文書の発行日に有効です。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

Table of Contents

目次

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Conventions Used in This Document . . . . . . . . . . . . . .   4
     2.1.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   4
     2.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   5
     2.3.  Tree Diagrams . . . . . . . . . . . . . . . . . . . . . .   5
   3.  Overview of the Connectionless OAM Model  . . . . . . . . . .   5
     3.1.  TP Address  . . . . . . . . . . . . . . . . . . . . . . .   6
     3.2.  Tools . . . . . . . . . . . . . . . . . . . . . . . . . .   7
     3.3.  OAM Neighboring Test Points . . . . . . . . . . . . . . .   7
     3.4.  Test Point Location Information . . . . . . . . . . . . .   8
     3.5.  Test Point Locations  . . . . . . . . . . . . . . . . . .   8
     3.6.  Path Discovery Data . . . . . . . . . . . . . . . . . . .   8
     3.7.  Continuity Check Data . . . . . . . . . . . . . . . . . .   9
     3.8.  OAM Data Hierarchy  . . . . . . . . . . . . . . . . . . .   9
   4.  LIME Time Types YANG Module . . . . . . . . . . . . . . . . .  12
   5.  Connectionless OAM YANG Module  . . . . . . . . . . . . . . .  15
   6.  Connectionless Model Applicability  . . . . . . . . . . . . .  44
     6.1.  BFD Extension . . . . . . . . . . . . . . . . . . . . . .  45
       6.1.1.  Augment Method  . . . . . . . . . . . . . . . . . . .  45
       6.1.2.  Schema Mount  . . . . . . . . . . . . . . . . . . . .  47
     6.2.  LSP Ping Extension  . . . . . . . . . . . . . . . . . . .  49
       6.2.1.  Augment Method  . . . . . . . . . . . . . . . . . . .  49
       6.2.2.  Schema Mount  . . . . . . . . . . . . . . . . . . . .  50
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  52
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  54
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  54
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  54
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  56
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  58
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  59
        
1. Introduction
1. はじめに

Operations, Administration, and Maintenance (OAM) are important networking functions that allow operators to:

運用、管理、および保守(OAM)は、オペレーターが次のことを行えるようにする重要なネットワーク機能です。

1. monitor network communications (i.e., reachability verification and Continuity Check)

1. ネットワーク通信を監視する(つまり、到達可能性の検証と継続性チェック)

2. troubleshoot failures (i.e., fault verification and localization)

2. 障害のトラブルシューティング(障害の検証とローカリゼーションなど)

3. monitor service-level agreements and performance (i.e., performance management)

3. サービスレベルアグリーメントとパフォーマンス(つまり、パフォーマンス管理)を監視する

An overview of OAM tools is presented in [RFC7276].

OAMツールの概要は[RFC7276]に示されています。

Ping and Traceroute (see [RFC792] and [RFC4443]) are respectively well-known fault verification and isolation tools for IP networks. Over the years, different technologies have developed similar toolsets for equivalent purposes.

PingとTraceroute([RFC792]と[RFC4443]を参照)は、IPネットワーク用のよく知られた障害検証および分離ツールです。長年にわたり、さまざまなテクノロジーが同等の目的で同様のツールセットを開発してきました。

The different sets of OAM tools may support both connection-oriented or connectionless technologies. In connection-oriented technologies, a connection is established prior to the transmission of data. After the connection is established, no additional control information such as signaling or operations and maintenance information is required to transmit the actual user data. In connectionless technologies, data is typically sent between communicating endpoints without prior arrangement, but control information is required to identify the destination (e.g., [G.800] and [RFC7276]). The YANG data model for OAM protocols using connection-oriented communications is specified in [RFC8531].

OAMツールのさまざまなセットが、コネクション型またはコネクションレス型の両方のテクノロジーをサポートしている場合があります。接続指向のテクノロジーでは、データの送信前に接続が確立されます。接続が確立された後、実際のユーザーデータを送信するために、シグナリングや操作、メンテナンス情報などの追加の制御情報は必要ありません。コネクションレス型テクノロジーでは、データは通常、事前の準備なしに通信するエンドポイント間で送信されますが、宛先を識別するために制御情報が必要です([G.800]や[RFC7276]など)。コネクション型通信を使用するOAMプロトコルのYANGデータモデルは、[RFC8531]で指定されています。

This document defines a base YANG data model for OAM protocols that use connectionless communications. The data model is defined using the YANG data modeling language [RFC7950]. This generic YANG data model for connectionless OAM includes only configuration and state data. It can be used in conjunction with the data retrieval method model described in [RFC8533], which focuses on the data retrieval procedures such as RPC, or it can be used independently of this data retrieval method model.

このドキュメントでは、コネクションレス型通信を使用するOAMプロトコルの基本YANGデータモデルを定義します。データモデルは、YANGデータモデリング言語[RFC7950]を使用して定義されます。コネクションレス型OAMのこの一般的なYANGデータモデルには、構成データと状態データのみが含まれています。 [RFC8533]で説明されているRPCなどのデータ検索手順に焦点を当てたデータ検索方法モデルと組み合わせて使用​​することも、このデータ検索方法モデルとは独立して使用することもできます。

2. Conventions Used in This Document
2. このドキュメントで使用される規則

The following terms are defined in [RFC6241] and are used in this specification:

次の用語は[RFC6241]で定義されており、この仕様で使用されています。

o client

o クライアント

o configuration data

o 設定データ

o server

o サーバ

o state data

o 状態データ

The following terms are defined in [RFC7950] and are used in this specification:

以下の用語は[RFC7950]で定義されており、この仕様で使用されています。

o augment

o 増強

o data model

o データ・モデル

o data node

o だた ので

The terminology for describing YANG data models is found in [RFC7950].

YANGデータモデルを記述するための用語は、[RFC7950]にあります。

2.1. Abbreviations
2.1. 略語

BFD - Bidirectional Forwarding Detection [RFC5880].

BFD-双方向転送検出[RFC5880]。

RPC - Remote Procedure Call [RFC1831].

RPC-リモートプロシージャコール[RFC1831]。

DSCP - Differentiated Services Code Point.

DSCP-DiffServコードポイント。

VRF - Virtual Routing and Forwarding [RFC4382].

VRF-仮想ルーティングおよび転送[RFC4382]。

OWAMP - One-Way Active Measurement Protocol [RFC4656].

OWAMP-一方向アクティブ測定プロトコル[RFC4656]。

TWAMP - Two-Way Active Measurement Protocol [RFC5357].

TWAMP-双方向アクティブ測定プロトコル[RFC5357]。

AS - Autonomous System.

AS-自律システム。

LSP - Label Switched Path.

LSP-ラベルスイッチドパス。

TE - Traffic Engineering.

て ー Tらっふぃc えんぎねえりんg。

MPLS - Multiprotocol Label Switching.

MPLS-マルチプロトコルラベルスイッチング。

NI - Network Instance.

に ー ねとぉrk いんsたんせ。

PTP - Precision Time Protocol [IEEE.1588v2].

PTP-高精度時間プロトコル[IEEE.1588v2]。

NTP - Network Time Protocol [RFC5905].

NTP-ネットワークタイムプロトコル[RFC5905]。

2.2. Terminology
2.2. 用語

MAC - Media Access Control.

MAC-メディアアクセスコントロール。

MAC address - Address for the data-link layer interface.

MACアドレス-データリンク層インターフェースのアドレス。

TP - Test Point. The TP is a functional entity that is defined at a node in the network and can initiate and/or react to OAM diagnostic tests. This document focuses on the data-plane functionality of TPs.

TP-テストポイント。 TPは、ネットワーク内のノードで定義される機能エンティティであり、OAM診断テストを開始および/またはそれに反応できます。このドキュメントでは、TPのデータプレーン機能に焦点を当てています。

RPC operation - A specific Remote Procedure Call.

RPC操作-特定のリモートプロシージャコール。

CC - A Continuity Check [RFC7276] is used to verify that a destination is reachable and therefore also referred to as reachability verification.

CC-導通チェック[RFC7276]は、宛先が到達可能であることを検証するために使用されるため、到達可能性検証とも呼ばれます。

2.3. Tree Diagrams
2.3. ツリー図

Tree diagrams used in this document follow the notation defined in [RFC8340].

このドキュメントで使用されるツリー図は、[RFC8340]で定義された表記に従います。

3. Overview of the Connectionless OAM Model
3. コネクションレス型OAMモデルの概要

The YANG data model for OAM protocols that use connectionless communications has been split into two modules:

コネクションレス型通信を使用するOAMプロトコルのYANGデータモデルは、次の2つのモジュールに分割されています。

o The "ietf-lime-time-types" module provides common definitions such as Time-related data types and Timestamp-related data types.

o 「ietf-lime-time-types」モジュールは、時間関連のデータ型やタイムスタンプ関連のデータ型などの一般的な定義を提供します。

o The "ietf-connectionless-oam" module defines technology-independent abstraction of key OAM constructs for OAM protocols that use connectionless communication.

o 「ietf-connectionless-oam」モジュールは、コネクションレス型通信を使用するOAMプロトコルの主要なOAMコンストラクトのテクノロジーに依存しない抽象化を定義します。

The "ietf-connectionless-oam" module augments the "/networks/network/ node" path defined in the "ietf-network" module [RFC8345] with the 'test-point-locations' grouping defined in Section 3.5. The network nodes in the "/networks/network/node" path are used to describe the network hierarchies and the inventory of nodes contained in a network.

「ietf-connectionless-oam」モジュールは、「ietf-network」モジュール[RFC8345]で定義された「/ networks / network / node」パスに、セクション3.5で定義された「test-point-locations」グループを追加します。 「/ networks / network / node」パスのネットワークノードは、ネットワーク階層とネットワークに含まれるノードのインベントリを記述するために使用されます。

Under the 'test-point-locations' grouping, each test point location is chosen based on the 'tp-location-type' leaf, which, when chosen, leads to a container that includes a list of 'test-point-locations'.

「test-point-locations」グループの下で、各テストポイントの場所は「tp-location-type」リーフに基づいて選択されます。リーフは、選択されると、「test-point-locations」のリストを含むコンテナにつながります。

Each 'test-point-locations' list includes a 'test-point-location-info' grouping. The 'test-point-location-info' grouping includes:

各「test-point-locations」リストには、「test-point-location-info」グループが含まれています。 「test-point-location-info」グループには次のものが含まれます。

o 'tp-technology' grouping,

o 「tp-technology」グループ化、

o 'tp-tools' grouping, and

o 'tp-tools'のグループ化、および

o 'connectionless-oam-tps' grouping.

o 「connectionless-oam-tps」のグループ化。

The groupings of 'tp-address' and 'tp-address-ni' are kept out of the 'test-point-location-info' grouping to make it addressing agnostic and allow varied composition. Depending upon the choice of the 'tp-location-type' (determined by the 'tp-address-ni'), each container differs in its composition of 'test-point-locations', while the 'test-point-location-info' is a common aspect of every 'test-point-locations'.

'tp-address'と 'tp-address-ni'のグループは、 'test-point-location-info'グループから除外され、不可知論に対処し、さまざまな構成を可能にします。 「tp-location-type」(「tp-address-ni」によって決定される)の選択に応じて、各コンテナは「test-point-locations」の構成が異なりますが、「test-point-location- info」は、すべての「test-point-locations」に共通する側面です。

The 'tp-address-ni' grouping is used to describe the corresponding network instance. The 'tp-technology' grouping indicates OAM technology details. The 'connectionless-oam-tps' grouping is used to describe the relationship of one test point with other test points. The 'tp-tools' grouping describes the OAM tools supported.

「tp-address-ni」グループは、対応するネットワークインスタンスを説明するために使用されます。 「tp-technology」グループは、OAMテクノロジーの詳細を示します。 「connectionless-oam-tps」グループは、1つのテストポイントと他のテストポイントの関係を表すために使用されます。 「tp-tools」グループは、サポートされるOAMツールを示します。

In addition, at the top of the model, there is an 'cc-oper-data' container for session statistics. A grouping is also defined for common session statistics, and these are only applicable for proactive OAM sessions (see Section 3.2).

さらに、モデルの上部には、セッション統計用の「cc-oper-data」コンテナがあります。グループ化は、一般的なセッション統計にも定義され、これらはプロアクティブOAMセッションにのみ適用されます(セクション3.2を参照)。

3.1. TP Address
3.1. TPアドレス

With connectionless OAM protocols, the TP address can be one of the following types:

コネクションレス型OAMプロトコルでは、TPアドレスは次のいずれかのタイプになります。

o MAC address [RFC6136] at the data-link layer for TPs

o TPのデータリンク層でのMACアドレス[RFC6136]

o IPv4 or IPv6 address at the IP layer for TPs

o TPのIP層でのIPv4またはIPv6アドレス

o TP-attribute identifying a TP associated with an application-layer function

o アプリケーション層機能に関連付けられたTPを識別するTP属性

o Router-id to represent the device or node, which is commonly used to identify nodes in routing and other control-plane protocols [RFC8294].

o ルーターやその他のコントロールプレーンプロトコル[RFC8294]でノードを識別するために一般的に使用されるデバイスまたはノードを表すルーターID。

To define a forwarding treatment of a test packet, the 'tp-address' grouping needs to be associated with additional parameters, e.g., DSCP for IP or Traffic Class [RFC5462] for MPLS. In the generic connectionless OAM YANG data model, these parameters are not explicitly configured. The model user can add corresponding parameters according to their requirements.

テストパケットの転送処理を定義するには、「tp-address」グループを追加のパラメータ(IPのDSCPまたはMPLSのトラフィッククラス[RFC5462]など)に関連付ける必要があります。一般的なコネクションレス型OAM YANGデータモデルでは、これらのパラメーターは明示的に構成されていません。モデルユーザーは、要件に応じて対応するパラメーターを追加できます。

3.2. Tools
3.2. ツール

The different OAM tools may be used in one of two basic types of activation: proactive and on-demand. Proactive OAM refers to OAM actions that are carried out continuously to permit proactive reporting of faults. The proactive OAM method requires persistent configuration. On-demand OAM refers to OAM actions that are initiated via manual intervention for a limited time to carry out specific diagnostics. The on-demand OAM method requires only transient configuration (e.g., [RFC7276] and [G.8013]). In connectionless OAM, the 'session-type' grouping is defined to indicate which kind of activation will be used by the current session.

さまざまなOAMツールを、プロアクティブとオンデマンドの2つの基本的なアクティブ化タイプのいずれかで使用できます。プロアクティブOAMは、障害のプロアクティブなレポートを可能にするために継続的に実行されるOAMアクションを指します。プロアクティブOAM方式では、永続的な構成が必要です。オンデマンドOAMは、特定の診断を実行するために限られた時間だけ手動で介入することによって開始されるOAMアクションを指します。オンデマンドOAM方式では、一時的な構成のみが必要です([RFC7276]および[G.8013]など)。コネクションレス型OAMでは、「セッションタイプ」のグループ化が定義され、現在のセッションで使用されるアクティブ化の種類が示されます。

In connectionless OAM, the tools attribute is used to describe a toolset for fault detection and isolation. In addition, it can serve as a constraint condition when the base model is extended to a specific OAM technology. For example, to fulfill the ICMP PING configuration, the "../coam:continuity-check" leaf should be set to "true", and then the LIME base model should be augmented with details specific to ICMP PING.

コネクションレス型OAMでは、tools属性を使用して、障害の検出と分離のためのツールセットを記述します。また、ベースモデルを特定のOAMテクノロジに拡張する場合の制約条件としても機能します。たとえば、ICMP PING構成を満たすには、 "../ coam:continuity-check"リーフを "true"に設定し、次にLIMEベースモデルにICMP PINGに固有の詳細を追加する必要があります。

3.3. OAM Neighboring Test Points
3.3. OAM隣接テストポイント

Given that typical network communication stacks have a multi-layer architecture, the set of associated OAM protocols has also a multi-layer structure; each communication layer in the stack may have its own OAM protocol [RFC7276] that may also be linked to a specific administrative domain. Management of these OAM protocols will necessitate associated test points in the nodes accessible by appropriate management domains. Accordingly, a given network interface may actually present several test points.

典型的なネットワーク通信スタックはマルチレイヤーアーキテクチャであるため、関連するOAMプロトコルのセットもマルチレイヤー構造を持っています。スタック内の各通信層は、特定の管理ドメインにリンクされている独自のOAMプロトコル[RFC7276]を持つことができます。これらのOAMプロトコルの管理には、適切な管理ドメインからアクセス可能なノードに関連するテストポイントが必要です。したがって、特定のネットワークインターフェイスは、実際にはいくつかのテストポイントを示すことがあります。

Each OAM test point may have an associated list of neighboring test points that are in other layers up and down the protocol stack for the same interface and are therefore related to the current test point. This allows users to easily navigate between related neighboring layers to efficiently troubleshoot a defect. In this model, the 'position' leaf defines the relative position of the neighboring test point corresponding to the current test point, and it is provided to allow correlation of faults at different locations. If there is one neighboring test point placed before the current test point, the 'position' leaf is set to -1. If there is one neighboring test point placed after the current test point, the 'position' leaf is set to 1. If there is no neighboring test point placed before or after the current test point, the 'position' leaf is set to 0.

各OAMテストポイントには、同じインターフェイスのプロトコルスタックの上下にある他のレイヤーにある、したがって現在のテストポイントに関連付けられている隣接するテストポイントの関連リストがある場合があります。これにより、ユーザーは関連する隣接するレイヤー間を簡単に移動して、欠陥を効率的にトラブルシューティングできます。このモデルでは、「位置」リーフは、現在のテストポイントに対応する隣接するテストポイントの相対位置を定義し、さまざまな場所での障害の相関を可能にするために提供されています。現在のテストポイントの前に隣接するテストポイントが1つある場合、「位置」リーフは-1に設定されます。現在のテストポイントの後に配置された隣接するテストポイントが1つある場合、「位置」リーフは1に設定されます。現在のテストポイントの前後に配置された隣接するテストポイントがない場合、「位置」リーフは0に設定されます。

     +-- oam-neighboring-tps* [index]
        +-- index?                         uint16
        +-- position?                      int8
        +-- (tp-location)?
           +--:(mac-address)
           |  +-- mac-address-location?    yang:mac-address
           +--:(ipv4-address)
           |  +-- ipv4-address-location?   inet:ipv4-address
           +--:(ipv6-address)
           |  +-- ipv6-address-location?   inet:ipv6-address
           +--:(as-number)
           |  +-- as-number-location?      inet:as-number
           +--:(router-id)
              +-- router-id-location?      rt:router-id
        
3.4. Test Point Location Information
3.4. テストポイントの位置情報

This is a generic grouping for Test Point Location Information (i.e., 'test-point-location-info' grouping). It provides details of Test Point Location using the 'tp-technology', 'tp-tools', and 'oam-neighboring-tps' groupings, all of which are defined above.

これは、テストポイントのロケーション情報の一般的なグループです(つまり、「test-point-location-info」グループ)。 「tp-technology」、「tp-tools」、および「oam-neighboring-tps」のグループ化を使用してテストポイントの場所の詳細を提供します。これらはすべて上記で定義されています。

3.5. Test Point Locations
3.5. テストポイントの場所

This is a generic grouping for Test Point Locations. 'tp-location-type' leaf is used to define location types -- for example, 'ipv4-location-type', 'ipv6-location-type', etc. Container is defined under each location type containing a list keyed to a test point address, Test Point Location Information defined in the section above, and network instance name (e.g., VRF instance name) if required.

これは、テストポイントの場所の一般的なグループです。 「tp-location-type」リーフは、ロケーションタイプを定義するために使用されます。たとえば、「ipv4-location-type」、「ipv6-location-type」などです。コンテナは、テストポイントアドレス、上記のセクションで定義したテストポイントの場所情報、および必要に応じてネットワークインスタンス名(VRFインスタンス名など)。

3.6. Path Discovery Data
3.6. パス検出データ

This is a generic grouping for the path discovery data model that can be retrieved by any data retrieval method, including RPC operations. Path discovery data output from methods, includes 'src-test-point' container, 'dst-test-point' container, 'sequence-number' leaf, 'hop-cnt' leaf, session statistics of various kinds, and information related to path verification and path trace. Path discovery includes data to be retrieved on a 'per-hop' basis via a list of 'path-trace-info-list' items which includes information such as 'timestamp' grouping, 'ingress-intf-name', 'egress-intf-name', and 'app-meta-data'. The path discovery data model is made generic enough to allow different methods of data retrieval. None of the fields are made mandatory for that reason. Note that a set of retrieval methods are defined in [RFC8533].

これは、RPC操作を含む任意のデータ取得方法で取得できるパス検出データモデルの一般的なグループです。メソッドからのパス検出データ出力。「src-test-point」コンテナ、「dst-test-point」コンテナ、「sequence-number」リーフ、「hop-cnt」リーフ、さまざまな種類のセッション統計、および関連する情報が含まれますパス検証とパストレース。パスディスカバリには、「timestamp」グループ、「ingress-intf-name」、「egress-」などの情報を含む「path-trace-info-list」項目のリストを介して「per-hop」ベースで取得されるデータが含まれますintf-name」、「app-meta-data」。パスディスカバリデータモデルは、さまざまな方法でデータを取得できるように一般化されています。そのため、どのフィールドも必須ではありません。一連の検索方法が[RFC8533]で定義されていることに注意してください。

3.7. Continuity Check Data
3.7. 導通チェックデータ

This is a generic grouping for the Continuity Check data model that can be retrieved by any data retrieval methods including RPC operations. Continuity Check data output from methods, includes 'src-test-point' container, 'dst-test-point' container, 'sequence-number' leaf, 'hop-cnt' leaf, and session statistics of various kinds. The Continuity Check data model is made generic enough to allow different methods of data retrieval. None of the fields are made mandatory for that reason. Noted that a set of retrieval methods are defined in [RFC8533].

これは、導通チェックデータモデルの一般的なグループであり、RPC操作を含む任意のデータ取得方法で取得できます。メソッドからの連続性チェックデータ出力。「src-test-point」コンテナ、「dst-test-point」コンテナ、「sequence-number」リーフ、「hop-cnt」リーフ、さまざまな種類のセッション統計が含まれます。 Continuity Checkデータモデルは、さまざまな方法でデータを取得できるように汎用化されています。そのため、どのフィールドも必須ではありません。検索メソッドのセットは[RFC8533]で定義されていることに注意してください。

3.8. OAM Data Hierarchy
3.8. OAMデータ階層

The complete data hierarchy related to the OAM YANG data model is presented below.

OAM YANGデータモデルに関連する完全なデータ階層を以下に示します。

  module: ietf-connectionless-oam
      +--ro cc-session-statistics-data {continuity-check}?
         +--ro cc-session-statistics* [type]
            +--ro type                           identityref
            +--ro cc-ipv4-sessions-statistics
            |  +--ro cc-session-statistics
            |     +--ro session-count?              uint32
            |     +--ro session-up-count?           uint32
            |     +--ro session-down-count?         uint32
            |     +--ro session-admin-down-count?   uint32
            +--ro cc-ipv6-sessions-statistics
               +--ro cc-session-statistics
                  +--ro session-count?              uint32
                  +--ro session-up-count?           uint32
                  +--ro session-down-count?         uint32
                  +--ro session-admin-down-count?   uint32
    augment /nd:networks/nd:network/nd:node:
      +--rw tp-location-type?                identityref
      +--rw ipv4-location-type
      |  +--rw test-point-ipv4-location-list
      |     +--rw test-point-locations* [ipv4-location ni]
      |        +--rw ipv4-location          inet:ipv4-address
      |        +--rw ni                     routing-instance-ref
      |        +--rw (technology)?
      |        |  +--:(technology-null)
      |        |     +--rw tech-null?             empty
      |        +--rw tp-tools
        
      |        |  +--rw continuity-check    boolean
      |        |  +--rw path-discovery      boolean
      |        +--rw root?                  <anydata>
      |        +--rw oam-neighboring-tps* [index]
      |           +--rw index                    uint16
      |           +--rw position?                int8
      |           +--rw (tp-location)?
      |              +--:(mac-address)
      |              |  +--rw mac-address-location?    yang:mac-address
      |              +--:(ipv4-address)
      |              |  +--rw ipv4-address-location?   inet:ipv4-address
      |              +--:(ipv6-address)
      |              |  +--rw ipv6-address-location?   inet:ipv6-address
      |              +--:(as-number)
      |              |  +--rw as-number-location?      inet:as-number
      |              +--:(router-id)
      |                 +--rw router-id-location?      rt:router-id
      +--rw ipv6-location-type
      |  +--rw test-point-ipv6-location-list
      |     +--rw test-point-locations* [ipv6-location ni]
      |        +--rw ipv6-location          inet:ipv6-address
      |        +--rw ni                     routing-instance-ref
      |        +--rw (technology)?
      |        |  +--:(technology-null)
      |        |     +--rw tech-null?             empty
      |        +--rw tp-tools
      |        |  +--rw continuity-check    boolean
      |        |  +--rw path-discovery      boolean
      |        +--rw root?                  <anydata>
      |        +--rw oam-neighboring-tps* [index]
      |           +--rw index                    uint16
      |           +--rw position?                int8
      |           +--rw (tp-location)?
      |              +--:(mac-address)
      |              |  +--rw mac-address-location?    yang:mac-address
      |              +--:(ipv4-address)
      |              |  +--rw ipv4-address-location?   inet:ipv4-address
      |              +--:(ipv6-address)
      |              |  +--rw ipv6-address-location?   inet:ipv6-address
      |              +--:(as-number)
      |              |  +--rw as-number-location?      inet:as-number
      |              +--:(router-id)
      |                 +--rw router-id-location?      rt:router-id
      +--rw mac-location-type
      |  +--rw test-point-mac-address-location-list
      |     +--rw test-point-locations* [mac-address-location]
      |        +--rw mac-address-location    yang:mac-address
      |        +--rw (technology)?
        
      |        |  +--:(technology-null)
      |        |     +--rw tech-null?              empty
      |        +--rw tp-tools
      |        |  +--rw continuity-check    boolean
      |        |  +--rw path-discovery      boolean
      |        +--rw root?                   <anydata>
      |        +--rw oam-neighboring-tps* [index]
      |           +--rw index                    uint16
      |           +--rw position?                int8
      |           +--rw (tp-location)?
      |              +--:(mac-address)
      |              |  +--rw mac-address-location?    yang:mac-address
      |              +--:(ipv4-address)
      |              |  +--rw ipv4-address-location?   inet:ipv4-address
      |              +--:(ipv6-address)
      |              |  +--rw ipv6-address-location?   inet:ipv6-address
      |              +--:(as-number)
      |              |  +--rw as-number-location?      inet:as-number
      |              +--:(router-id)
      |                 +--rw router-id-location?      rt:router-id
      +--rw group-as-number-location-type
      |  +--rw test-point-as-number-location-list
      |     +--rw test-point-locations* [as-number-location]
      |        +--rw as-number-location     inet:as-number
      |        +--rw ni?                    routing-instance-ref
      |        +--rw (technology)?
      |        |  +--:(technology-null)
      |        |     +--rw tech-null?             empty
      |        +--rw tp-tools
      |        |  +--rw continuity-check    boolean
      |        |  +--rw path-discovery      boolean
      |        +--rw root?                  <anydata>
      |        +--rw oam-neighboring-tps* [index]
      |           +--rw index                    uint16
      |           +--rw position?                int8
      |           +--rw (tp-location)?
      |              +--:(mac-address)
      |              |  +--rw mac-address-location?    yang:mac-address
      |              +--:(ipv4-address)
      |              |  +--rw ipv4-address-location?   inet:ipv4-address
      |              +--:(ipv6-address)
      |              |  +--rw ipv6-address-location?   inet:ipv6-address
      |              +--:(as-number)
      |              |  +--rw as-number-location?      inet:as-number
      |              +--:(router-id)
      |                 +--rw router-id-location?      rt:router-id
      +--rw group-router-id-location-type
         +--rw test-point-system-info-location-list
        
            +--rw test-point-locations* [router-id-location]
               +--rw router-id-location     rt:router-id
               +--rw ni?                    routing-instance-ref
               +--rw (technology)?
               |  +--:(technology-null)
               |     +--rw tech-null?             empty
               +--rw tp-tools
               |  +--rw continuity-check    boolean
               |  +--rw path-discovery      boolean
               +--rw root?                  <anydata>
               +--rw oam-neighboring-tps* [index]
                  +--rw index                    uint16
                  +--rw position?                int8
                  +--rw (tp-location)?
                     +--:(mac-address)
                     |  +--rw mac-address-location?    yang:mac-address
                     +--:(ipv4-address)
                     |  +--rw ipv4-address-location?   inet:ipv4-address
                     +--:(ipv6-address)
                     |  +--rw ipv6-address-location?   inet:ipv6-address
                     +--:(as-number)
                     |  +--rw as-number-location?      inet:as-number
                     +--:(router-id)
                        +--rw router-id-location?      rt:router-id
        
4. LIME Time Types YANG Module
4. LIME時間タイプYANGモジュール
   <CODE BEGINS> file "ietf-lime-time-types@2019-04-16.yang"
        
   module ietf-lime-time-types {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang: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>
        

Editor: Qin Wu <bill.wu@huawei.com>"; description "This module provides time-related definitions used by the data models written for Layer Independent OAM Management in the Multi-Layer Environment (LIME). This module defines identities but no schema tree elements.

エディター:Qin Wu <bill.wu@huawei.com> ";説明"このモジュールは、マルチレイヤー環境(LIME)のレイヤー非依存OAM管理用に作成されたデータモデルで使用される時間関連の定義を提供します。このモジュールはIDを定義しますが、スキーマツリー要素は定義しません。

Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved.

Copyright(c)2019 IETF Trustおよびコードの作成者として識別された人物。全著作権所有。

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).

ソースおよびバイナリ形式での再配布および使用は、変更の有無にかかわらず、IETF文書に関連するIETFトラストの法的規定のセクション4.cに記載されているSimplified BSD Licenseに従い、それに含まれるライセンス条項に従って許可されます( 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.";

このYANGモジュールのこのバージョンはRFC 8532の一部です。完全な法的通知については、RFC自体を参照してください。 ";

     revision 2019-04-16 {
       description
         "Initial version.";
       reference
         "RFC 8532: Generic YANG Data Model for the Management of
          Operations, Administration, and Maintenance (OAM) Protocols
          That Use Connectionless Communications";
     }
        
     /*** Collection of common types related to time ***/
     /*** Time unit identity ***/
        
     identity time-unit-type {
       description
         "Time unit type.";
     }
        
     identity hours {
       base time-unit-type;
       description
         "Time unit in hours.";
     }
        
     identity minutes {
       base time-unit-type;
       description
         "Time unit in minutes.";
     }
        
     identity seconds {
       base time-unit-type;
       description
         "Time unit in seconds.";
     }
     identity milliseconds {
       base time-unit-type;
       description
         "Time unit in milliseconds.";
     }
        
     identity microseconds {
       base time-unit-type;
       description
         "Time unit in microseconds.";
     }
        
     identity nanoseconds {
       base time-unit-type;
       description
         "Time unit in nanoseconds.";
     }
        
     /*** Timestamp format Identity ***/
        
     identity timestamp-type {
       description
         "Base identity for Timestamp Type.";
     }
        
     identity truncated-ptp {
       base timestamp-type;
       description
         "Identity for 64-bit short-format PTP timestamp.";
     }
        
     identity truncated-ntp {
       base timestamp-type;
       description
         "Identity for 32-bit short-format NTP timestamp.";
     }
        
     identity ntp64 {
       base timestamp-type;
       description
         "Identity for 64-bit NTP timestamp.";
     }
        
     identity icmp {
       base timestamp-type;
       description
         "Identity for 32-bit ICMP timestamp.";
     }
     identity ptp80 {
       base timestamp-type;
       description
         "Identity for 80-bit PTP timestamp.";
     }
   }
        

<CODE ENDS>

<コード終了>

5. Connectionless OAM YANG Module
5. コネクションレス型OAM YANGモジュール

This module imports the Core YANG Derived Types definition ("ietf-yang-types" module) and Internet-Specific Derived Types definitions ("ietf-inet-types" module) from [RFC6991], the "ietf-routing-types" module from [RFC8294], the "ietf-interfaces" module from [RFC8343], the "ietf-network" module from [RFC8345], the "ietf-network-instance" module from [RFC8529], and the "ietf-lime-time-types" module in Section 4. This module references [IEEE.1588v1], [IEEE.1588v2], [RFC8029], and additional RFCs cited elsewhere in this document.

このモジュールは、コアのYANG派生型定義( "ietf-yang-types"モジュール)とインターネット固有の派生型定義( "ietf-inet-types"モジュール)を[RFC6991]の "ietf-routing-types"モジュールからインポートします[RFC8294]、[RFC8343]の「ietf-interfaces」モジュール、[RFC8345]の「ietf-network」モジュール、[RFC8529]の「ietf-network-instance」モジュール、「ietf-lime-このモジュールは、[IEEE.1588v1]、[IEEE.1588v2]、[RFC8029]、およびこのドキュメントの他の場所で引用されている追加のRFCを参照します。

   <CODE BEGINS> file "ietf-connectionless-oam@2019-04-16.yang"
        
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.

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> ";説明「このYANGモジュールは、プロトコルに依存しない方法で記述された、コネクションレス型通信を使用するOAMプロトコルの一般的な構成、データモデル、および統計を定義します。各プロトコルは対応する抄録をそのネイティブ形式にマッピングすると想定されています。各プロトコルは、ここで定義されているYANGデータモデルを拡張して、プロトコル固有の拡張を含めることができます。

Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved.

Copyright(c)2019 IETF Trustおよびコードの作成者として識別された人物。全著作権所有。

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).

ソースおよびバイナリ形式での再配布および使用は、変更の有無にかかわらず、IETF文書に関連するIETFトラストの法的規定のセクション4.cに記載されているSimplified BSD Licenseに従い、それに含まれるライセンス条項に従って許可されます( 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.";

このYANGモジュールのこのバージョンはRFC 8532の一部です。完全な法的通知については、RFC自体を参照してください。 ";

  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.";
  }
        
  grouping cc-session-statistics {
    description
      "Grouping for session statistics.";
    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.";
      }
    }
  }
        
  grouping session-packet-statistics {
    description
      "Grouping for statistics per session packet.";
    container session-packet-statistics {
      description
        "Statistics per session packet.";
      leaf rx-packet-count {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total count of received OAM packets.
        
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf tx-packet-count {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total count of transmitted OAM packets.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf rx-bad-packet {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total number of received bad OAM packets.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf tx-packet-failed {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total number of OAM packets that failed when sent.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
    }
  }
  grouping cc-per-session-statistics {
    description
      "Grouping for per-session statistics.";
    container cc-per-session-statistics {
      description
        "Per-session statistics.";
      leaf create-time {
        type yang:date-and-time;
        description
          "Time and date when session is created.";
      }
      leaf last-down-time {
        type yang:date-and-time;
        description
          "Time and date of the last time session was down.";
      }
      leaf last-up-time {
        type yang:date-and-time;
        description
          "Time and date of the last time session was up.";
      }
      leaf down-count {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total count of Continuity Check sessions down.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf admin-down-count {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total count of Continuity Check sessions admin down.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      uses session-packet-statistics;
        
    }
  }
        
  grouping session-error-statistics {
    description
      "Grouping for per-session error statistics.";
    container session-error-statistics {
      description
        "Per-session error statistics.";
      leaf packet-loss-count {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total count of received packet drops.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf loss-ratio {
        type percentage;
        description
          "Loss ratio of the packets.  Expressed as percentage
           of packets lost with respect to packets sent.";
      }
      leaf packet-reorder-count {
        type uint32 {
          range "0..4294967295";
        }
        default "0";
        description
          "Total count of received packets that were reordered.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf packets-out-of-seq-count {
        type uint32 {
          range "0..4294967295";
        }
        description
          "Total count of packets received out of sequence.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf packets-dup-count {
        type uint32 {
          range "0..4294967295";
        }
        description
          "Total count of received packet duplicates.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
    }
  }
        
  grouping session-delay-statistics {
    description
      "Grouping for delay statistics per session.";
    container session-delay-statistics {
      description
        "Session delay summarized information.  By default, a
         one-way measurement protocol (e.g., OWAMP) is used
         to measure delay.  When a two-way measurement protocol
         (e.g., TWAMP) is used instead, it can be indicated
         using the protocol-id defined in RPC operation of
         retrieval methods for connectionless OAM (RFC 8533),
         i.e., set protocol-id as OWAMP.  Note that only one
         measurement protocol for delay is specified for
         interoperability reasons.";
      leaf time-unit-value {
        type identityref {
          base lime:time-unit-type;
        }
        default "lime:milliseconds";
        description
          "Time units, where the options are s, ms, ns, etc.";
      }
      leaf min-delay-value {
        type uint32;
        description
          "Minimum delay value observed.";
      }
      leaf max-delay-value {
        
        type uint32;
        description
          "Maximum delay value observed.";
      }
      leaf average-delay-value {
        type uint32;
        description
          "Average delay value observed.";
      }
    }
  }
        
  grouping session-jitter-statistics {
    description
      "Grouping for per session jitter statistics.";
    container session-jitter-statistics {
      description
        "Summarized information about session jitter.  By default,
         jitter is measured using IP Packet Delay Variation
         (IPDV) as defined in RFC 3393.  When the other measurement
         method is used instead (e.g., Packet Delay Variation used
         in ITU-T Recommendation Y.1540, it can be indicated using
         protocol-id-meta-data defined in RPC operation of
         retrieval methods for connectionless OAM (RFC 8533).
         Note that only one measurement method for jitter is
         specified for interoperability reasons.";
      leaf unit-value {
        type identityref {
          base lime:time-unit-type;
        }
        default "lime:milliseconds";
        description
          "Time units, where the options are s, ms, ns, etc.";
      }
      leaf min-jitter-value {
        type uint32;
        description
          "Minimum jitter value observed.";
      }
      leaf max-jitter-value {
        type uint32;
        description
          "Maximum jitter value observed.";
      }
      leaf average-jitter-value {
        type uint32;
        description
          "Average jitter value observed.";
        
      }
    }
  }
        
  grouping session-path-verification-statistics {
    description
      "Grouping for path verification statistics per session.";
    container session-path-verification-statistics {
      description
        "OAM path verification statistics per session.";
      leaf verified-count {
        type uint32 {
          range "0..4294967295";
        }
        description
          "Total number of OAM packets that
           went through a path as intended.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
      leaf failed-count {
        type uint32 {
          range "0..4294967295";
        }
        description
          "Total number of OAM packets that
           went through an unintended path.
           The value of count will be set to zero (0)
           on creation and will thereafter increase
           monotonically until it reaches a maximum value
           of 2^32-1 (4294967295 decimal), when it wraps
           around and starts increasing again from zero.";
      }
    }
  }
        
  grouping session-type {
    description
      "This object indicates which kind of activation will
       be used by the current session.";
    leaf session-type {
      type enumeration {
        enum proactive {
          description
            "The current session is a proactive session.";
        
        }
        enum on-demand {
          description
            "The current session is an on-demand session.";
        }
      }
      default "on-demand";
      description
        "Indicate which kind of activation will be used
         by the current session.";
    }
  }
        
  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.";
  }
        
  grouping tp-address {
    leaf tp-location-type {
      type identityref {
        base tp-address-technology-type;
      }
      mandatory true;
      description
        "Test point address type.";
    }
    container mac-address {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:mac-address-type')" {
        description
          "MAC address type.";
      }
      leaf mac-address {
        type yang:mac-address;
        mandatory true;
        description
          "MAC address.";
      }
      description
        "MAC address based TP addressing.";
    }
    container ipv4-address {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:ipv4-address-type')" {
        description
          "IPv4 address type.";
      }
      leaf ipv4-address {
        type inet:ipv4-address;
        mandatory true;
        description
          "IPv4 address.";
      }
      description
        "IP address based TP addressing.";
    }
    container ipv6-address {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:ipv6-address-type')" {
        description
          "IPv6 address type.";
      }
      leaf ipv6-address {
        type inet:ipv6-address;
        mandatory true;
        description
          "IPv6 address.";
      }
      description
        "IPv6 address based TP addressing.";
    }
    container tp-attribute {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:tp-attribute-type')" {
        description
          "Test point attribute type.";
      }
      leaf tp-attribute-type {
        type address-attribute-type;
        description
          "Test point type.";
      }
      choice tp-attribute-value {
        description
          "Test point value.";
        case ip-prefix {
          leaf ip-prefix {
            type inet:ip-prefix;
            description
              "Generic IPv4/IPv6 prefix.  See Sections 3.2.13 and
               3.2.14 of RFC 8029.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures";
          }
        }
        case bgp {
          leaf bgp {
            type inet:ip-prefix;
            description
              "BGP Labeled IPv4/IPv6 Prefix.  See Sections
        
               3.2.11 and 3.2.12 of RFC 8029 for details.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures";
          }
        }
        case tunnel {
          leaf tunnel-interface {
            type uint32;
            description
              "Basic IPv4/IPv6 Tunnel ID.  See Sections 3.2.3
               and 3.2.4 of RFC 8029 for details.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures.";
          }
        }
        case pw {
          leaf remote-pe-address {
            type inet:ip-address;
            description
              "Remote PE address.  See Section 3.2.8
               of RFC 8029 for details.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures";
          }
          leaf pw-id {
            type uint32;
            description
              "Pseudowire ID is a non-zero 32-bit ID.  See Sections
               3.2.8 and 3.2.9 of RFC 8029 for details.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures";
          }
        }
        case vpls {
          leaf route-distinguisher {
            type rt:route-distinguisher;
            description
              "Route Distinguisher is an 8-octet identifier
               used to distinguish information about various
               L2VPNs advertised by a node.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures";
          }
          leaf sender-ve-id {
            type uint16;
            description
              "Sender's VE ID.  The VE ID (VPLS Edge Identifier)
               is a 2-octet identifier.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures";
          }
          leaf receiver-ve-id {
            type uint16;
            description
              "Receiver's VE ID.  The VE ID (VPLS Edge Identifier)
               is a 2-octet identifier.";
            reference
              "RFC 8029: Detecting Multiprotocol Label
               Switched (MPLS) Data-Plane Failures";
          }
        }
        case mpls-mldp {
          choice root-address {
            description
              "Root address choice.";
            case ip-address {
              leaf source-address {
                type inet:ip-address;
                description
                  "IP address.";
              }
              leaf group-ip-address {
                type inet:ip-address;
                description
                  "Group IP address.";
              }
            }
            case vpn {
              leaf as-number {
                type inet:as-number;
                description
                  "The AS number that identifies an Autonomous
                   System.";
              }
            }
            case global-id {
              leaf lsp-id {
                type string;
                description
                  "LSP ID is an identifier of a LSP
        
                   within a MPLS network.";
                reference
                  "RFC 8029: Detecting Multiprotocol Label
                   Switched (MPLS) Data-Plane Failures";
              }
            }
          }
        }
      }
      description
        "Test Point Attribute Container.";
    }
    container system-info {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:router-id-address-type')" {
        description
          "System ID address type.";
      }
      leaf router-id {
        type rt:router-id;
        description
          "Router ID assigned to this node.";
      }
      description
        "Router ID container.";
    }
    description
      "TP Address.";
  }
        
  grouping tp-address-ni {
    description
      "Test point address with VRF.";
    leaf ni {
      type routing-instance-ref;
      description
        "The ni is used to describe virtual resource partitioning
         that may be present on a network device.  An example of a
         common industry term for virtual resource partitioning is
         'VRF instance'.";
    }
    uses tp-address;
  }
        
  grouping connectionless-oam-tps {
    list oam-neighboring-tps {
      key "index";
      leaf index {
        
        type uint16 {
          range "0..65535";
        }
        description
          "Index of a list of neighboring test points
           in layers up and down the stack for
           the same interface that are related to the
           current test point.";
      }
      leaf position {
        type int8 {
          range "-1..1";
        }
        default "0";
        description
          "The position of the neighboring test point relative to
           the current test point.  Level 0 indicates a test point
           corresponding to a specific index in the same layer as
           the current test point.  -1 means there is a test point
           corresponding to a specific index in the test point down
           the stack, and +1 means there is a test point corresponding
           to a specific index in the test point up the stack.";
      }
      choice tp-location {
        case mac-address {
          leaf mac-address-location {
            type yang:mac-address;
            description
              "MAC address.";
          }
          description
            "MAC address based TP addressing.";
        }
        case ipv4-address {
          leaf ipv4-address-location {
            type inet:ipv4-address;
            description
              "IPv4 address.";
          }
          description
            "IP address based TP addressing.";
        }
        case ipv6-address {
          leaf ipv6-address-location {
            type inet:ipv6-address;
            description
              "IPv6 address.";
          }
          description
            "IPv6 address based TP addressing.";
        }
        case as-number {
          leaf as-number-location {
            type inet:as-number;
            description
              "AS number location.";
          }
          description
            "AS number for point-to-multipoint OAM.";
        }
        case router-id {
          leaf router-id-location {
            type rt:router-id;
            description
              "System ID location.";
          }
          description
            "System ID.";
        }
        description
          "TP location.";
      }
      description
        "List of neighboring test points in the same layer that are
         related to current test point.  If the neighboring test point
         is placed after the current test point, the position is
         specified as +1.  If the neighboring test point is placed
         before the current test point, the position is specified
         as -1; if no neighboring test points are placed before or
         after the current test point in the same layer, the
         position is specified as 0.";
    }
    description
      "List of neighboring test points related to connectionless OAM.";
  }
        
  grouping tp-technology {
    choice technology {
      default "technology-null";
      case technology-null {
        description
          "This is a placeholder when no technology is needed.";
        leaf tech-null {
          type empty;
          description
            "There is no technology to be defined.";
        
        }
      }
      description
        "Technology choice.";
    }
    description
      "OAM technology.";
  }
        
  grouping tp-tools {
    description
      "Test point OAM toolset.";
    container tp-tools {
      leaf continuity-check {
        type boolean;
        mandatory true;
        description
          "A flag indicating whether or not the
           Continuity Check function is supported.";
        reference
          "RFC 792: INTERNET CONTROL MESSAGE PROTOCOL
           RFC 4443: Internet Control Message Protocol (ICMPv6)
               for the Internet Protocol Version 6 (IPv6) Specification
           RFC 5880: Bidirectional Forwarding Detection
           RFC 5881: BFD for IPv4 and IPv6
           RFC 5883: BFD for Multihop Paths
           RFC 5884: BFD for MPLS Label Switched Paths
           RFC 5885: BFD for PW VCCV
           RFC 6450: Multicast Ping Protocol
           RFC 8029: Detecting Multiprotocol Label Switched (MPLS)
               Data-Plane Failures";
      }
      leaf path-discovery {
        type boolean;
        mandatory true;
        description
          "A flag indicating whether or not the
           path discovery function is supported.";
        reference
          "RFC 792: INTERNET CONTROL MESSAGE PROTOCOL
           RFC 4443: Internet Control Message Protocol (ICMPv6)
               for the Internet Protocol Version 6 (IPv6) Specification
           RFC 4884: Extended ICMP to Support Multi-Part Messages
           RFC 5837: Extending ICMP for Interface and Next-Hop
               Identification
           RFC 8029: Detecting Multiprotocol Label Switched (MPLS)
               Data-Plane Failures";
      }
      description
        "Container for test point OAM toolset.";
    }
  }
        
  grouping test-point-location-info {
    uses tp-technology;
    uses tp-tools;
    anydata root {
      yangmnt:mount-point "root";
      description
        "Root for models supported per test point.";
    }
    uses connectionless-oam-tps;
    description
      "Test point location.";
  }
        
  grouping test-point-locations {
    description
      "Group of test point locations.";
    leaf tp-location-type {
      type identityref {
        base tp-address-technology-type;
      }
      description
        "Test point location type.";
    }
    container ipv4-location-type {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:ipv4-address-type')" {
        description
          "When test point location type is equal to IPv4 address.";
      }
      container test-point-ipv4-location-list {
        list test-point-locations {
          key "ipv4-location ni";
          leaf ipv4-location {
            type inet:ipv4-address;
            description
              "IPv4 address.";
          }
          leaf ni {
            type routing-instance-ref;
            description
              "The ni is used to describe the
               corresponding network instance";
          }
          uses test-point-location-info;
          description
            "List of test point locations.";
        }
        description
          "Serves as top-level container
           for test point location list.";
      }
      description
        "Container for IPv4 location types.";
    }
    container ipv6-location-type {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:ipv6-address-type')" {
        description
          "When test point location is equal to IPv6 address.";
      }
      container test-point-ipv6-location-list {
        list test-point-locations {
          key "ipv6-location ni";
          leaf ipv6-location {
            type inet:ipv6-address;
            description
              "IPv6 address.";
          }
          leaf ni {
            type routing-instance-ref;
            description
              "The ni is used to describe the
               corresponding network instance.";
          }
          uses test-point-location-info;
          description
            "List of test point locations.";
        }
        description
          "Serves as top-level container
           for test point location list.";
      }
      description
        "ipv6 location type container.";
    }
    container mac-location-type {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:mac-address-type')" {
        description
          "When test point location type is equal to MAC address.";
      }
      container test-point-mac-address-location-list {
        list test-point-locations {
          key "mac-address-location";
          leaf mac-address-location {
            type yang:mac-address;
            description
              "MAC address.";
          }
          uses test-point-location-info;
          description
            "List of test point locations.";
        }
        description
          "Serves as top-level container
           for test point location list.";
      }
      description
        "Container for MAC address location types.";
    }
    container group-as-number-location-type {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:as-number-address-type')" {
        description
          "When test point location type is equal to AS number.";
      }
      container test-point-as-number-location-list {
        list test-point-locations {
          key "as-number-location";
          leaf as-number-location {
            type inet:as-number;
            description
              "AS number for point-to-multipoint OAM.";
          }
          leaf ni {
            type routing-instance-ref;
            description
              "The ni is used to describe the
               corresponding network instance.";
          }
          uses test-point-location-info;
          description
            "List of test point locations.";
        }
        description
          "Serves as top-level container
           for test point location list.";
      }
      description
        
        "Container for AS number location types.";
    }
    container group-router-id-location-type {
      when "derived-from-or-self(../tp-location-type,"
         + "'cl-oam:router-id-address-type')" {
        description
          "When test point location type is equal to system-info.";
      }
      container test-point-system-info-location-list {
        list test-point-locations {
          key "router-id-location";
          leaf router-id-location {
            type rt:router-id;
            description
              "System ID.";
          }
          leaf ni {
            type routing-instance-ref;
            description
              "The ni is used to describe the
               corresponding network instance.";
          }
          uses test-point-location-info;
          description
            "List of test point locations.";
        }
        description
          "Serves as top-level container for
           test point location list.";
      }
      description
        "Container for system ID location types.";
    }
  }
        
  augment "/nd:networks/nd:network/nd:node" {
    description
      "Augments the /networks/network/node path defined in the
       ietf-network module (RFC 8345) with test-point-locations
       grouping.";
    uses test-point-locations;
  }
        
  grouping timestamp {
    description
      "Grouping for timestamp.";
    leaf timestamp-type {
      type identityref {
        
        base lime:timestamp-type;
      }
      description
        "Type of timestamp, such as Truncated PTP or NTP.";
    }
    container timestamp-64bit {
      when "derived-from-or-self(../timestamp-type,"
         + "'lime:truncated-ptp')"
         + "or derived-from-or-self(../timestamp-type,"
         + "'lime:ntp64')" {
        description
          "Only applies when PTP truncated or 64-bit NTP timestamp.";
      }
      leaf timestamp-sec {
        type uint32;
        description
          "Absolute timestamp in seconds as per IEEE 1588v2
           or seconds part in 64-bit NTP timestamp.";
      }
      leaf timestamp-nanosec {
        type uint32;
        description
          "Fractional part in nanoseconds as per IEEE 1588v2
           or fractional part in 64-bit NTP timestamp.";
      }
      description
        "Container for 64-bit timestamp.  The Network Time Protocol
         (NTP) 64-bit timestamp format is defined in RFC 5905.  The
         PTP truncated timestamp format is defined in IEEE 1588v1.";
      reference
        "RFC 5905: Network Time Protocol Version 4: Protocol and
             Algorithms Specification
         IEEE 1588v1: IEEE Standard for a Precision Clock
             Synchronization Protocol for Networked Measurement and
             Control Systems Version 1";
    }
    container timestamp-80bit {
      when "derived-from-or-self(../timestamp-type, 'lime:ptp80')" {
        description
          "Only applies when 80-bit PTP timestamp.";
      }
      if-feature "ptp-long-format";
      leaf timestamp-sec {
        type uint64 {
          range "0..281474976710655";
        }
        description
          "48-bit timestamp in seconds as per IEEE 1588v2.";
        
      }
      leaf timestamp-nanosec {
        type uint32;
        description
          "Fractional part in nanoseconds as per IEEE 1588v2.";
      }
      description
        "Container for 80-bit timestamp.";
    }
    container ntp-timestamp-32bit {
      when "derived-from-or-self(../timestamp-type,"
         + "'lime:truncated-ntp')" {
        description
          "Only applies when 32-bit NTP short-format timestamp.";
      }
      if-feature "ntp-short-format";
      leaf timestamp-sec {
        type uint16;
        description
          "Timestamp in seconds as per short-format NTP.";
      }
      leaf timestamp-nanosec {
        type uint16;
        description
          "Truncated fractional part in 16-bit NTP timestamp.";
      }
      description
        "Container for 32-bit timestamp RFC5905.";
      reference
        "RFC 5905: Network Time Protocol Version 4: Protocol and
         Algorithms Specification.";
    }
    container icmp-timestamp-32bit {
      when "derived-from-or-self(../timestamp-type, 'lime:icmp')" {
        description
          "Only applies when ICMP timestamp.";
      }
      if-feature "icmp-timestamp";
      leaf timestamp-millisec {
        type uint32;
        description
          "Timestamp in milliseconds for ICMP timestamp.";
      }
      description
        "Container for 32-bit timestamp.  See RFC 792 for ICMP
         timestamp format.";
    }
  }
  grouping path-discovery-data {
    description
      "Data output from nodes related to path discovery.";
    container src-test-point {
      description
        "Source test point.";
      uses tp-address-ni;
    }
    container dest-test-point {
      description
        "Destination test point.";
      uses tp-address-ni;
    }
    leaf sequence-number {
      type uint64;
      default "0";
      description
        "Sequence number in data packets.  A value of
         zero indicates that no sequence number is sent.";
    }
    leaf hop-cnt {
      type uint8;
      default "0";
      description
        "Hop count.  A value of zero indicates
         that no hop count is sent.";
    }
    uses session-packet-statistics;
    uses session-error-statistics;
    uses session-delay-statistics;
    uses session-jitter-statistics;
    container path-verification {
      description
        "Optional information related to path verification.";
      leaf flow-info {
        type string;
        description
          "Information that refers to the flow.";
      }
      uses session-path-verification-statistics;
    }
    container path-trace-info {
      description
        "Optional per-hop path trace information about test points.
         The path trace information list typically has a single
         element for per-hop cases such as path-discovery RPC operation
         but allows a list of hop-related information for other types of
         data retrieval methods.";
        
      list path-trace-info-list {
        key "index";
        description
          "Path trace information list.";
        leaf index {
          type uint32;
          description
            "Trace information index.";
        }
        uses tp-address-ni;
        uses timestamp;
        leaf ingress-intf-name {
          type if:interface-ref;
          description
            "Ingress interface name.";
        }
        leaf egress-intf-name {
          type if:interface-ref;
          description
            "Egress interface name.";
        }
        leaf queue-depth {
          type uint32;
          description
            "Length of the queue of the interface from where
             the packet is forwarded out.  The queue depth could
             be the current number of memory buffers used by the
             queue, and a packet can consume one or more memory buffers,
             thus constituting device-level information.";
        }
        leaf transit-delay {
          type uint32;
          description
            "Time in nanoseconds that the packet spent transiting a
             node.";
        }
        leaf app-meta-data {
          type uint64;
          description
            "Application-specific data added by node.";
        }
      }
    }
  }
        
  grouping continuity-check-data {
    description
      "Continuity Check data output from nodes.";
        
    container src-test-point {
      description
        "Source test point.";
      uses tp-address-ni;
      leaf egress-intf-name {
        type if:interface-ref;
        description
          "Egress interface name.";
      }
    }
    container dest-test-point {
      description
        "Destination test point.";
      uses tp-address-ni;
      leaf ingress-intf-name {
        type if:interface-ref;
        description
          "Ingress interface name.";
      }
    }
    leaf sequence-number {
      type uint64;
      default "0";
      description
        "Sequence number in data packets.  A value of
         zero indicates that no sequence number is sent.";
    }
    leaf hop-cnt {
      type uint8;
      default "0";
      description
        "Hop count.  A value of zero indicates
         that no hop count is sent.";
    }
    uses session-packet-statistics;
    uses session-error-statistics;
    uses session-delay-statistics;
    uses session-jitter-statistics;
  }
        
  container cc-session-statistics-data {
    if-feature "continuity-check";
    config false;
    list cc-session-statistics {
      key "type";
      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.";
        uses cc-session-statistics;
      }
      container cc-ipv6-sessions-statistics {
        when "../type = 'ipv6'" {
          description
            "Only applies when traffic type is IPv6.";
        }
        description
          "CC IPv6 sessions.";
        uses cc-session-statistics;
      }
      description
        "List of CC session statistics data.";
    }
    description
      "CC operational information.";
  }
}
        

<CODE ENDS>

<コード終了>

6. Connectionless Model Applicability
6. コネクションレスモデルの適用性

The "ietf-connectionless-oam" module defined in this document provides a technology-independent abstraction of key OAM constructs for OAM protocols that use connectionless communication. This module can be further extended to include technology-specific details, e.g., adding new data nodes with technology-specific functions and parameters into proper anchor points of the base model, so as to develop a technology-specific connectionless OAM model.

このドキュメントで定義されている「ietf-connectionless-oam」モジュールは、コネクションレス型通信を使用するOAMプロトコルの主要なOAMコンストラクトのテクノロジーに依存しない抽象化を提供します。このモジュールをさらに拡張して、テクノロジー固有の詳細を含めることができます。たとえば、テクノロジー固有の機能とパラメーターを持つ新しいデータノードをベースモデルの適切なアンカーポイントに追加して、テクノロジー固有のコネクションレスOAMモデルを開発できます。

This section demonstrates the usability of the connectionless YANG OAM data model to various connectionless OAM technologies, e.g., BFD and LSP ping. Note that, in this section, several snippets of technology-specific model extensions are presented for illustrative purposes. The complete model extensions should be worked on in the working groups of the respective protocols.

このセクションでは、さまざまなコネクションレスOAMテクノロジー(BFDやLSP pingなど)に対するコネクションレスYANG OAMデータモデルの有用性を示します。このセクションでは、説明のためにテクノロジー固有のモデル拡張のいくつかのスニペットが示されていることに注意してください。完全なモデル拡張は、それぞれのプロトコルのワーキンググループで作業する必要があります。

6.1. BFD Extension
6.1. BFD拡張

RFC 7276 defines BFD as a connection-oriented protocol. It is used to monitor a connectionless protocol in the case of basic BFD for IP.

RFC 7276は、BFDをコネクション型プロトコルとして定義しています。 IPの基本的なBFDの場合、コネクションレス型プロトコルを監視するために使用されます。

6.1.1. Augment Method
6.1.1. 補強方法

The following sections show how the "ietf-connectionless-oam" module can be extended to cover BFD technology. For this purpose, a set of extensions are introduced such as the technology-type extension and test-point attributes extension.

次のセクションでは、「ietf-connectionless-oam」モジュールを拡張してBFDテクノロジーをカバーする方法を示します。この目的のために、テクノロジータイプ拡張やテストポイント属性拡張などの拡張セットが導入されています。

Note that a dedicated BFD YANG data model [BFD-YANG] is also standardized. Augmentation of the "ietf-connectionless-oam" module with BFD-specific details provides an alternative approach with a unified view of management information across various OAM protocols. The BFD-specific details can be the grouping defined in the BFD model, thereby avoiding duplication of effort.

専用のBFD YANGデータモデル[BFD-YANG]も標準化されていることに注意してください。 BFD固有の詳細による「ietf-connectionless-oam」モジュールの拡張は、さまざまなOAMプロトコル全体の管理情報の統一されたビューを備えた代替アプローチを提供します。 BFD固有の詳細は、BFDモデルで定義されたグループ化であり、これにより、作業の重複を回避できます。

6.1.1.1. Technology-Type Extension
6.1.1.1. テクノロジータイプの拡張

No BFD technology type has been defined in the "ietf-connectionless-oam" module. Therefore, a technology-type extension is required in the module extension.

「ietf-connectionless-oam」モジュールでBFDテクノロジータイプが定義されていません。したがって、モジュール拡張にはテクノロジータイプの拡張が必要です。

The snippet below depicts an example of adding the "bfd" type as an augment to the "ietf-connectionless-oam" module:

以下のスニペットは、「bfd」タイプを「ietf-connectionless-oam」モジュールの拡張として追加する例を示しています。

   augment "/nd:networks/nd:network/nd:node/"
   +"coam:location-type/coam:ipv4-location-type"
   +"/coam:test-point-ipv4-location-list/"
   +"coam:test-point-locations/coam:technology"
   {
       leaf bfd{
      type string;
     }
   }
        
6.1.1.2. Test Point Attributes Extension
6.1.1.2. テストポイント属性拡張

To support BFD, the "ietf-connectionless-oam" module can be extended by adding specific parameters into the "test-point-locations" list and/or adding a new location type such as "BFD over MPLS TE" under "location-type".

BFDをサポートするには、「ietf-connectionless-oam」モジュールを拡張して、「test-point-locations」リストに特定のパラメータを追加するか、「location-」の下に「BFD over MPLS TE」などの新しいロケーションタイプを追加します。タイプ"。

6.1.1.2.1. Define and Insert New Nodes into Corresponding test-point-location

6.1.1.2.1. 新しいノードを定義し、対応するテストポイントの場所に挿入する

In the "ietf-connectionless-oam" module, multiple "test-point-location" lists are defined under the "location-type" choice node. Therefore, to derive a model for some BFD technologies (such as IP single-hop, IP multihop, etc.), data nodes for BFD-specific details need to be added to the corresponding "test-point-locations" list. In this section, some groupings that are defined in [BFD-YANG] are reused as follows.

「ietf-connectionless-oam」モジュールでは、「location-type」選択ノードの下に複数の「test-point-location」リストが定義されています。したがって、一部のBFDテクノロジー(IPシングルホップ、IPマルチホップなど)のモデルを導出するには、BFD固有の詳細のデータノードを対応する「テストポイントの場所」リストに追加する必要があります。このセクションでは、[BFD-YANG]で定義されているいくつかのグループは、次のように再利用されます。

The snippet below shows how the "ietf-connectionless-oam" module can be extended to support "BFD IP Single-Hop":

以下のスニペットは、「ietf-connectionless-oam」モジュールを拡張して「BFD IPシングルホップ」をサポートする方法を示しています。

   augment "/nd:networks/nd:network/nd:node/"
   +"coam:location-type/coam:ipv4-location-type"
   +"/coam:test-point-ipv4-location-list/"
           +"coam:test-point-locations"
   {
           container session-cfg {
             description "BFD IP single-hop session configuration";
             list sessions {
               key "interface dest-addr";
               description "List of IP single-hop sessions";
               leaf interface {
                 type if:interface-ref;
                 description
                   "Interface on which the BFD session is running.";
               }
               leaf dest-addr {
                 type inet:ip-address;
                 description "IP address of the peer";
               }
               uses bfd:bfd-grouping-common-cfg-parms;
               uses bfd:bfd-grouping-echo-cfg-parms;
             }
           }
   }
        

Similar augmentations can be defined to support other BFD technologies such as BFD IP Multihop, BFD over MPLS, etc.

同様の拡張機能を定義して、BFD IPマルチホップ、BFD over MPLSなどの他のBFDテクノロジーをサポートできます。

6.1.1.2.2. Add New location-type Cases
6.1.1.2.2. 新しい場所タイプのケースを追加

In the "ietf-connectionless-oam" module, If there is no appropriate "location-type" case that can be extended, a new "location-type" case can be defined and inserted into the "location-type" choice node.

「ietf-connectionless-oam」モジュールで、拡張できる適切な「location-type」ケースがない場合、新しい「location-type」ケースを定義して「location-type」選択ノードに挿入できます。

Therefore, there is flexibility -- the module user can add "location-type" to support other types of test point that are not defined in the "ietf-connectionless-oam" module. In this section, a new "location-type" case is added, and some groupings that are defined in [BFD-YANG] are reused as follows.

したがって、柔軟性があります。モジュールのユーザーは「location-type」を追加して、「ietf-connectionless-oam」モジュールで定義されていない他のタイプのテストポイントをサポートできます。このセクションでは、新しい「location-type」ケースが追加され、[BFD-YANG]で定義されている一部のグループ化が次のように再利用されます。

The snippet below shows how the "ietf-connectionless-oam" module can be extended to support "BFD over MPLS-TE":

以下のスニペットは、「ietf-connectionless-oam」モジュールを拡張して「BFD over MPLS-TE」をサポートする方法を示しています。

   augment "/nd:networks/nd:network/nd:node/coam:location-type"{
    case te-location{
     list test-point-location-list{
      key "tunnel-name";
      leaf tunnel-name{
       type leafref{
    path "/te:te/te:tunnels/te:tunnel/te:name";
   }
   description
   "Point to a TE instance.";
      }
       uses bfd:bfd-grouping-common-cfg-parms;
           uses bfd-mpls:bfd-encap-cfg;
     }
    }
   }
        

Similar augmentations can be defined to support other BFD technologies such as BFD over LAG, etc.

同様の拡張機能を定義して、LAG上のBFDなどの他のBFDテクノロジーをサポートできます。

6.1.2. Schema Mount
6.1.2. スキーママウント

An alternative method is using the schema mount mechanism [RFC8528] in the "ietf-connectionless-oam" module. Within the "test-point-locations" list, a "root" attribute is defined to provide a mount point for models that will be added onto per "test-point-locations". Therefore, the "ietf-connectionless-oam" module can provide a place in the node hierarchy where other OAM YANG data models can be attached, without any special extension in the "ietf-connectionless-oam" YANG data module [RFC8528]. Note that the limitation of the schema mount method is that it's not allowed to specify certain modules that are required to be mounted under a mount point.

別の方法は、「ietf-connectionless-oam」モジュールでスキーママウントメカニズム[RFC8528]を使用することです。 「test-point-locations」リスト内で、「root」属性が定義され、「test-point-locations」ごとに追加されるモデルのマウントポイントが提供されます。したがって、「ietf-connectionless-oam」モジュールは、「ietf-connectionless-oam」YANGデータモジュール[RFC8528]で特別な拡張を行うことなく、他のOAM YANGデータモデルを接続できるノード階層の場所を提供できます。スキーマのマウント方法の制限は、マウントポイントの下にマウントする必要がある特定のモジュールを指定できないことです。

The snippet below depicts the definition of the "root" attribute.

以下のスニペットは、「ルート」属性の定義を示しています。

         anydata root {
          yangmnt:mount-point root;
          description
            "Root for models that are supported per test point";
         }
        

The following section shows how the "ietf-connectionless-oam" module can use schema mount to support BFD technology.

次のセクションでは、「ietf-connectionless-oam」モジュールがスキーママウントを使用してBFDテクノロジーをサポートする方法を示します。

6.1.2.1. BFD Modules Might Be Populated in schema-mounts
6.1.2.1. BFDモジュールがスキーママウントに読み込まれる場合がある

To support BFD technology, "ietf-bfd-ip-sh" and "ietf-bfd-ip-mh" YANG modules might be populated in the "schema-mounts" container:

BFDテクノロジーをサポートするために、「ietf-bfd-ip-sh」および「ietf-bfd-ip-mh」YANGモジュールが「schema-mounts」コンテナに読み込まれる場合があります。

      <schema-mounts
          xmlns="urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount">
        <mount-point>
          <module> ietf-connectionless-oam </module>
          <name>root</name>
          <use-schema>
            <name>root</name>
          </use-schema>
        </mount-point>
        <schema>
          <name>root</name>
          <module>
            <name>ietf-bfd-ip-sh </name>
            <revision>2016-07-04</revision>
            <namespace>
              urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh
            </namespace>
            <conformance-type>implement</conformance-type>
          </module>
          <module>
            <name>ietf-bfd-ip-mh</name>
            <revision> 2016-07-04</revision>
            <namespace>
              urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh
            </namespace>
            <conformance-type>implement</conformance-type>
          </module>
        </schema>
      </schema-mounts>
        

and the "ietf-connectionless-oam" module might have:

「ietf-connectionless-oam」モジュールには次のようなものがあります。

   <ietf-connectionless-oam
   uri="urn:ietf:params:xml:ns:yang:ietf-connectionless-oam">
      ......
    <test-point-locations>
     <ipv4-location>192.0.2.1</ipv4-location>
      ......
     <root>
      <ietf-bfd-ip-sh uri="urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh">
       <ip-sh>
        foo
        ......
       </ip-sh>
      </ietf-bfd-ip-sh>
      <ietf-bfd-ip-mh uri="urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh">
       <ip-mh>
        foo
        ......
       </ip-mh>
      </ietf-bfd-ip-mh>
     </root>
    </test-point-locations>
   </ietf-connectionless-oam>
        
6.2. LSP Ping Extension
6.2. LSP Ping拡張
6.2.1. Augment Method
6.2.1. 補強方法

The following sections show how the "ietf-connectionless-oam" module can be extended to support LSP ping technology. For this purpose, a set of extensions are introduced such as the "technology-type" extension and the test-point "attributes" extension.

次のセクションでは、「ietf-connectionless-oam」モジュールを拡張してLSP pingテクノロジーをサポートする方法を示します。この目的のために、「テクノロジータイプ」拡張やテストポイント「属性」拡張などの拡張セットが導入されています。

Note that an LSP Ping YANG data model is being specified [LSP-PING-YANG]. As with BFD, users can choose to use the "ietf-connectionless-oam" as the basis and augment the "ietf-connectionless-oam" model with details specific to LSP Ping in the model extension to provide a unified view across different technologies. The details that are specific to LSP Ping can be the grouping defined in the LSP ping model to avoid duplication of effort.

LSP Ping YANGデータモデルが指定されていることに注意してください[LSP-PING-YANG]。 BFDの場合と同様に、ユーザーは「ietf-connectionless-oam」をベースとして使用し、「ietf-connectionless-oam」モデルにモデル拡張のLSP Pingに固有の詳細を追加して、さまざまなテクノロジーにわたる統一されたビューを提供できます。 LSP pingに固有の詳細は、LSP pingモデルで定義されたグループ化で、作業の重複を回避できます。

6.2.1.1. Technology-Type Extension
6.2.1.1. テクノロジータイプの拡張

No LSP Ping technology type has been defined in the "ietf-connectionless-oam" module. Therefore, a technology-type extension is required in the module extension.

「ietf-connectionless-oam」モジュールでLSP Pingテクノロジータイプが定義されていません。したがって、モジュール拡張にはテクノロジータイプの拡張が必要です。

The snippet below depicts an example of augmenting "ietf-connectionless-oam" with "lsp-ping" type:

以下のスニペットは、「lsp-ping」タイプで「ietf-connectionless-oam」を拡張する例を示しています。

   augment "/nd:networks/nd:network/nd:node/"
   +"coam:location-type/coam:ipv4-location-type"
   +"/coam:test-point-ipv4-location-list/"
           +"coam:test-point-locations/coam:technology"
   {
      leaf lsp-ping{
      type string;
     }
   }
        
6.2.1.2. Test Point Attributes Extension
6.2.1.2. テストポイント属性拡張

To support LSP Ping, the "ietf-connectionless-oam" module can be extended and parameters specific to LSP Ping can be defined and put on the "test-point-locations" list.

LSP Pingをサポートするために、「ietf-connectionless-oam」モジュールを拡張し、LSP Pingに固有のパラメーターを定義して、「test-point-locations」リストに追加できます。

Users can reuse the attributes or groupings that are defined in [LSP-PING-YANG] as follows:

ユーザーは、[LSP-PING-YANG]で定義されている属性またはグループを次のように再利用できます。

The snippet below depicts an example of augmenting the "test-point-locations" list with LSP Ping attributes:

以下のスニペットは、LSP Ping属性を使用して「test-point-locations」リストを拡張する例を示しています。

   augment "/nd:networks/nd:network/nd:node/"
   +"coam:location-type/coam:ipv4-location-type"
   +"/coam:test-point-ipv4-location-list/"
           +"coam:test-point-locations"
   {
   list lsp-ping {
            key "lsp-ping-name";
            leaf lsp-ping-name {
             type string {
               length "1..31";
            }
           mandatory "true";
           description "LSP Ping test name.";
           ......
         }
        
6.2.2. Schema Mount
6.2.2. スキーママウント

An alternative method is using the schema mount mechanism [RFC8528] in the "ietf-connectionless-oam" module. Within the "test-point-locations" list, a "root" attribute is defined to provide a mounted point for models mounted per "test-point-locations". Therefore, the "ietf-connectionless-oam" model can provide a place in the node hierarchy where other OAM YANG data models can be attached, without any special extension in the "ietf-connectionless-oam" YANG data module [RFC8528]. Note that the limitation of the schema mount method is that it's not allowed to specify certain modules that are required to be mounted under a mount point.

別の方法は、「ietf-connectionless-oam」モジュールでスキーママウントメカニズム[RFC8528]を使用することです。 「test-point-locations」リスト内で、「root」属性が定義され、「test-point-locations」ごとにマウントされたモデルにマウントポイントが提供されます。したがって、「ietf-connectionless-oam」モデルは、「ietf-connectionless-oam」YANGデータモジュール[RFC8528]で特別な拡張を行うことなく、他のOAM YANGデータモデルを接続できるノード階層の場所を提供できます。スキーマのマウント方法の制限は、マウントポイントの下にマウントする必要がある特定のモジュールを指定できないことです。

The snippet below depicts the definition of "root" attribute.

以下のスニペットは、「ルート」属性の定義を示しています。

         anydata root {
          yangmnt:mount-point root;
          description
         "Root for models supported per test point";
         }
        

The following section shows how the "ietf-connectionless-oam" module can use schema mount to support LSP Ping technology.

次のセクションでは、「ietf-connectionless-oam」モジュールがスキーママウントを使用してLSP Pingテクノロジーをサポートする方法を示します。

6.2.2.1. LSP Ping Modules Might Be Populated in schema-mounts
6.2.2.1. LSP pingモジュールがスキーママウントで生成される場合がある

To support LSP Ping technology, the "ietf-lsp-ping" YANG module [LSP-PING-YANG] might be populated in the "schema-mounts" container:

LSP Pingテクノロジーをサポートするために、「ietf-lsp-ping」YANGモジュール[LSP-PING-YANG]が「schema-mounts」コンテナに読み込まれる場合があります。

      <schema-mounts
          xmlns="urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount">
        <mount-point>
          <module> ietf-connectionless-oam </module>
          <name>root</name>
          <use-schema>
            <name>root</name>
          </use-schema>
        </mount-point>
        <schema>
          <name>root</name>
          <module>
            <name>ietf-lsp-ping </name>
            <revision>2016-03-18</revision>
            <namespace>
              urn:ietf:params:xml:ns:yang: ietf-lsp-ping
            </namespace>
            <conformance-type>implement</conformance-type>
          </module>
        </schema>
      </schema-mounts>
        

and the "ietf-connectionless-oam" module might have:

「ietf-connectionless-oam」モジュールには次のようなものがあります。

   <ietf-connectionless-oam
   uri="urn:ietf:params:xml:ns:yang:ietf-connectionless-oam">
      ......
    <test-point-locations>
     <ipv4-location> 192.0.2.1</ipv4-location>
      ......
     <root>
      <ietf-lsp-ping uri="urn:ietf:params:xml:ns:yang:ietf-lsp-ping">
       <lsp-pings>
        foo
        ......
       </lsp-pings>
      </ietf-lsp-ping>
     </root>
    </test-point-locations>
   </ietf-connectionless-oam>
        
7. Security Considerations
7. セキュリティに関する考慮事項

The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446].

このドキュメントで指定されているYANGモジュールは、NETCONF [RFC6241]やRESTCONF [RFC8040]などのネットワーク管理プロトコルを介してアクセスするように設計されたデータのスキーマを定義します。最下位のNETCONFレイヤーはセキュアなトランスポートレイヤーであり、実装に必須のセキュアなトランスポートはセキュアシェル(SSH)です[RFC6242]。最下位のRESTCONFレイヤーはHTTPSであり、実装に必須のセキュアなトランスポートはTLS [RFC8446]です。

The NETCONF Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.

NETCONF構成アクセス制御モデル(NACM)[RFC8341]は、特定のNETCONFまたはRESTCONFユーザーのアクセスを、利用可能なすべてのNETCONFまたはRESTCONFプロトコル操作およびコンテンツの事前構成済みサブセットに制限する手段を提供します。

There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive in some network environments. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. These are the subtrees and data nodes and their sensitivity/vulnerability:

このYANGモジュールには、書き込み可能/作成可能/削除可能なデータノードが多数定義されています(つまり、config true、デフォルトです)。これらのデータノードは、一部のネットワーク環境では機密と見なされる場合があります。適切な保護なしにこれらのデータノードに書き込み操作(edit-configなど)を行うと、ネットワーク操作に悪影響を与える可能性があります。これらは、サブツリーとデータノード、およびそれらの機密性/脆弱性です。

      /nd:networks/nd:network/nd:node/cl-oam:location-type/cl-oam:ipv4-
      location-type/cl-oam:test-point-ipv4-location-list/cl-oam:test-
      point-locations/
        
      /nd:networks/nd:network/nd:node/cl-oam:location-type/cl-oam:ipv6-
      location-type/cl-oam:test-point-ipv6-location-list/cl-oam:test-
      point-locations/
        
      /nd:networks/nd:network/nd:node/cl-oam:location-type/cl-oam:mac-
      location-type/cl-oam:test-point-mac-address-location-list/cl-
      oam:test-point-locations/
        
      /nd:networks/nd:network/nd:node/cl-oam:location-type/cl-oam:group-
      as-number-location-type/cl-oam:test-point-as-number-location-list/
      cl-oam:test-point-locations/
        
      /nd:networks/nd:network/nd:node/cl-oam:location-type/cl-oam:group-
      router-id-location-type/cl-oam:test-point-system-info-location-
      list/cl-oam:test-point-locations/
        

Unauthorized access to any of these lists can adversely affect OAM management system handling of end-to-end OAM and coordination of OAM within underlying network layers. This may lead to inconsistent configuration, reporting, and presentation for the OAM mechanisms used to manage the network.

これらのリストへの不正アクセスは、OAM管理システムによるエンドツーエンドOAMの処理と、基盤となるネットワークレイヤー内のOAMの調整に悪影響を及ぼす可能性があります。これにより、ネットワークの管理に使用されるOAMメカニズムの構成、レポート、および表示に一貫性がなくなる可能性があります。

Some of the readable data nodes in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes. These are the subtrees and data nodes and their sensitivity/vulnerability:

このYANGモジュールの一部の読み取り可能なデータノードは、一部のネットワーク環境では機密または脆弱であると見なされる場合があります。したがって、これらのデータノードへの読み取りアクセスを制御することが重要です(たとえば、get、get-config、または通知を介して)。これらは、サブツリーとデータノード、およびそれらの機密性/脆弱性です。

      /coam:cc-session-statistics-data/cl-oam:cc-ipv4-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-count/
        
      /coam:cc-session-statistics-data/cl-oam:cc-ipv4-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-up-count/
        
      /coam:cc-session-statistics-data/cl-oam:cc-ipv4-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-down-count/
        
      /coam:cc-session-statistics-data/cl-oam:cc-ipv4-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-admin-down-
      count/
        
      /coam:cc-session-statistics-data/cl-oam:cc-ipv6-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-count/
        
      /coam:cc-session-statistics-data/cl-oam:cc-ipv6-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-up-count//
        
      /coam:cc-session-statistics-data/cl-oam:cc-ipv6-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-down-count/
        
      /coam:cc-session-statistics-data/cl-oam:cc-ipv6-sessions-
      statistics/cl-oam:cc-session-statistics/cl-oam:session-admin-down-
      count/
        
8. IANA Considerations
8. IANAに関する考慮事項

This document registers URIs in the "IETF XML Registry" [RFC3688]. Following the format in [RFC3688], the following registrations have been made.

このドキュメントは、「IETF XMLレジストリ」[RFC3688]にURIを登録します。 [RFC3688]のフォーマットに従い、以下の登録が行われました。

URI: urn:ietf:params:xml:ns:yang:ietf-lime-time-types Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace.

URI:urn:ietf:params:xml:ns:yang:ietf-lime-time-types登録者の連絡先:IESG。 XML:なし。要求されたURIはXML名前空間です。

URI: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace.

URI:urn:ietf:params:xml:ns:yang:ietf-connectionless-oam登録者の連絡先:IESG。 XML:なし。要求されたURIはXML名前空間です。

This document registers two YANG modules in the "YANG Module Names" registry [RFC6020].

このドキュメントでは、「YANG Module Names」レジストリ[RFC6020]に2つのYANGモジュールを登録しています。

      Name: ietf-lime-time-types
      Namespace: urn:ietf:params:xml:ns:yang:ietf-lime-time-types
      Prefix: lime
      Reference: RFC 8532
        
      Name: ietf-connectionless-oam
      Namespace: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam
      Prefix: cl-oam
      Reference: RFC 8532
        
9. References
9. 参考文献
9.1. Normative References
9.1. 引用文献

[RFC792] Postel, J., "Internet Control Message Protocol", RFC 792, September 1981.

[RFC792] Postel、J。、「インターネット制御メッセージプロトコル」、RFC 792、1981年9月。

[RFC1831] Srinivasan, R., "RPC: Remote Procedure Call Protocol Specification Version 2", RFC 1831, DOI 10.17487/RFC1831, August 1995, <https://www.rfc-editor.org/info/rfc1831>.

[RFC1831] Srinivasan、R。、「RPC:Remote Procedure Call Protocol Specification Version 2」、RFC 1831、DOI 10.17487 / RFC1831、1995年8月、<https://www.rfc-editor.org/info/rfc1831>。

[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-editor.org/info/rfc3688>.

[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-editor.org/info/rfc3688>.

[RFC4382] Nadeau, T., Ed. and H. van der Linde, Ed., "MPLS/BGP Layer 3 Virtual Private Network (VPN) Management Information Base", RFC 4382, DOI 10.17487/RFC4382, February 2006, <https://www.rfc-editor.org/info/rfc4382>.

[RFC4382]ナドー、T。、エド。およびH.ファンデルリンデ編、「MPLS / BGPレイヤー3仮想プライベートネットワーク(VPN)管理情報ベース」、RFC 4382、DOI 10.17487 / RFC4382、2006年2月、<https://www.rfc-editor.org / info / rfc4382>。

[RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", STD 89, RFC 4443, DOI 10.17487/RFC4443, March 2006, <https://www.rfc-editor.org/info/rfc4443>.

[RFC4443]コンタ、A。、ディアリング、S。、およびM.グプタ編、「インターネットプロトコルバージョン6(IPv6)仕様のインターネット制御メッセージプロトコル(ICMPv6)」、STD 89、RFC 4443、DOI 10.17487 / RFC4443、2006年3月、<https://www.rfc-editor.org/info/rfc4443>。

[RFC4656] Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M. Zekauskas, "A One-way Active Measurement Protocol (OWAMP)", RFC 4656, DOI 10.17487/RFC4656, September 2006, <https://www.rfc-editor.org/info/rfc4656>.

[RFC4656] Shalunov、S.、Teitelbaum、B.、Karp、A.、Boote、J。、およびM. Zekauskas、「A One-way Active Measurement Protocol(OWAMP)」、RFC 4656、DOI 10.17487 / RFC4656、9月2006、<https://www.rfc-editor.org/info/rfc4656>。

[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", RFC 5357, DOI 10.17487/RFC5357, October 2008, <https://www.rfc-editor.org/info/rfc5357>.

[RFC5357] Hedayat、K.、Krzanowski、R.、Morton、A.、Yum、K。、およびJ. Babiarz、「A Two-Way Active Measurement Protocol(TWAMP)」、RFC 5357、DOI 10.17487 / RFC5357、10月2008、<https://www.rfc-editor.org/info/rfc5357>。

[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, <https://www.rfc-editor.org/info/rfc5880>.

[RFC5880] Katz、D。およびD. Ward、「Bidirectional Forwarding Detection(BFD)」、RFC 5880、DOI 10.17487 / RFC5880、2010年6月、<https://www.rfc-editor.org/info/rfc5880>。

[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, <https://www.rfc-editor.org/info/rfc5905>.

[RFC5905] Mills、D.、Martin、J.、Ed。、Burbank、J。、およびW. Kasch、「Network Time Protocol Version 4:Protocol and Algorithms Specification」、RFC 5905、DOI 10.17487 / RFC5905、2010年6月、 <https://www.rfc-editor.org/info/rfc5905>。

[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, <https://www.rfc-editor.org/info/rfc6241>.

[RFC6241] Enns、R。、編、Bjorklund、M。、編、Schoenwaelder、J。、編、およびA. Bierman、編、「Network Configuration Protocol(NETCONF)」、RFC 6241、DOI 10.17487 / RFC6241、2011年6月、<https://www.rfc-editor.org/info/rfc6241>。

[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, <https://www.rfc-editor.org/info/rfc6242>.

[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, <https://www.rfc-editor.org/info/rfc6242>.

[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, July 2013, <https://www.rfc-editor.org/info/rfc6991>.

[RFC6991] Schoenwaelder、J。、編、「Common YANG Data Types」、RFC 6991、DOI 10.17487 / RFC6991、2013年7月、<https://www.rfc-editor.org/info/rfc6991>。

[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, <https://www.rfc-editor.org/info/rfc7950>.

[RFC7950] Bjorklund、M。、編、「The YANG 1.1 Data Modeling Language」、RFC 7950、DOI 10.17487 / RFC7950、2016年8月、<https://www.rfc-editor.org/info/rfc7950>。

[RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., Aldrin, S., and M. Chen, "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures", RFC 8029, DOI 10.17487/RFC8029, March 2017, <https://www.rfc-editor.org/info/rfc8029>.

[RFC8029] Kompella、K.、Swallow、G.、Pignataro、C.、Ed。、Kumar、N.、Aldrin、S.、and M. Chen、 "Detecting Multiprotocol Label Switched(MPLS)Data-Plane Failures、" RFC 8029、DOI 10.17487 / RFC8029、2017年3月、<https://www.rfc-editor.org/info/rfc8029>。

[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, <https://www.rfc-editor.org/info/rfc8040>.

[RFC8040] Bierman、A.、Bjorklund、M。、およびK. Watsen、「RESTCONFプロトコル」、RFC 8040、DOI 10.17487 / RFC8040、2017年1月、<https://www.rfc-editor.org/info/rfc8040 >。

[RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, "Common YANG Data Types for the Routing Area", RFC 8294, DOI 10.17487/RFC8294, December 2017, <https://www.rfc-editor.org/info/rfc8294>.

[RFC8294] Liu、X.、Qu、Y.、Lindem、A.、Hopps、C。、およびL. Berger、「ルーティングエリアの一般的なYANGデータタイプ」、RFC 8294、DOI 10.17487 / RFC8294、2017年12月、 <https://www.rfc-editor.org/info/rfc8294>。

[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018, <https://www.rfc-editor.org/info/rfc8341>.

[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018, <https://www.rfc-editor.org/info/rfc8341>.

[RFC8343] Bjorklund, M., "A YANG Data Model for Interface Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, <https://www.rfc-editor.org/info/rfc8343>.

[RFC8343] Bjorklund、M。、「A YANG Data Model for Interface Management」、RFC 8343、DOI 10.17487 / RFC8343、2018年3月、<https://www.rfc-editor.org/info/rfc8343>。

[RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan, H., and X. Liu, "A YANG Data Model for Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 2018, <https://www.rfc-editor.org/info/rfc8345>.

[RFC8345] Clemm、A.、Medved、J.、Varga、R.、Bahadur、N.、Ananthakrishnan、H。、およびX. Liu、「ネットワークトポロジのYANGデータモデル」、RFC 8345、DOI 10.17487 / RFC8345 、2018年3月、<https://www.rfc-editor.org/info/rfc8345>。

[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, <https://www.rfc-editor.org/info/rfc8446>.

[RFC8446] Rescorla、E。、「The Transport Layer Security(TLS)Protocol Version 1.3」、RFC 8446、DOI 10.17487 / RFC8446、2018年8月、<https://www.rfc-editor.org/info/rfc8446>。

[RFC8529] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. Liu, "YANG Model for Network Instances", RFC 8529, DOI 10.17487/RFC8529, March 2019, <https://www.rfc-editor.org/info/rfc8529>.

[RFC8529] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. Liu, "YANG Model for Network Instances", RFC 8529, DOI 10.17487/RFC8529, March 2019, <https://www.rfc-editor.org/info/rfc8529>.

9.2. Informative References
9.2. 参考引用

[BFD-YANG] Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and G. Mirsky, "YANG Data Model for Bidirectional Forwarding Detection (BFD)", Work in Progress, draft-ietf-bfd-yang-17, August 2018.

[BFD-YANG] Rahman、R.、Zheng、L.、Jethanandani、M.、Networks、J.、and G. Mirsky、 "YANG Data Model for Bidirectional Forwarding Detection(BFD)"、Work in Progress、draft-ietf -bfd-yang-17、2018年8月。

[G.800] "Unified functional architecture of transport networks", ITU-T Recommendation G.800, 2016.

[G.800]「トランスポートネットワークの統合機能アーキテクチャ」、ITU-T勧告G.800、2016。

[G.8013] "OAM functions and mechanisms for Ethernet based networks", ITU-T Recommendation G.8013/Y.1731, 2013.

[G.8013]「イーサネットベースのネットワークのOAM機能とメカニズム」、ITU-T勧告G.8013 / Y.1731、2013。

[IEEE.1588v1] "IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems Version 1", IEEE Std 1588, 2002.

[IEEE.1588v1]「ネットワーク化された測定および制御システムバージョン1の高精度クロック同期プロトコルのIEEE標準」、IEEE Std 1588、2002年。

[IEEE.1588v2] "IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems Version 2", IEEE Std 1588, 2008.

[IEEE.1588v2]「ネットワーク化された測定および制御システムバージョン2の高精度クロック同期プロトコルのIEEE標準」、IEEE Std 1588、2008。

[LSP-PING-YANG] Zheng, L., Zheng, G., Mirsky, G., Rahman, R., and F. Iqbal, "YANG Data Model for LSP-Ping", Work in Progress, draft-zheng-mpls-lsp-ping-yang-cfg-10, January 2019.

[LSP-PING-YANG] Zheng、L.、Zheng、G.、Mirsky、G.、Rahman、R.、F。Iqbal、「LSP-PingのYANGデータモデル」、Work in Progress、draft-zheng- mpls-lsp-ping-yang-cfg-10、2019年1月。

[RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field", RFC 5462, DOI 10.17487/RFC5462, February 2009, <https://www.rfc-editor.org/info/rfc5462>.

[RFC5462] Andersson、L。およびR. Asati、「Multiprotocol Label Switching(MPLS)Label Stack Entry: "EXP」Field Renamed to" Traffic Class "Field」、RFC 5462、DOI 10.17487 / RFC5462、2009年2月、<https: //www.rfc-editor.org/info/rfc5462>。

[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-editor.org/info/rfc6020>.

[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-editor.org/info/rfc6020>.

[RFC6136] Sajassi, A., Ed. and D. Mohan, Ed., "Layer 2 Virtual Private Network (L2VPN) Operations, Administration, and Maintenance (OAM) Requirements and Framework", RFC 6136, DOI 10.17487/RFC6136, March 2011, <https://www.rfc-editor.org/info/rfc6136>.

[RFC6136] Sajassi、A.、Ed。およびモハン編、「レイヤー2仮想プライベートネットワーク(L2VPN)の運用、管理、保守(OAM)の要件とフレームワーク」、RFC 6136、DOI 10.17487 / RFC6136、2011年3月、<https://www.rfc -editor.org/info/rfc6136>。

[RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y. Weingarten, "An Overview of Operations, Administration, and Maintenance (OAM) Tools", RFC 7276, DOI 10.17487/RFC7276, June 2014, <https://www.rfc-editor.org/info/rfc7276>.

[RFC7276]ミズラヒ、T。、スプレッチャー、N。、ベラガンバ、E。、およびY.ウェインガルテン、「運用、管理、および保守(OAM)ツールの概要」、RFC 7276、DOI 10.17487 / RFC7276、2014年6月、 <https://www.rfc-editor.org/info/rfc7276>。

[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, <https://www.rfc-editor.org/info/rfc8340>.

[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, <https://www.rfc-editor.org/info/rfc8340>.

[RFC8528] Bjorklund, M. and L. Lhotka, "YANG Schema Mount", RFC 8528, DOI 10.17487/RFC8528, March 2019, <https://www.rfc-editor.org/info/rfc8528>.

[RFC8528] Bjorklund、M。、およびL. Lhotka、「YANG Schema Mount」、RFC 8528、DOI 10.17487 / RFC8528、2019年3月、<https://www.rfc-editor.org/info/rfc8528>。

[RFC8531] Kumar, D., Wu, Q., and M. Wang, "Generic YANG Data Model for Connection-Oriented Operations, Administration, and Maintenance (OAM) Protocols", RFC 8531, DOI 10.17487/RFC8531, April 2019, <https://www.rfc-editor.org/info/rfc8531>.

[RFC8531] Kumar、D.、Wu、Q。、およびM. Wang、「接続指向の運用、管理、および保守(OAM)プロトコルの汎用YANGデータモデル」、RFC 8531、DOI 10.17487 / RFC8531、2019年4月、 <https://www.rfc-editor.org/info/rfc8531>。

[RFC8533] Kumar, D., Wang, M., Wu, Q., Ed., Rahman, R., and S. Raghavan, " A YANG Data Model for Retrieval Methods for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications", RFC 8533, DOI 10.17487/RFC8533, April 2019.

[RFC8533] Kumar, D., Wang, M., Wu, Q., Ed., Rahman, R., and S. Raghavan, " A YANG Data Model for Retrieval Methods for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications", RFC 8533, DOI 10.17487/RFC8533, April 2019.

Acknowledgments

Acknowledgments

The authors of this document would like to thank Elwyn Davies, Alia Atlas, Brian E. Carpenter, Greg Mirsky, Adam Roach, Alissa Cooper, Eric Rescorla, Ben Campbell, Benoit Claise, Kathleen Moriarty, Carlos Pignataro, and others for their substantive review and comments, and proposals to stabilize and improve the document.

このドキュメントの執筆者は、Elwyn Davies、Alia Atlas、Brian E. Carpenter、Greg Mirsky、Adam Roach、Alissa Cooper、Eric Rescorla、Ben Campbell、Benoit Claise、Kathleen Moriarty、Carlos Pignataro、その他の実質的なレビューに感謝します。とコメント、およびドキュメントを安定させて改善するための提案。

Authors' Addresses

著者のアドレス

Deepak Kumar CISCO Systems 510 McCarthy Blvd Milpitas, CA 95035 United States of America

Deepak Kumar CISCO Systems 510 McCarthy Blvd Milpitas、CA 95035アメリカ合衆国

   Email: dekumar@cisco.com
        

Michael Wang Huawei Technologies, Co., Ltd 101 Software Avenue, Yuhua District Nanjing 210012 China

Michael Wang hu Aはテクノロジー株式会社です101ソフトウェアアベニュー、Y Uは地区NaN京210012中国を描画します

   Email: wangzitao@huawei.com
        

Qin Wu (editor) Huawei 101 Software Avenue, Yuhua District Nanjing, Jiangsu 210012 China

Q in W U(editor)hu A is 101 software avenue、Y U draw draws District NaN京、Jiangsu 210012 China

   Email: bill.wu@huawei.com
        

Reshad Rahman Cisco Systems 2000 Innovation Drive Kanata, Ontario K2K 3E8 Canada

Reshad Rahman Cisco Systems 2000 Innovation Drive Kanata, Ontario K2K 3E8 Canada

   Email: rrahman@cisco.com
        

Srihari Raghavan Cisco Systems Tril Infopark Sez, Ramanujan IT City Neville Block, 2nd floor, Old Mahabalipuram Road Chennai, Tamil Nadu 600113 India

Srihari Raghavan Cisco Systems Tril Infopark Sez, Ramanujan IT City Neville Block, 2nd floor, Old Mahabalipuram Road Chennai, Tamil Nadu 600113 India

   Email: srihari@cisco.com