idnits 2.17.1 draft-zhang-mpls-tp-yang-oam-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 200 has weird spacing: '...peer-ip ine...' == Line 202 has weird spacing: '...vc-type vc-...' == Line 231 has weird spacing: '...peer-ip ine...' == Line 238 has weird spacing: '...-lsr-id ine...' == Line 562 has weird spacing: '...peer-ip ine...' == (3 more instances...) == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (October 29, 2017) is 2343 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC5921' is mentioned on line 2310, but not defined ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) Summary: 1 error (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group L. Zhang 3 Internet-Draft L. Zheng 4 Intended status: Standards Track Huawei Technologies 5 Expires: May 2, 2018 S. Aldrin 6 Google 7 G. Mirsky 8 ZTE Corp. 9 October 29, 2017 11 YANG Data Model for MPLS-TP Operations, Administration, and Maintenance 12 (OAM) 13 draft-zhang-mpls-tp-yang-oam-05 15 Abstract 17 The Transport Profile of Multiprotocol Label Switching (MPLS-TP), 18 specified in RFC 5921, is a packet-based transport technology based 19 on the MPLS Traffic Engineering (MPLS-TE) and pseudowire (PW) data- 20 plane architectures. A comprehensive set of Operations, 21 Administration, and Maintenance (OAM) procedures that fulfill the 22 MPLS-TP OAM requirements for fault, performance, and protection- 23 switching management had been defined. YANG, defined in RFC 6020 and 24 RFC 7950, is a data model definition language that was introduced to 25 define the content of a conceptual data stores that allows networked 26 devices to be managed using NETCONF, as specified in RFC 6241. This 27 document presents the YANG Data model for MPLS-TP OAM, including the 28 basic functions of Fault Management and Performance Monitoring. 30 Status of This Memo 32 This Internet-Draft is submitted in full conformance with the 33 provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF). Note that other groups may also distribute 37 working documents as Internet-Drafts. The list of current Internet- 38 Drafts is at https://datatracker.ietf.org/drafts/current/. 40 Internet-Drafts are draft documents valid for a maximum of six months 41 and may be updated, replaced, or obsoleted by other documents at any 42 time. It is inappropriate to use Internet-Drafts as reference 43 material or to cite them other than as "work in progress." 45 This Internet-Draft will expire on May 2, 2018. 47 Copyright Notice 49 Copyright (c) 2017 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (https://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 65 2. Conventions used in this document . . . . . . . . . . . . . . 3 66 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 67 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 68 3. Design of the Data Model . . . . . . . . . . . . . . . . . . 4 69 3.1. Maintenance Entity Group (MEG) Configuration . . . . . . 4 70 3.2. Maintenance Entities (MEs) Configuration . . . . . . . . 4 71 3.3. MPLS-TP OAM Fault Management And Performance Moinitoring 72 Configuration . . . . . . . . . . . . . . . . . . . . . . 6 73 3.4. Display of ME Status . . . . . . . . . . . . . . . . . . 7 74 3.5. Display of Detect Result . . . . . . . . . . . . . . . . 10 75 4. MPLS-TP OAM Data Hierarchy . . . . . . . . . . . . . . . . . 12 76 5. Interaction with other MPLS OAM Tools Models . . . . . . . . 17 77 6. MPLS-TP OAM YANG module . . . . . . . . . . . . . . . . . . . 17 78 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 47 79 8. Security Considerations . . . . . . . . . . . . . . . . . . . 47 80 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48 81 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 48 82 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 48 83 11.1. Normative References . . . . . . . . . . . . . . . . . . 48 84 11.2. Infomative References . . . . . . . . . . . . . . . . . 49 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 49 87 1. Introduction 89 The Transport Profile of Multiprotocol Label Switching (MPLS-TP) 90 [RFC5921] is a packet-based transport technology based on the MPLS 91 Traffic Engineering (MPLS-TE) and pseudowire (PW) data-plane 92 architectures. A comprehensive set of Operations, Administration, 93 and Maintenance (OAM) procedures that fulfill the MPLS-TP OAM 94 requirements for fault, performance, and protection-switching 95 management had been defined. YANG [RFC6020] is a data definition 96 language that was introduced to define the contents of a conceptual 97 data store that allows networked devices to be managed using NETCONF 98 [RFC6241]. This document presents the YANG Data model for MPLS-TP 99 OAM, including the basic functions of Fault Management and 100 Performance Monitoring. 102 The rest of this document is organized as follows. Section 2 103 presents the conventions used in this document. Section 3 provides 104 the design of the MPLS-TP OAM data model in details. Section 4 105 presents the complete data hierarchy of LSP-Ping YANG model. 106 Section 5 discusses the interaction between MPLS-TP OAM data model 107 and other MPLS tools data models. Section 6 specifies the YANG 108 module and section 7 lists examples which conform to the YANG module 109 specified in this document. Finally, security considerations are 110 discussed in Section 8. 112 2. Conventions used in this document 114 2.1. Terminology 116 CC - Continuity Check 118 CV - Conectivity Verification 120 LM - Loss Measurement 122 ME - Maintenance Entity 124 MEG - Maintenance Entity Group 126 MEP - Maintenance Entity Group End Point 128 MIP - Maintenance Entity Group Intermediate Point 130 PM - Performance Monitoring 132 PW - Pseudowire 134 DM - Delay Measurement 136 AIS - Alarm Indication Signal 138 LKR - Lock Report 140 2.2. Requirements Language 142 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 143 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 144 "OPTIONAL" in this document are to be interpreted as described in BCP 145 14 [RFC2119] [RFC8174] when, and only when, they appear in all 146 capitals, as shown here. 148 3. Design of the Data Model 150 This YANG data model is defined to be used to configure and manage 151 MPLS-TP OAM. Under the top level container mplstp-oam is the 152 container meg, which contains the configuration and detect result 153 information of multi instances of Maintenance Entity Group (MEG). 154 Under meg container, configuration of each Maintenance Entity (ME) 155 type are defined in corresponding list for a particular MEG. 156 Different OAM function cofiguration are also defined for each MEG. 157 The ME status and detect result information is also shown on per MEG 158 basis. In order to facilitate zero-touch experience, this document 159 defines a default value of the related detect parameters, such as 160 detection intervals, the exp of OAM packet and OAM packet size. 162 3.1. Maintenance Entity Group (MEG) Configuration 164 The container "meg" holds the configuration and detect result 165 information of multi instances of Maintenance Entity Group (MEG). 166 Each MEG is indexed by meg-name. The data hierarchy for MEG 167 configuration is presented below: 169 module: ietf-mplstpoam 170 +--rw mplstp-oam 171 +--rw ais-enable? enable 172 +--rw meg* [meg-name] 173 +--rw meg-name string 174 +--rw me-type? me-type 175 +--rw meg-id? string 176 +--rw meg-level? uint8 177 +--rw oam-active-state? active-type 179 3.2. Maintenance Entities (MEs) Configuration 181 Within a given Maintenance Entity Group there could be one or more 182 type of Maintenance Entity (ME), cofiguration of different types of 183 MEs are represented in its corresponding list and indexed by its own 184 key.The data hierarchy for ME configuration is presented below: 186 module: ietf-mplstpoam 187 +--rw mplstp-oam 188 +--rw ais-enable? enable 189 +--rw meg* [meg-name] 190 +--rw meg-name string 191 +--rw me-type? me-type 192 +--rw meg-id? string 193 +--rw meg-level? uint8 194 +--rw oam-active-state? active-type 195 +--rw pw* [local-peer-ip local-vc-id local-vc-type 196 remote-peer-ip remote-vc-id remote-vc-type] 197 | +--rw local-peer-ip inet:ip-address 198 | +--rw local-vc-id uint32 199 | +--rw local-vc-type vc-type 200 | +--rw remote-peer-ip inet:ip-address 201 | +--rw remote-vc-id uint32 202 | +--rw remote-vc-type vc-type 203 | +--rw mep-id? uint16 204 | +--rw remote-mep-id? uint16 205 | +--rw vll-ttl? uint8 206 | +--rw gal-enable? enable 207 | +--rw gal-mode? gal-mode 208 +--rw lsp* [tunnel-name tunnel-id ingress-lsr-id] 209 | +--rw tunnel-name string 210 | +--rw tunnel-id uint32 211 | +--rw ingress-lsr-id inet:ip-address 212 | +--rw mep-id? uint16 213 | +--rw remote-mep-id? uint16 214 | +--rw reverse-tunnel-name string 215 | +--rw reverse-tunnel-id? uint16 216 | +--rw reverse-ingress-lsr-id? inet:ip-address 217 | +--rw tunnel-description? string 218 | +--rw tunnel-type? tunnel-type 219 | +--rw tunnel-direction? tunnel-direction-type 220 +--rw section* [section-id] 221 | +--rw section-id uint64 222 | +--rw if-name? string 223 | +--rw peer-ip inet:ip-address 224 | +--rw peer-lsr-id? inet:ip-address 225 | +--rw mep-id? uint16 226 | +--rw remote-mep-id? uint16 227 +--rw pw-spme* [local-peer-ip local-vc-id switch-peer-ip 228 switch-vc-id vc-type instance-name] 229 | +--rw local-peer-ip inet:ip-address 230 | +--rw local-vc-id uint32 231 | +--rw switch-peer-ip inet:ip-address 232 | +--rw switch-vc-id uint32 233 | +--rw vc-type vc-type 234 | +--rw instance-name string 235 +--rw lsp-spme* [tunnel-id local-lsr-id remote-lsr-id] 236 | +--rw tunnel-id uint32 237 | +--rw local-lsr-id inet:ip-address 238 | +--rw remote-lsr-id inet:ip-address 240 3.3. MPLS-TP OAM Fault Management And Performance Moinitoring 241 Configuration 243 Different OAM function cofiguration are also defined for each MEG. 244 The data hierarchy for OAM fuction configuration is presented below: 246 module: ietf-mplstpoam 247 +--rw mplstp-oam 248 +--rw ais-enable? enable 249 +--rw meg* [meg-name] 250 +--rw meg-name string 251 +--rw me-type? me-type 252 +--rw meg-id? string 253 +--rw meg-level? uint8 254 +--rw oam-active-state? active-type 255 +--rw pw* [local-peer-ip local-vc-id local-vc-type 256 remote-peer-ip remote-vc-id remote-vc-type] 257 ... 258 +--rw lsp* [tunnel-name tunnel-id ingress-lsr-id] 259 ... 260 +--rw section* [section-id] 261 | +--rw section-id uint64 262 | +--rw if-name? string 263 | +--rw peer-ip inet:ip-address 264 | +--rw peer-lsr-id? inet:ip-address 265 | +--rw mep-id? uint16 266 | +--rw remote-mep-id? uint16 267 +--rw pw-spme* [local-peer-ip local-vc-id switch-peer-ip 268 switch-vc-id vc-type instance-name] 269 ... 270 +--rw lsp-spme* [tunnel-id local-lsr-id remote-lsr-id] 271 ... 272 +--rw cc 273 | +--rw cc-session-mode? cc-session-mode 274 | +--rw cc-authentication-enable? enable 275 | +--rw cc-exp? uint8 276 | +--rw cc-transmit-interval? cc-interval 277 | +--rw cc-recieve-interval? cc-interval 278 | +--rw cc-detect-multiplier? cc-detect-multiplier 279 | +--rw cc-enable? enable 280 +--rw cv 281 | +--rw cv-session-mode? cc-session-mode 282 | +--rw cv-authentication-enable? enable 283 | +--rw cv-exp? uint8 284 | +--rw cv-interval? cv-interval 285 | +--rw cv-detect-multiplier? cv-detect-multiplier 286 | +--rw cv-enable? enable 287 +--rw ais 288 | +--rw ais-exp? uint8 289 | +--rw ais-interval? ais-interval 290 +--rw lkr 291 | +--rw lkr-exp? uint8 292 | +--rw lkr-interval? lkr-interval 293 | +--rw lkr-enable? enable 294 +--rw one-way-dm-send 295 | +--rw one-dm-send-enable? enable 296 | +--rw one-dm-interval? dm-interval 297 | +--rw one-dm-exp? uint8 298 | +--rw one-dm-packet-size? uint16 299 | +--rw one-dm-pad-value? dm-padding-value 300 +--rw one-way-dm-rcv 301 | +--rw onr-dm-rcv-enable? enable 302 | +--rw one-dm-rcv-enable-type? one-way-rcv-type 303 +--rw two-way-dm-send 304 | +--rw two-dm-send-enable? enable 305 | +--rw two-dm-interval? dm-interval 306 | +--rw two-dm-exp? uint8 307 | +--rw two-dm-packet-size? uint16 308 | +--rw two-dm-pad-value? dm-padding-value 309 | +--rw two-dm-time-stamp? enable 310 +--rw two-way-dm-rcv 311 | +--rw two-dm-rcv-enable? enable 312 +--rw single-lm-send 313 | +--rw slm-send-enable? enable 314 | +--rw slm-interval? lm-interval 315 | +--rw slm-exp? uint8 316 +--rw single-lm-rcv 317 | +--rw slm-rcv-enable? enable 318 +--rw dual-lm 319 | +--rw dlm-enable? enable 321 3.4. Display of ME Status 323 The data hierarchy for display of ME status is presented below: 325 module: ietf-mplstpoam 326 +--rw mplstp-oam 327 +--rw ais-enable? enable 328 +--rw meg* [meg-name] 329 +--rw meg-name string 330 +--rw me-type? me-type 331 +--rw meg-id? string 332 +--rw meg-level? uint8 333 +--rw oam-active-state? active-type 334 +--rw pw* [local-peer-ip local-vc-id local-vc-type 335 remote-peer-ip remote-vc-id remote-vc-type] 336 ... 337 +--rw lsp* [tunnel-name tunnel-id ingress-lsr-id] 338 ... 339 +--rw section* [section-id] 340 ... 341 +--rw pw-spme* [local-peer-ip local-vc-id switch-peer-ip 342 switch-vc-id vc-type instance-name] 343 ... 344 +--rw lsp-spme* [tunnel-id local-lsr-id remote-lsr-id] 345 ... 346 +--rw cc 347 ... 348 +--rw cv 349 ... 350 +--rw ais 351 ... 352 +--rw lkr 353 ... 354 +--rw one-way-dm-send 355 ... 356 +--rw one-way-dm-rcv 357 ... 358 +--rw two-way-dm-send 359 ... 360 +--rw two-way-dm-rcv 361 ... 362 +--rw single-lm-send 363 ... 364 +--rw single-lm-rcv 365 ... 366 +--rw dual-lm 367 ... 368 +--ro status-info 369 | +--ro pw* 370 | | +--ro me-index? uint32 371 | | +--ro me-direction? me-direction 372 | | +--ro me-state? me-state 373 | | +--ro local-state? me-state 374 | | +--ro remote-state? me-state 375 | | +--ro alarm-indicate? string 376 | | +--ro local-defect-status? defect-status-type 377 | | +--ro local-invalid-time? uint32 378 | | +--ro local-defect-location? string 379 | | +--ro local-defect-type? defect-type 380 | | +--ro remote-defect-status? defect-status-type 381 | | +--ro remote-invalid-time? uint32 382 | | +--ro remote-defect-location? string 383 | | +--ro remote-defect-type? defect-type 384 | +--ro lsp* 385 | | +--ro me-index? uint32 386 | | +--ro me-direction? me-direction 387 | | +--ro me-state? me-state 388 | | +--ro local-state? me-state 389 | | +--ro remote-state? me-state 390 | | +--ro alarm-indicate? string 391 | | +--ro local-defect-status? defect-status-type 392 | | +--ro local-invalid-time? uint32 393 | | +--ro local-defect-location? string 394 | | +--ro local-defect-type? defect-type 395 | | +--ro remote-defect-status? defect-status-type 396 | | +--ro remote-invalid-time? uint32 397 | | +--ro remote-defect-location? string 398 | | +--ro remote-defect-type? defect-type 399 | | +--ro me-index-egress? uint32 400 | | +--ro me-direct-egress? me-direction 401 | | +--ro status-board-egress? string 402 | | +--ro state-egress? me-state 403 | | +--ro alarm-egress? string 404 | +--ro section* 405 | | +--ro me-index? uint32 406 | | +--ro me-direction? me-direction 407 | | +--ro me-state? me-state 408 | | +--ro local-state? me-state 409 | | +--ro remote-state? me-state 410 | | +--ro alarm-indicate? string 411 | | +--ro local-defect-status? defect-status-type 412 | | +--ro local-invalid-time? uint32 413 | | +--ro local-defect-location? string 414 | | +--ro local-defect-type? defect-type 415 | | +--ro remote-defect-status? defect-status-type 416 | | +--ro remote-invalid-time? uint32 417 | | +--ro remote-defect-location? string 418 | | +--ro remote-defect-type? defect-type 419 | +--ro pw-spme* 420 | | +--ro me-index? uint32 421 | | +--ro me-direction? me-direction 422 | | +--ro me-state? me-state 423 | | +--ro mip-id? uint16 424 | +--ro lsp-spme* 425 | +--ro me-index? uint32 426 | +--ro me-direction? me-direction 427 | +--ro me-state? me-state 428 | +--ro mip-id? uint16 430 3.5. Display of Detect Result 432 The data hierarchy for display of detect result is presented below: 434 module: ietf-mplstpoam 435 +--rw mplstp-oam 436 +--rw ais-enable? enable 437 +--rw meg* [meg-name] 438 +--rw meg-name string 439 +--rw me-type? me-type 440 +--rw meg-id? string 441 +--rw meg-level? uint8 442 +--rw oam-active-state? active-type 443 +--rw pw* [local-peer-ip local-vc-id local-vc-type 444 remote-peer-ip remote-vc-id remote-vc-type] 445 ... 446 +--rw lsp* [tunnel-name tunnel-id ingress-lsr-id] 447 ... 448 +--rw section* [section-id] 449 ... 450 +--rw pw-spme* [local-peer-ip local-vc-id switch-peer-ip 451 switch-vc-id vc-type instance-name] 452 ... 453 +--rw lsp-spme* [tunnel-id local-lsr-id remote-lsr-id] 454 ... 455 +--rw cc 456 ... 457 +--rw cv 458 ... 459 +--rw ais 460 ... 461 +--rw lkr 462 ... 463 +--rw one-way-dm-send 464 ... 465 +--rw one-way-dm-rcv 466 ... 467 +--rw two-way-dm-send 468 ... 469 +--rw two-way-dm-rcv 470 ... 471 +--rw single-lm-send 472 ... 473 +--rw single-lm-rcv 474 ... 475 +--rw dual-lm 476 ... 477 +--ro status-info 478 ... 479 +--ro detect-result 480 +--ro one-way-dm-result 481 | +--ro send-pkt-num? uint32 482 | +--ro recv-pkt-num? uint32 483 | +--ro delay-min? uint32 484 | +--ro delay-max? uint32 485 | +--ro delay-avg? uint32 486 | +--ro jitter-min? uint32 487 | +--ro jitter-max? uint32 488 | +--ro jitter-avg? uint32 489 | +--ro one-way-dm-data 490 | +--ro one-way-dm-data* [index] 491 | +--ro index uint32 492 | +--ro one-delay? uint32 493 | +--ro one-delay-var? uint32 494 | +--ro error-info? error-info 495 +--ro one-way-send-result 496 | +--ro measure-mode? measure-mode 497 | +--ro status? statistics-status 498 +--ro two-way-dm-result 499 | +--ro measure-mode? measure-mode 500 | +--ro status? statistics-status 501 | +--ro send-pkt-num? uint32 502 | +--ro rcv-pkt-num? uint32 503 | +--ro delay-min? uint32 504 | +--ro delay-max? uint32 505 | +--ro delay-avg? uint32 506 | +--ro jitter-min? uint32 507 | +--ro jitter-max? uint32 508 | +--ro jitter-avg? uint32 509 | +--ro two-way-dm-data 510 | +--ro two-way-dm-data* [index] 511 | +--ro index uint32 512 | +--ro two-delay? uint32 513 | +--ro two-delay-var? uint32 514 | +--ro error-info? error-info 515 +--ro single-lm-result 516 | +--ro measure-mode? measure-mode 517 | +--ro status? statistics-status 518 | +--ro send-pkt-num? uint32 519 | +--ro rcv-pkt-num? uint32 520 | +--ro rmt-loss-ratio-min? uint32 521 | +--ro rmt-loss-ratio-max? uint32 522 | +--ro rmt-loss-atio-avg? uint32 523 | +--ro rmt-loss-count-min? uint32 524 | +--ro rmt-loss-count-max? uint32 525 | +--ro rmt-loss-count-avg? uint32 526 | +--ro single-lm-data 527 | +--ro single-lm-data* [index] 528 | +--ro index uint32 529 | +--ro slm-loss-lcl? uint32 530 | +--ro slm-loss-lcl-rat? string 531 | +--ro slm-loss-rmt? uint32 532 | +--ro slm-loss-rmt-rat? string 533 | +--ro error-info? error-info 534 +--ro dual-lm-data 535 +--ro dual-lm-data* [index] 536 +--ro index uint32 537 +--ro dlm-Loss-lcl? uint32 538 +--ro dlm-loss-lcl-rat? string 539 +--ro dlm-loss-rmt? uint32 540 +--ro dlm-loss-rmt-rat? string 541 +--ro error-info? error-info 543 4. MPLS-TP OAM Data Hierarchy 545 The complete data hierarchy related to the MPLS-TP OAM YANG model is 546 presented below. 548 module: ietf-mplstpoam 549 +--rw mplstp-oam 550 +--rw ais-enable? enable 551 +--rw meg* [meg-name] 552 +--rw meg-name string 553 +--rw me-type? me-type 554 +--rw meg-id? string 555 +--rw meg-level? uint8 556 +--rw oam-active-state? active-type 557 +--rw pw* [local-peer-ip local-vc-id local-vc-type 558 remote-peer-ip remote-vc-id remote-vc-type] 559 | +--rw local-peer-ip inet:ip-address 560 | +--rw local-vc-id uint32 561 | +--rw local-vc-type vc-type 562 | +--rw remote-peer-ip inet:ip-address 563 | +--rw remote-vc-id uint32 564 | +--rw remote-vc-type vc-type 565 | +--rw mep-id? uint16 566 | +--rw remote-mep-id? uint16 567 | +--rw vll-ttl? uint8 568 | +--rw gal-enable? enable 569 | +--rw gal-mode? gal-mode 570 +--rw lsp* [tunnel-name tunnel-id ingress-lsr-id] 571 | +--rw tunnel-name string 572 | +--rw tunnel-id uint32 573 | +--rw ingress-lsr-id inet:ip-address 574 | +--rw mep-id? uint16 575 | +--rw remote-mep-id? uint16 576 | +--rw reverse-tunnel-name string 577 | +--rw reverse-tunnel-id? uint16 578 | +--rw reverse-ingress-lsr-id? inet:ip-address 579 | +--rw tunnel-description? string 580 | +--rw tunnel-type? tunnel-type 581 | +--rw tunnel-direction? tunnel-direction-type 582 +--rw section* [section-id] 583 | +--rw section-id uint64 584 | +--rw if-name? string 585 | +--rw peer-ip inet:ip-address 586 | +--rw peer-lsr-id? inet:ip-address 587 | +--rw mep-id? uint16 588 | +--rw remote-mep-id? uint16 589 +--rw pw-spme* [local-peer-ip local-vc-id switch-peer-ip 590 switch-vc-id vc-type instance-name] 591 | +--rw local-peer-ip inet:ip-address 592 | +--rw local-vc-id uint32 593 | +--rw switch-peer-ip inet:ip-address 594 | +--rw switch-vc-id uint32 595 | +--rw vc-type vc-type 596 | +--rw instance-name string 597 +--rw lsp-spme* [tunnel-id local-lsr-id remote-lsr-id] 598 | +--rw tunnel-id uint32 599 | +--rw local-lsr-id inet:ip-address 600 | +--rw remote-lsr-id inet:ip-address 601 +--rw cc 602 | +--rw cc-session-mode? cc-session-mode 603 | +--rw cc-authentication-enable? enable 604 | +--rw cc-exp? uint8 605 | +--rw cc-transmit-interval? cc-interval 606 | +--rw cc-recieve-interval? cc-interval 607 | +--rw cc-detect-multiplier? cc-detect-multiplier 608 | +--rw cc-enable? enable 609 +--rw cv 610 | +--rw cv-session-mode? cc-session-mode 611 | +--rw cv-authentication-enable? enable 612 | +--rw cv-exp? uint8 613 | +--rw cv-interval? cv-interval 614 | +--rw cv-detect-multiplier? cv-detect-multiplier 615 | +--rw cv-enable? enable 616 +--rw ais 617 | +--rw ais-exp? uint8 618 | +--rw ais-interval? ais-interval 619 +--rw lkr 620 | +--rw lkr-exp? uint8 621 | +--rw lkr-interval? lkr-interval 622 | +--rw lkr-enable? enable 623 +--rw one-way-dm-send 624 | +--rw one-dm-send-enable? enable 625 | +--rw one-dm-interval? dm-interval 626 | +--rw one-dm-exp? uint8 627 | +--rw one-dm-packet-size? uint16 628 | +--rw one-dm-pad-value? dm-padding-value 629 +--rw one-way-dm-rcv 630 | +--rw onr-dm-rcv-enable? enable 631 | +--rw one-dm-rcv-enable-type? one-way-rcv-type 632 +--rw two-way-dm-send 633 | +--rw two-dm-send-enable? enable 634 | +--rw two-dm-interval? dm-interval 635 | +--rw two-dm-exp? uint8 636 | +--rw two-dm-packet-size? uint16 637 | +--rw two-dm-pad-value? dm-padding-value 638 | +--rw two-dm-time-stamp? enable 639 +--rw two-way-dm-rcv 640 | +--rw two-dm-rcv-enable? enable 641 +--rw single-lm-send 642 | +--rw slm-send-enable? enable 643 | +--rw slm-interval? lm-interval 644 | +--rw slm-exp? uint8 645 +--rw single-lm-rcv 646 | +--rw slm-rcv-enable? enable 647 +--rw dual-lm 648 | +--rw dlm-enable? enable 649 +--ro status-info 650 | +--ro pw* 651 | | +--ro me-index? uint32 652 | | +--ro me-direction? me-direction 653 | | +--ro me-state? me-state 654 | | +--ro local-state? me-state 655 | | +--ro remote-state? me-state 656 | | +--ro alarm-indicate? string 657 | | +--ro local-defect-status? defect-status-type 658 | | +--ro local-invalid-time? uint32 659 | | +--ro local-defect-location? string 660 | | +--ro local-defect-type? defect-type 661 | | +--ro remote-defect-status? defect-status-type 662 | | +--ro remote-invalid-time? uint32 663 | | +--ro remote-defect-location? string 664 | | +--ro remote-defect-type? defect-type 665 | +--ro lsp* 666 | | +--ro me-index? uint32 667 | | +--ro me-direction? me-direction 668 | | +--ro me-state? me-state 669 | | +--ro local-state? me-state 670 | | +--ro remote-state? me-state 671 | | +--ro alarm-indicate? string 672 | | +--ro local-defect-status? defect-status-type 673 | | +--ro local-invalid-time? uint32 674 | | +--ro local-defect-location? string 675 | | +--ro local-defect-type? defect-type 676 | | +--ro remote-defect-status? defect-status-type 677 | | +--ro remote-invalid-time? uint32 678 | | +--ro remote-defect-location? string 679 | | +--ro remote-defect-type? defect-type 680 | | +--ro me-index-egress? uint32 681 | | +--ro me-direct-egress? me-direction 682 | | +--ro status-board-egress? string 683 | | +--ro state-egress? me-state 684 | | +--ro alarm-egress? string 685 | +--ro section* 686 | | +--ro me-index? uint32 687 | | +--ro me-direction? me-direction 688 | | +--ro me-state? me-state 689 | | +--ro local-state? me-state 690 | | +--ro remote-state? me-state 691 | | +--ro alarm-indicate? string 692 | | +--ro local-defect-status? defect-status-type 693 | | +--ro local-invalid-time? uint32 694 | | +--ro local-defect-location? string 695 | | +--ro local-defect-type? defect-type 696 | | +--ro remote-defect-status? defect-status-type 697 | | +--ro remote-invalid-time? uint32 698 | | +--ro remote-defect-location? string 699 | | +--ro remote-defect-type? defect-type 700 | +--ro pw-spme* 701 | | +--ro me-index? uint32 702 | | +--ro me-direction? me-direction 703 | | +--ro me-state? me-state 704 | | +--ro mip-id? uint16 705 | +--ro lsp-spme* 706 | +--ro me-index? uint32 707 | +--ro me-direction? me-direction 708 | +--ro me-state? me-state 709 | +--ro mip-id? uint16 710 +--ro detect-result 711 +--ro one-way-dm-result 712 | +--ro send-pkt-num? uint32 713 | +--ro recv-pkt-num? uint32 714 | +--ro delay-min? uint32 715 | +--ro delay-max? uint32 716 | +--ro delay-avg? uint32 717 | +--ro jitter-min? uint32 718 | +--ro jitter-max? uint32 719 | +--ro jitter-avg? uint32 720 | +--ro one-way-dm-data 721 | +--ro one-way-dm-data* [index] 722 | +--ro index uint32 723 | +--ro one-delay? uint32 724 | +--ro one-delay-var? uint32 725 | +--ro error-info? error-info 726 +--ro one-way-send-result 727 | +--ro measure-mode? measure-mode 728 | +--ro status? statistics-status 729 +--ro two-way-dm-result 730 | +--ro measure-mode? measure-mode 731 | +--ro status? statistics-status 732 | +--ro send-pkt-num? uint32 733 | +--ro rcv-pkt-num? uint32 734 | +--ro delay-min? uint32 735 | +--ro delay-max? uint32 736 | +--ro delay-avg? uint32 737 | +--ro jitter-min? uint32 738 | +--ro jitter-max? uint32 739 | +--ro jitter-avg? uint32 740 | +--ro two-way-dm-data 741 | +--ro two-way-dm-data* [index] 742 | +--ro index uint32 743 | +--ro two-delay? uint32 744 | +--ro two-delay-var? uint32 745 | +--ro error-info? error-info 746 +--ro single-lm-result 747 | +--ro measure-mode? measure-mode 748 | +--ro status? statistics-status 749 | +--ro send-pkt-num? uint32 750 | +--ro rcv-pkt-num? uint32 751 | +--ro rmt-loss-ratio-min? uint32 752 | +--ro rmt-loss-ratio-max? uint32 753 | +--ro rmt-loss-atio-avg? uint32 754 | +--ro rmt-loss-count-min? uint32 755 | +--ro rmt-loss-count-max? uint32 756 | +--ro rmt-loss-count-avg? uint32 757 | +--ro single-lm-data 758 | +--ro single-lm-data* [index] 759 | +--ro index uint32 760 | +--ro slm-loss-lcl? uint32 761 | +--ro slm-loss-lcl-rat? string 762 | +--ro slm-loss-rmt? uint32 763 | +--ro slm-loss-rmt-rat? string 764 | +--ro error-info? error-info 765 +--ro dual-lm-data 766 +--ro dual-lm-data* [index] 767 +--ro index uint32 768 +--ro dlm-Loss-lcl? uint32 769 +--ro dlm-loss-lcl-rat? string 770 +--ro dlm-loss-rmt? uint32 771 +--ro dlm-loss-rmt-rat? string 772 +--ro error-info? error-info 774 5. Interaction with other MPLS OAM Tools Models 776 TBA. 778 6. MPLS-TP OAM YANG module 780 file "ietf-mplstpoam@2017-10-29.yang" 781 module ietf-mplstpoam { 782 namespace "urn:ietf:params:xml:ns:yang:ietf-mplstpoam"; 783 //namespace need to be assigned by IANA 784 prefix "mplstpoam"; 785 import ietf-inet-types { 786 prefix inet; 787 } 788 organization "IETF MPLS Working Group"; 789 contact "draft-zhang-mpls-tp-yang-oam"; 790 description "MPLS TP OAM YANG Module"; 791 revision "2017-10-29" { 792 description "05 revision"; 793 reference "draft-zhang-mpls-tp-yang-oam"; 794 } 796 typedef enable { 797 type boolean; 798 description "enable"; 799 } 800 typedef me-type { 801 type enumeration { 802 enum "none" { 803 value 0; 804 description "ME type is not assigned."; 805 } 806 enum "section" { 807 value 1; 808 description "ME type is MPLS-TP Sections (between MPLS 809 LSRs)."; 810 } 811 enum "lsp" { 812 value 2; 813 description "ME type is an end-to-end LSP (between LERs)."; 814 } 815 enum "pw" { 816 value 3; 817 description "ME type is an end-to-end Single-Segment 818 Pseudowire (SS-PW) or MS-PW (between T-PEs)."; 819 } 820 enum "lsp-spme" { 821 value 4; 822 description "ME type is an SPME (between a given pair 823 of LERs and/or LSRs along an LSP)."; 824 } 825 enum "pw-spme" { 826 value 5; 827 description "ME type is an SPME (between a given pair 828 of T-PEs and/or S-PEs along an (MS-)PW)."; 829 } 830 } 831 description "ME type"; 832 } 833 typedef cc-session-mode { 834 type enumeration { 835 enum "coordinated" { 836 value 0; 837 description "coordinated"; 838 } 839 enum "independent" { 840 value 1; 841 description "independent"; 842 } 843 } 844 description "CC session mode"; 845 } 846 typedef cc-interval { 847 type uint32{ 848 range "1..65535"; 849 } 850 description "The value rang for cc packet transmit and receive 851 interval."; 852 } 853 typedef cv-interval { 854 type uint32 { 855 range "1..65535"; 856 } 857 description "The value rang for cv packet transmit interval."; 858 } 859 typedef cc-detect-multiplier { 860 type uint8{ 861 range "1..255"; 862 } 863 description "The value rang for cv packet detect multiplier"; 864 } 865 typedef cv-detect-multiplier { 866 type uint8{ 867 range "1..255"; 868 } 869 description "The value rang for cv packet detect multiplier"; 870 } 871 typedef lkr-interval { 872 type enumeration { 873 enum "interval1000ms" { 874 value 0; 875 description "1000ms"; 876 } 877 enum "interval60000ms" { 878 value 1; 879 description "60000ms"; 880 } 881 } 882 description "lkr-interval"; 883 } 884 typedef ais-interval { 885 type enumeration { 886 enum "interval1000ms" { 887 value 0; 888 description "1000ms"; 889 } 890 enum "interval60000ms" { 891 value 1; 892 description "60000ms"; 893 } 894 } 895 description "ais-interval"; 896 } 897 typedef me-direction { 898 type enumeration { 899 enum "ingress" { 900 value 0; 901 description "The direction to the ME is ingress"; 902 } 903 enum "egress" { 904 value 1; 905 description "The direction to the ME is egress"; 906 } 907 enum "dual" { 908 value 2; 909 description "The direction to the ME is dual"; 910 } 911 enum "none" { 912 value 3; 913 description "The direction to the ME is none"; 914 } 915 } 916 description "me-direction"; 917 } 918 typedef me-state { 919 type enumeration { 920 enum "init" { 921 value 0; 922 description "The me state is init"; 923 } 924 enum "down" { 925 value 1; 926 description "The me state is down"; 927 } 928 enum "up" { 929 value 2; 930 description "The me state is up"; 931 } 932 } 933 description "me-state"; 934 } 935 typedef dm-interval { 936 type uint32 { 937 range "1..65535"; 938 } 939 description "The value rang for dm packet transmit interval"; 940 } 941 typedef dm-padding-value { 942 type enumeration { 943 enum "paddingvalue0" { 944 value 0; 945 description "0"; 946 } 947 enum "paddingvalue1" { 948 value 1; 949 description "1"; 950 } 952 } 953 description "dm-padding-value"; 954 } 955 typedef lm-interval { 956 type uint32 { 957 range "1..65535"; 958 } 959 description "The value rang for lm packet transmit interval"; 960 } 961 typedef measure-mode { 962 type enumeration { 963 enum "on-demand" { 964 value 0; 965 description "on-demand"; 966 } 967 enum "proactive" { 968 value 1; 969 description "proactive"; 970 } 971 } 972 description "measure mode"; 973 } 974 typedef vc-type { 975 type uint16 { 976 range "1..65535"; 977 } 978 description "The namespace of the vc type of pw"; 979 } 980 typedef statistics-status { 981 type enumeration { 982 enum "finished" { 983 value 0; 984 description "finished"; 985 } 986 enum "working" { 987 value 1; 988 description "working"; 989 } 990 } 991 description "statistics status"; 992 } 993 typedef error-info { 994 type enumeration { 995 enum "valid" { 996 value 0; 997 description "valid"; 998 } 999 enum "invalid-loss" { 1000 value 1; 1001 description "invalid-loss"; 1002 } 1003 enum "invalid-delay" { 1004 value 2; 1005 description "invalid-delay"; 1006 } 1007 } 1008 description "error-info"; 1009 } 1010 typedef defect-status-type { 1011 type string { 1012 length "1..8191"; 1013 } 1014 description "The namespace of defect status type"; 1015 } 1016 typedef defect-type { 1017 type string { 1018 length "1..8191"; 1019 } 1020 description "The namespace of defect type"; 1021 } 1022 typedef tunnel-type { 1023 type enumeration { 1024 enum "ingress" { 1025 value 0; 1026 description "ingress"; 1027 } 1028 enum "egress" { 1029 value 1; 1030 description "egress"; 1031 } 1032 enum "bidirectional" { 1033 value 2; 1034 description "bidirectional"; 1035 } 1036 } 1037 description "tunnel type"; 1038 } 1039 typedef tunnel-direction-type { 1040 type enumeration { 1041 enum "unidirectional" { 1042 value 0; 1043 description "unidirectional"; 1044 } 1045 enum "bidirectional" { 1046 value 1; 1047 description "bidirectional"; 1049 } 1050 } 1051 description "tunnel direction type"; 1052 } 1053 typedef active-type { 1054 type enumeration { 1055 enum "deactive" { 1056 value 0; 1057 description "deactive"; 1058 } 1059 enum "active" { 1060 value 1; 1061 description "active"; 1062 } 1063 } 1064 description "active-type"; 1065 } 1066 typedef gal-mode { 1067 type enumeration { 1068 enum "with-13" { 1069 value 0; 1070 description "Gal mode is with label 13"; 1071 } 1072 enum "without-13" { 1073 value 1; 1074 description "Gal mode is without label 13"; 1075 } 1076 } 1077 description "gal mode"; 1078 } 1079 typedef one-way-rcv-type { 1080 type enumeration { 1081 enum "on-demand" { 1082 value 0; 1083 description "The switch of receive eanble takes effect 1084 on-demand one-way delay-measure"; 1085 } 1086 enum "proactive" { 1087 value 1; 1088 description "The switch of receive eanble takes effect 1089 proactive one-way delay-measure"; 1090 } 1091 } 1092 description "one way receive type"; 1093 } 1094 grouping pw { 1095 leaf local-peer-ip { 1096 type inet:ip-address; 1097 mandatory "true"; 1098 description "This object indicates the peer IP address"; 1099 } 1100 leaf local-vc-id { 1101 type uint32 { 1102 range "1..4294967295"; 1103 } 1104 mandatory "true"; 1105 description "This object indicates the vc ID of PW 1106 type ME"; 1107 } 1108 leaf local-vc-type { 1109 type vc-type; 1110 mandatory "true"; 1111 description "This object indicates the vc type of VC 1112 type ME"; 1113 } 1114 leaf remote-peer-ip { 1115 type inet:ip-address; 1116 description "This object indicates the remote peer IP of 1117 PW type ME"; 1118 } 1119 leaf remote-vc-id { 1120 type uint32 { 1121 range "1..4294967295"; 1122 } 1123 description "This object indicates the remote vc ID of 1124 PW type ME"; 1125 } 1126 leaf remote-vc-type { 1127 type vc-type; 1128 description "This object indicates the remote vc type of 1129 PW type ME"; 1130 } 1131 description "pw"; 1132 } 1133 grouping lsp { 1134 leaf tunnel-name { 1135 type string { 1136 length "0..63"; 1137 } 1138 mandatory "true"; 1139 description "The object indicates the name of tunnel"; 1140 } 1141 leaf tunnel-id { 1142 type uint32 { 1143 range "1..65535"; 1144 } 1145 description "The object indicates the tunnel id"; 1146 } 1147 leaf ingress-lsr-id { 1148 type inet:ip-address; 1149 description "The object indicates the ingress LSR-ID"; 1150 } 1151 description "lsp"; 1152 } 1153 grouping pw-spme { 1154 leaf local-peer-ip { 1155 type inet:ip-address; 1156 mandatory "true"; 1157 description "This object indicates the peer IP address of 1158 PW type MIP"; 1159 } 1160 leaf local-vc-id { 1161 type uint32 { 1162 range "1..4294967295"; 1163 } 1164 mandatory "true"; 1165 description "This object indicates the vc ID of PW type MIP"; 1166 } 1167 leaf switch-peer-ip { 1168 type inet:ip-address; 1169 mandatory "true"; 1170 description "This object indicates the peer IP address of 1171 PW switch node"; 1172 } 1173 leaf switch-vc-id { 1174 type uint32 { 1175 range "1..4294967295"; 1176 } 1177 mandatory "true"; 1178 description "This object indicates the vc id of PW switch 1179 node"; 1180 } 1181 leaf vc-type { 1182 type vc-type; 1183 mandatory "true"; 1184 description "This object indicates the vc type of PW type MIP"; 1185 } 1186 leaf instance-name { 1187 type string { 1188 length "1..31"; 1189 } 1190 mandatory "true"; 1191 description "This object specifies the VPWS instance name"; 1192 } 1193 description "pw spme"; 1194 } 1195 grouping me-detect-status { 1196 leaf me-index { 1197 type uint32 { 1198 range "1..65535"; 1199 } 1200 description "The object indicates the index of ME"; 1201 } 1202 leaf me-direction { 1203 type me-direction; 1204 description "The object indicates the direction of ME"; 1205 } 1206 leaf me-state { 1207 type me-state; 1208 description "The object indicates the state of ME"; 1209 } 1210 leaf local-state { 1211 type me-state; 1212 description "The object indicates the local status of ME"; 1213 } 1214 leaf remote-state { 1215 type me-state; 1216 description "The object indicates the remote state of ME"; 1217 } 1218 leaf alarm-indicate { 1219 type string { 1220 length "1..26"; 1221 } 1222 description "The object indicates the alarm of ME"; 1223 } 1224 leaf local-defect-status { 1225 type defect-status-type; 1226 default "init"; 1227 description "This object indicates the local defect status"; 1228 } 1229 leaf local-invalid-time { 1230 type uint32 { 1231 range "0..4294967295"; 1232 } 1233 description "This object indicates the invalid Time of 1234 local detect"; 1235 } 1236 leaf local-defect-location { 1237 type string { 1238 length "1..32"; 1239 } 1240 description "This object indicates the local defect location"; 1242 } 1243 leaf local-defect-type { 1244 type defect-type; 1245 description "This object indicates the local defect type"; 1246 } 1247 leaf remote-defect-status { 1248 type defect-status-type; 1249 default "init"; 1250 description "This object indicates the remote defect status"; 1251 } 1252 leaf remote-invalid-time { 1253 type uint32 { 1254 range "0..4294967295"; 1255 } 1256 description "This object indicates the invalid Time of 1257 remote detect"; 1258 } 1259 leaf remote-defect-location { 1260 type string { 1261 length "1..32"; 1262 } 1263 description "This object indicates the remote defect location"; 1264 } 1265 leaf remote-defect-type { 1266 type defect-type; 1267 description "This object indicates the remote defect type"; 1268 } 1269 description "This node indicate detect status of ME"; 1270 } 1271 grouping gal-set { 1272 leaf gal-enable { 1273 type enable; 1274 default "true"; 1275 description "This object indicates the gal flag"; 1276 } 1277 leaf gal-mode { 1278 type gal-mode; 1279 description "This object indicates the gal flag"; 1280 } 1281 description "This object indicates the gal set"; 1282 } 1284 container mplstp-oam { 1285 description "Top level container."; 1286 leaf ais-enable { 1287 type enable; 1288 default "false"; 1289 description "This object indicates the global ais flag 1290 of mpls-tp oam"; 1291 } 1293 list meg { 1294 key "meg-name"; 1295 description "meg multi instances."; 1296 leaf meg-name { 1297 type string { 1298 length "1..14"; 1299 } 1300 mandatory "true"; 1301 description "The object indicates the name of MEG"; 1302 } 1303 leaf me-type { 1304 type me-type; 1305 default "none"; 1306 description "The object indicates the type of ME"; 1307 } 1308 leaf meg-id { 1309 type string { 1310 length "1..96"; 1311 } 1312 description "The object indicates the ID of MEG"; 1313 } 1314 leaf meg-level { 1315 type uint8 { 1316 range "0..7"; 1317 } 1318 default "7"; 1319 description "The object indicates the level of MEG"; 1320 } 1321 leaf oam-active-state { 1322 type active-type; 1323 default "deactive"; 1324 description "This object indicates the oam active state"; 1325 } 1327 list pw { 1328 key "local-peer-ip local-vc-id local-vc-type remote-peer-ip 1329 remote-vc-id remote-vc-type"; 1330 description "PW"; 1331 uses pw; 1332 leaf mep-id { 1333 type uint16 { 1334 range "1..8191"; 1335 } 1336 description "This object indicates the MEP Id of local ME"; 1337 } 1338 leaf remote-mep-id { 1339 type uint16 { 1340 range "1..8191"; 1341 } 1342 description "This object indicates the MEP Id of remote 1343 ME"; 1344 } 1345 leaf vll-ttl { 1346 type uint8 { 1347 range "1..255"; 1348 } 1349 description "This object indicates the VLL ttl of PW 1350 type ME"; 1351 } 1352 uses gal-set; 1353 } 1355 list lsp { 1356 key "tunnel-name tunnel-id ingress-lsr-id"; 1357 description "LSP"; 1358 uses lsp; 1359 leaf mep-id { 1360 type uint16 { 1361 range "1..8191"; 1362 } 1363 description "This object indicates the MEP Id of 1364 local ME"; 1365 } 1366 leaf remote-mep-id { 1367 type uint16 { 1368 range "1..8191"; 1369 } 1370 description "This object indicates the MEP Id of 1371 remote ME"; 1372 } 1373 leaf reverse-tunnel-name { 1374 type string { 1375 length "0..63"; 1376 } 1377 mandatory "true"; 1378 description "The object indicates the name of 1379 reverse tunnel"; 1380 } 1381 leaf reverse-tunnel-id { 1382 type uint16 { 1383 range "1..65535"; 1384 } 1385 description "The object indicates the ingress 1386 reverse tunnelId"; 1387 } 1388 leaf reverse-ingress-lsr-id { 1389 type inet:ip-address; 1390 description "The object indicates the ingress 1391 reverse LSR-ID"; 1392 } 1393 leaf tunnel-description { 1394 type string { 1395 length "1..32"; 1396 } 1397 description "The object indicates the description 1398 of tunnel"; 1399 } 1400 leaf tunnel-type { 1401 type tunnel-type; 1402 default "ingress"; 1403 description "The object indicates the type of tunnel"; 1404 } 1405 leaf tunnel-direction { 1406 type tunnel-direction-type; 1407 description "The object indicates the direction of tunnel"; 1408 } 1409 } 1411 list section { 1412 key "section-id"; 1413 description "Section"; 1414 leaf section-id { 1415 type uint64 { 1416 range "1..2147483647"; 1417 } 1418 description "This object indicates the section ID"; 1419 } 1420 leaf if-name { 1421 type string { 1422 length "1..63"; 1423 } 1424 description "The object indicates the interface name"; 1425 } 1426 leaf peer-ip { 1427 type inet:ip-address; 1428 mandatory "true"; 1429 description "This object indicates the peer IP address"; 1430 } 1431 leaf peer-lsr-id { 1432 type inet:ip-address; 1433 description "This object indicates the peer lsr ID"; 1435 } 1436 leaf mep-id { 1437 type uint16 { 1438 range "1..8191"; 1439 } 1440 description "This object indicates the MEP Id of 1441 local ME"; 1442 } 1443 leaf remote-mep-id { 1444 type uint16 { 1445 range "1..8191"; 1446 } 1447 description "This object indicates the MEP Id of 1448 remote ME"; 1449 } 1450 } 1452 list pw-spme { 1453 key "local-peer-ip local-vc-id switch-peer-ip 1454 switch-vc-id vc-type instance-name"; 1455 description "PW-SPME"; 1456 uses pw-spme; 1457 } 1459 list lsp-spme { 1460 key "tunnel-id local-lsr-id remote-lsr-id"; 1461 description "LSP-SPME"; 1462 leaf tunnel-id { 1463 type uint32 { 1464 range "1..65535"; 1465 } 1466 description "The object indicates the tunnel id"; 1467 } 1468 leaf local-lsr-id { 1469 type inet:ip-address; 1470 description "The object indicates the ingress LSR-ID"; 1471 } 1472 leaf remote-lsr-id { 1473 type inet:ip-address; 1474 description "The object indicates the egress LSR-ID"; 1475 } 1476 } 1478 container cc { 1479 description "CC"; 1480 leaf cc-session-mode { 1481 type cc-session-mode; 1482 default "coordinated"; 1483 description "This object indicates the session 1484 mode of CC"; 1485 } 1486 leaf cc-authentication-enable { 1487 type enable; 1488 default "true"; 1489 description "CC authentication enable"; 1490 } 1491 leaf cc-exp { 1492 type uint8 { 1493 range "0..7"; 1494 } 1495 default "7"; 1496 description "This object indicates the exp of CC 1497 packet which is sent in the MEG"; 1498 } 1499 leaf cc-transmit-interval { 1500 type cc-interval; 1501 default "1"; 1502 description "The interval of CC packet which is 1503 transmit in the MEG"; 1504 } 1505 leaf cc-recieve-interval { 1506 type cc-interval; 1507 default "1"; 1508 description "The interval of CC packet which is 1509 recieved in the MEG"; 1510 } 1511 leaf cc-detect-multiplier { 1512 type cc-detect-multiplier; 1513 default "3"; 1514 description "The object indicate the detect 1515 multiplier of CC packet"; 1516 } 1517 leaf cc-enable { 1518 type enable; 1519 default "true"; 1520 description "The object indicates whether CC can be 1521 sent by the MEG"; 1522 } 1523 } 1524 container cv { 1525 description "CV"; 1526 leaf cv-session-mode { 1527 type cc-session-mode; 1528 default "coordinated"; 1529 description "This object indicates the session 1530 mode of CC"; 1532 } 1533 leaf cv-authentication-enable { 1534 type enable; 1535 default "true"; 1536 description "CV authentication enable"; 1537 } 1538 leaf cv-exp { 1539 type uint8 { 1540 range "0..7"; 1541 } 1542 default "7"; 1543 description "This object indicates the exp of CV packet 1544 which is sent in the MEG"; 1545 } 1546 leaf cv-interval { 1547 type cv-interval; 1548 default "1"; 1549 description "The interval of CV packet which is sent 1550 in the MEG"; 1551 } 1552 leaf cv-detect-multiplier { 1553 type cv-detect-multiplier; 1554 default "3"; 1555 description "The object indicate the detect multiplier 1556 of CV packet"; 1557 } 1558 leaf cv-enable { 1559 type enable; 1560 default "true"; 1561 description "The object indicates whether CC can be 1562 received by the MEG"; 1563 } 1564 } 1566 container ais { 1567 description "AIS"; 1568 leaf ais-exp { 1569 type uint8 { 1570 range "0..7"; 1571 } 1572 default "7"; 1573 description "This object indicates the exp of AIS packet 1574 which is sent in the MEG"; 1575 } 1576 leaf ais-interval { 1577 type ais-interval; 1578 default "interval1000ms"; 1579 description "This object indicates the interval of AIS 1580 packet which is sent in the MEG"; 1581 } 1582 } 1584 container lkr { 1585 description "LKR"; 1586 leaf lkr-exp { 1587 type uint8 { 1588 range "0..7"; 1589 } 1590 default "7"; 1591 description "This object indicates the exp of lock report 1592 packet which is sent in the MEG"; 1593 } 1594 leaf lkr-interval { 1595 type lkr-interval; 1596 default "interval1000ms"; 1597 description "This object indicates the interval of lock 1598 report packet which is sent in the MEG"; 1599 } 1600 leaf lkr-enable { 1601 type enable; 1602 default "false"; 1603 description "The object indicates whether lock report 1604 is enabled in the MEG"; 1605 } 1606 } 1608 container one-way-dm-send { 1609 description "One way delay measurement send"; 1610 leaf one-dm-send-enable { 1611 type enable; 1612 default "false"; 1613 description "This object indicates the 1DM statistics 1614 is enabled in the MEG"; 1615 } 1616 leaf one-dm-interval { 1617 type dm-interval; 1618 default "1000"; 1619 description "This object indicates the interval of 1620 1DM statistics in the MEG"; 1622 } 1623 leaf one-dm-exp { 1624 type uint8 { 1625 range "0..7"; 1626 } 1627 default "7"; 1628 description "This object indicates the exp of 1DM 1629 packet which is sent in the MEG"; 1630 } 1631 leaf one-dm-packet-size { 1632 type uint16 { 1633 range "64..1518"; 1634 } 1635 description "This object indicates the packet size 1636 of 1DM packet which is sent in the MEG"; 1637 } 1638 leaf one-dm-pad-value { 1639 type dm-padding-value; 1640 default "paddingvalue0"; 1641 description "This object indicates the padding value 1642 of 1DM packet which is sent in the MEG"; 1643 } 1644 } 1646 container one-way-dm-rcv { 1647 description "One way delay measurement received"; 1648 leaf onr-dm-rcv-enable { 1649 type enable; 1650 default "false"; 1651 description "This object indicates the 1DM receive 1652 is enabled in the MEG"; 1653 } 1654 leaf one-dm-rcv-enable-type { 1655 type one-way-rcv-type; 1656 description "This object indicates the 1DM receive type"; 1657 } 1658 } 1660 container two-way-dm-send { 1661 description "Two way delay measurement send"; 1662 leaf two-dm-send-enable { 1663 type enable; 1664 default "false"; 1665 description "This object indicates the 2DM statistics 1666 is enabled in the MEG"; 1667 } 1668 leaf two-dm-interval { 1669 type dm-interval; 1670 default "1000"; 1671 description "This object indicates the interval of 1672 2DM statistics in the MEG"; 1673 } 1674 leaf two-dm-exp { 1675 type uint8 { 1676 range "0..7"; 1677 } 1678 default "7"; 1679 description "This object indicates the exp of 2DM 1680 packet which is sent in the MEG"; 1681 } 1682 leaf two-dm-packet-size { 1683 type uint16 { 1684 range "64..1518"; 1685 } 1686 description "This object indicates the packet size of 1687 2DM packet which is sent in the MEG"; 1688 } 1689 leaf two-dm-pad-value { 1690 type dm-padding-value; 1691 default "paddingvalue0"; 1692 description "This object indicates the padding value of 1693 2DM packet which is sent in the MEG"; 1694 } 1695 leaf two-dm-time-stamp { 1696 type enable; 1697 default "false"; 1698 description "This object indicates whether two-way delay 1699 measurement time stamp is enable in the MEG"; 1700 } 1701 } 1703 container two-way-dm-rcv { 1704 description "Two way delay measurement recieved"; 1705 leaf two-dm-rcv-enable { 1706 type enable; 1707 default "false"; 1708 description "This object indicates the 2DM receiving 1709 statistics is enabled in the MEG"; 1710 } 1711 } 1713 container single-lm-send { 1714 description "Single loss measurment send"; 1715 leaf slm-send-enable { 1716 type enable; 1717 default "false"; 1718 description "This object indicates whether slm send 1719 is enable in the MEG"; 1720 } 1721 leaf slm-interval { 1722 type lm-interval; 1723 default "1000"; 1724 description "This object indicates the interval of 1725 slm statistics in the MEG"; 1726 } 1727 leaf slm-exp { 1728 type uint8 { 1729 range "0..7"; 1730 } 1731 default "7"; 1732 description "This object indicates the exp of slm 1733 packet which is sent in the MEG"; 1734 } 1735 } 1737 container single-lm-rcv { 1738 description "Single loss measurment received"; 1739 leaf slm-rcv-enable { 1740 type enable; 1741 default "false"; 1742 description "This object indicates whether slm 1743 receive is enable in the MEG"; 1744 } 1745 } 1747 container dual-lm { 1748 description "Dual loss measurement"; 1749 leaf dlm-enable { 1750 type enable; 1751 default "false"; 1752 description "This object indicates the dual loss 1753 statistics is enabled in the MEG"; 1754 } 1755 } 1757 container status-info { 1758 config "false"; 1759 description "Status info"; 1760 list pw { 1761 uses me-detect-status; 1762 description "PW"; 1763 } 1764 list lsp { 1765 uses me-detect-status; 1766 leaf me-index-egress { 1767 type uint32 { 1768 range "1..65535"; 1769 } 1770 description "The object indicates the egress index 1771 of ME"; 1773 } 1774 leaf me-direct-egress { 1775 type me-direction; 1776 description "The object indicates the direction of 1777 egress ME"; 1778 } 1779 leaf status-board-egress { 1780 type string { 1781 length "1..19"; 1782 } 1783 description "The object indicates the selected status 1784 board of ME"; 1785 } 1786 leaf state-egress { 1787 type me-state; 1788 description "The object indicates the status of ME"; 1789 } 1790 leaf alarm-egress { 1791 type string { 1792 length "1..26"; 1793 } 1794 description "The object indicates the alarm of ME"; 1795 } 1796 description "LSP"; 1797 } 1798 list section { 1799 uses me-detect-status; 1800 description "Section"; 1801 } 1802 list pw-spme { 1803 leaf me-index { 1804 type uint32 { 1805 range "1..65535"; 1806 } 1807 description "The object indicates the index of MIP"; 1808 } 1809 leaf me-direction { 1810 type me-direction; 1811 description "The object indicates the direction of MIP"; 1812 } 1813 leaf me-state { 1814 type me-state; 1815 description "The object indicates the state of MIP"; 1816 } 1817 leaf mip-id { 1818 type uint16 { 1819 range "1..8191"; 1820 } 1821 description "The object indicates the ID of MIP"; 1822 } 1823 description "PW-SPME"; 1824 } 1825 list lsp-spme{ 1826 leaf me-index { 1827 type uint32 { 1828 range "1..65535"; 1829 } 1830 description "The object indicates the index of te MIP"; 1831 } 1832 leaf me-direction { 1833 type me-direction; 1834 description "The object indicates the direction of 1835 te MIP"; 1836 } 1837 leaf me-state { 1838 type me-state; 1839 description "The object indicates the state of te MIP"; 1840 } 1841 leaf mip-id { 1842 type uint16 { 1843 range "1..8191"; 1844 } 1845 description "The object indicates the ID of te MIP"; 1846 } 1847 description "LSP-SPME"; 1848 } 1849 } 1850 container detect-result { 1851 config "false"; 1852 description "Detect result"; 1853 container one-way-dm-result { 1854 config "false"; 1855 description "One way delay measurement result"; 1856 leaf send-pkt-num { 1857 type uint32 { 1858 range "1..4294967295"; 1859 } 1860 description "Send packet number"; 1861 } 1862 leaf recv-pkt-num { 1863 type uint32 { 1864 range "1..4294967295"; 1865 } 1866 description "Recieved packet number"; 1867 } 1868 leaf delay-min { 1869 type uint32 { 1870 range "1..4294967295"; 1871 } 1872 description "This object indicates the minimum delay 1873 of received LB packets in the MEG"; 1874 } 1875 leaf delay-max { 1876 type uint32 { 1877 range "1..4294967295"; 1878 } 1879 description "This object indicates the maximum delay 1880 of received LB packets in the MEG"; 1881 } 1882 leaf delay-avg { 1883 type uint32 { 1884 range "1..4294967295"; 1885 } 1886 description "This object indicates the average delay 1887 of received LB packets in the MEG"; 1888 } 1889 leaf jitter-min { 1890 type uint32 { 1891 range "1..4294967295"; 1892 } 1893 description "This object indicates the minimum jitter 1894 of received LB packets in the MEG"; 1895 } 1896 leaf jitter-max { 1897 type uint32 { 1898 range "1..4294967295"; 1899 } 1900 description "This object indicates the average jitter 1901 of received LB packets in the MEG"; 1902 } 1903 leaf jitter-avg { 1904 type uint32 { 1905 range "1..4294967295"; 1906 } 1907 description "This object indicates the average jitter 1908 of received LB packets in the MEG"; 1909 } 1911 container one-way-dm-data { 1912 config "false"; 1913 description "One way delay measurement data"; 1914 list one-way-dm-data { 1915 key "index"; 1916 leaf index { 1917 type uint32 { 1918 range "1..4294967295"; 1919 } 1920 description "This object indicates index of 1DM 1921 statistics record in the MEG"; 1922 } 1923 leaf one-delay { 1924 type uint32 { 1925 range "1..4294967295"; 1926 } 1927 description "This object indicates delay of 1DM 1928 statistics in the MEG"; 1929 } 1930 leaf one-delay-var { 1931 type uint32 { 1932 range "1..4294967295"; 1933 } 1934 description "This object indicates delay Variation 1935 of 1DM statistics in the MEG"; 1936 } 1937 leaf error-info { 1938 type error-info; 1939 description "This object indicates the error info 1940 of statistics record in the MEG"; 1941 } 1942 description "One way delay measurement data"; 1943 } 1944 } 1945 } 1947 container one-way-send-result { 1948 config "false"; 1949 description "One way send result"; 1950 leaf measure-mode { 1951 type measure-mode; 1952 default "on-demand"; 1953 description "The flag indicates whether the measurement 1954 is an on-demand or a continue measurement"; 1955 } 1956 leaf status { 1957 type statistics-status; 1958 default "finished"; 1959 description "The flag indicates whether the measurement 1960 is finished"; 1961 } 1962 } 1964 container two-way-dm-result { 1965 config "false"; 1966 description "Two way delay measurement result."; 1967 leaf measure-mode { 1968 type measure-mode; 1969 default "on-demand"; 1970 description "The flag indicates whether the measurement 1971 is an on-demand or a continue measurement"; 1972 } 1973 leaf status { 1974 type statistics-status; 1975 default "finished"; 1976 description "The flag indicates whether the measurement 1977 is finished"; 1978 } 1979 leaf send-pkt-num { 1980 type uint32 { 1981 range "1..4294967295"; 1982 } 1983 description "Send packet number"; 1984 } 1985 leaf rcv-pkt-num { 1986 type uint32 { 1987 range "1..4294967295"; 1988 } 1989 description "Received packet number"; 1990 } 1991 leaf delay-min { 1992 type uint32 { 1993 range "1..4294967295"; 1994 } 1995 description "This object indicates the minimum delay 1996 of received LB packets in the MEG"; 1997 } 1998 leaf delay-max { 1999 type uint32 { 2000 range "1..4294967295"; 2001 } 2002 description "This object indicates the maximum delay 2003 of received LB packets in the MEG"; 2004 } 2005 leaf delay-avg { 2006 type uint32 { 2007 range "1..4294967295"; 2008 } 2009 description "This object indicates the average delay 2010 of received LB packets in the MEG"; 2011 } 2012 leaf jitter-min { 2013 type uint32 { 2014 range "1..4294967295"; 2015 } 2016 description "This object indicates the minimum jitter 2017 of received LB packets in the MEG"; 2018 } 2019 leaf jitter-max { 2020 type uint32 { 2021 range "1..4294967295"; 2022 } 2023 description "This object indicates the average jitter 2024 of received LB packets in the MEG"; 2025 } 2026 leaf jitter-avg { 2027 type uint32 { 2028 range "1..4294967295"; 2029 } 2030 description "This object indicates the average jitter 2031 of received LB packets in the MEG"; 2032 } 2033 container two-way-dm-data { 2034 config "false"; 2035 description "Two way delay measurement data"; 2036 list two-way-dm-data { 2037 key "index"; 2038 leaf index { 2039 type uint32 { 2040 range "1..4294967295"; 2041 } 2042 description "This object indicates index of 2DM 2043 statistics record in the MEG"; 2044 } 2045 leaf two-delay { 2046 type uint32 { 2047 range "1..4294967295"; 2048 } 2049 description "This object indicates delay of 2DM 2050 statistics in the MEG"; 2051 } 2052 leaf two-delay-var { 2053 type uint32 { 2054 range "1..4294967295"; 2055 } 2056 description "This object indicates delay Variation 2057 of 2DM statistics in the MEG"; 2058 } 2059 leaf error-info { 2060 type error-info; 2061 description "This object indicates the error info 2062 of statistics record in the MEG"; 2063 } 2064 description "Two way delay measurement data"; 2065 } 2066 } 2067 } 2069 container single-lm-result { 2070 config "false"; 2071 description "Single loss measurement result."; 2072 leaf measure-mode { 2073 type measure-mode; 2074 default "on-demand"; 2075 description "The flag indicates whether the measurement 2076 is an on-demand or a continue measurement"; 2077 } 2078 leaf status { 2079 type statistics-status; 2080 default "finished"; 2081 description "The flag indicates whether the measurement 2082 is finished"; 2083 } 2084 leaf send-pkt-num { 2085 type uint32 { 2086 range "1..4294967295"; 2087 } 2088 description "Send packet number"; 2089 } 2090 leaf rcv-pkt-num { 2091 type uint32 { 2092 range "1..4294967295"; 2093 } 2094 description "Received packet number"; 2095 } 2096 leaf rmt-loss-ratio-min { 2097 type uint32 { 2098 range "1..4294967295"; 2099 } 2100 description "This object indicates the minimum loss-ratio 2101 of received LB packets in the MEG"; 2102 } 2103 leaf rmt-loss-ratio-max { 2104 type uint32 { 2105 range "1..4294967295"; 2106 } 2107 description "This object indicates the maximum loss-ratio 2108 of received LB packets in the MEG"; 2110 } 2111 leaf rmt-loss-atio-avg { 2112 type uint32 { 2113 range "1..4294967295"; 2114 } 2115 description "This object indicates the average loss-ratio 2116 of received LB packets in the MEG"; 2117 } 2118 leaf rmt-loss-count-min { 2119 type uint32 { 2120 range "1..4294967295"; 2121 } 2122 description "This object indicates the minimum packet 2123 lost of received LB packets in the MEG"; 2124 } 2125 leaf rmt-loss-count-max { 2126 type uint32 { 2127 range "1..4294967295"; 2128 } 2129 description "This object indicates the average packet 2130 lost of received LB packets in the MEG"; 2131 } 2132 leaf rmt-loss-count-avg { 2133 type uint32 { 2134 range "1..4294967295"; 2135 } 2136 description "This object indicates the average packet 2137 lost of received LB packets in the MEG"; 2138 } 2140 container single-lm-data { 2141 config "false"; 2142 description "Single loss measurement data"; 2143 list single-lm-data { 2144 key "index"; 2145 leaf index { 2146 type uint32 { 2147 range "1..4294967295"; 2148 } 2149 description "This object indicates index of slm 2150 statistics record in the MEG"; 2151 } 2152 leaf slm-loss-lcl { 2153 type uint32 { 2154 range "1..4294967295"; 2155 } 2156 description "This object indicates local packet 2157 loss of slm statistics in the MEG"; 2159 } 2160 leaf slm-loss-lcl-rat { 2161 type string { 2162 length "1..24"; 2163 } 2164 description "This object indicates local packet 2165 loss rate of slm statistics in the MEG"; 2166 } 2167 leaf slm-loss-rmt { 2168 type uint32 { 2169 range "1..4294967295"; 2170 } 2171 description "This object indicates remote packet 2172 loss of slm statistics in the MEG"; 2173 } 2174 leaf slm-loss-rmt-rat { 2175 type string { 2176 length "1..24"; 2177 } 2178 description "This object indicates remote packet 2179 loss rate of slm statistics in the MEG"; 2180 } 2181 leaf error-info { 2182 type error-info; 2183 description "This object indicates the error 2184 info of statistics record in the MEG"; 2185 } 2186 description "Single loss measurement data"; 2187 } 2188 } 2189 } 2191 container dual-lm-data { 2192 config "false"; 2193 description "Dula loss measurement data"; 2194 list dual-lm-data { 2195 key "index"; 2196 leaf index { 2197 type uint32 { 2198 range "1..4294967295"; 2199 } 2200 description "This object indicates index of dlm 2201 statistics record in the MEG"; 2202 } 2203 leaf dlm-Loss-lcl { 2204 type uint32 { 2205 range "1..4294967295"; 2206 } 2207 description "This object indicates local packet 2208 loss of dlm statistics in the MEG"; 2209 } 2210 leaf dlm-loss-lcl-rat { 2211 type string { 2212 length "1..24"; 2213 } 2214 description "This object indicates local packet 2215 loss rate of dlm statistics in the MEG"; 2216 } 2217 leaf dlm-loss-rmt { 2218 type uint32 { 2219 range "1..4294967295"; 2220 } 2221 description "This object indicates remote packet 2222 loss of dlm statistics in the MEG"; 2223 } 2224 leaf dlm-loss-rmt-rat { 2225 type string { 2226 length "1..24"; 2227 } 2228 description "This object indicates remote packet 2229 loss rate of dlm statistics in the MEG"; 2230 } 2231 leaf error-info { 2232 type error-info; 2233 description "This object indicates the error info 2234 of statistics record in the MEG"; 2235 } 2236 description "Dual loss measurement data"; 2237 } 2238 } 2239 } 2240 } 2241 } 2242 } 2243 2245 7. Examples 2247 Examples of using YANG module to configure and manage MPLS-TP OAM 2248 will be given here in the update. 2250 8. Security Considerations 2252 The configuration and state data defined in this document is designed 2253 to be accessed via the NETCONF protocol [RFC6241]. The lowest 2254 NETCONF layer is the secure transport layer and the mandatory-to- 2255 implement secure transport is SSH [RFC6242]. The authors recommend 2256 to implement the NETCONF access control model [RFC6536] to restrict 2257 access for particular NETCONF users to a pre-configured subset of all 2258 available NETCONF protocol operations and content. There are a 2259 number of config true nodes defined in the YANG module which are 2260 writable/creatable/deletable. These data nodes may be considered 2261 sensitive or vulnerable in some network environments. Write 2262 operations to these data nodes without proper protection can have a 2263 negative effect on network operations. 2265 9. IANA Considerations 2267 The IANA is requested to as assign a new namespace URI from the IETF 2268 XML registry. 2270 URI:TBA 2272 10. Acknowledgements 2274 TBD 2276 11. References 2278 11.1. Normative References 2280 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2281 Requirement Levels", BCP 14, RFC 2119, 2282 DOI 10.17487/RFC2119, March 1997, 2283 . 2285 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 2286 the Network Configuration Protocol (NETCONF)", RFC 6020, 2287 DOI 10.17487/RFC6020, October 2010, 2288 . 2290 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 2291 and A. Bierman, Ed., "Network Configuration Protocol 2292 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 2293 . 2295 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 2296 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 2297 . 2299 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 2300 Protocol (NETCONF) Access Control Model", RFC 6536, 2301 DOI 10.17487/RFC6536, March 2012, 2302 . 2304 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2305 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2306 May 2017, . 2308 11.2. Infomative References 2310 [RFC5921] Bocci, M., Ed., Bryant, S., Ed., Frost, D., Ed., Levrau, 2311 L., and L. Berger, "A Framework for MPLS in Transport 2312 Networks", RFC 5921, DOI 10.17487/RFC5921, July 2010, 2313 . 2315 Authors' Addresses 2317 Li Zhang 2318 Huawei Technologies 2319 China 2321 Email: monica.zhangli@huawei.com 2323 Lianshu Zheng 2324 Huawei Technologies 2325 China 2327 Email: vero.zheng@huawei.com 2329 Sam K. Aldrin 2330 Google 2331 USA 2333 Email: aldrin.ietf@gmail.com 2335 Greg Mirsky 2336 ZTE Corp. 2337 USA 2339 Email: gregimirsky@gmail.com