idnits 2.17.1 draft-chen-i2rs-mpls-te-info-model-00.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 : ---------------------------------------------------------------------------- ** There are 11 instances of too long lines in the document, the longest one being 24 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 139 has weird spacing: '...it path rsvp ...' == Line 177 has weird spacing: '...athName str...' == Line 256 has weird spacing: '...tIFName ifN...' == Line 647 has weird spacing: '...athName str...' == Line 698 has weird spacing: '...tIFName ifN...' -- The document date (October 27, 2014) is 3462 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) == Outdated reference: A later version (-02) exists of draft-hares-i2rs-usecase-reqs-summary-00 ** Downref: Normative reference to an Informational draft: draft-hares-i2rs-usecase-reqs-summary (ref. 'I-D.hares-i2rs-usecase-reqs-summary') ** Downref: Normative reference to an Informational draft: draft-huang-i2rs-mpls-te-usecases (ref. 'I-D.huang-i2rs-mpls-te-usecases') == Outdated reference: A later version (-15) exists of draft-ietf-i2rs-architecture-05 ** Downref: Normative reference to an Informational draft: draft-ietf-i2rs-architecture (ref. 'I-D.ietf-i2rs-architecture') Summary: 4 errors (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group X. Chen 3 Internet-Draft Z. Li 4 Intended status: Standards Track S. Hares 5 Expires: April 30, 2015 Huawei Technologies 6 R. White 7 J. Tantsura 8 Ericsson 9 October 27, 2014 11 I2RS Information Model for MPLS TE 12 draft-chen-i2rs-mpls-te-info-model-00 14 Abstract 16 Traditionally MPLS TE networks may be managed via CLI, SNMP or 17 NETCONF. There are two types of TE LSP: static CR-LSP and dynamic TE 18 LSP created by protocol of RSVP-TE. Static CR-LSP is configured with 19 forwarding items such as interface, label and bandwidth, etc. node by 20 node. Dynamic TE LSP is configured with MPLS TE parameters which are 21 used to calculate path and set up TE LSP by protocol. Both 22 configurations are complex. 24 The Interface to the Routing System's (I2RS) Programmatic interface 25 (draft-ietf-i2rs-architecture) provides an alternate way to control 26 the configuration and diagnose the operation of MPLS TE. These 27 interactions to control MPLS TE links and diagnose their operation 28 include: MPLS TE configuration, MPLS TE protection, traffic 29 switching-over, traffic detection, and fault detection. 31 This document specifies an information model for MPLS TE to 32 facilitate the definition of a standardized data model which can be 33 used to define interfaces to the MPLS TE from an entity that may even 34 be external to the routing system. Based on standardized data model 35 and interfaces, use cases of MPLS TE defined by draft-huang-i2rs- 36 mpls-te-usecases can be supported. 38 Requirements Language 40 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 41 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 42 document are to be interpreted as described in RFC 2119 [RFC2119]. 44 Status of This Memo 46 This Internet-Draft is submitted in full conformance with the 47 provisions of BCP 78 and BCP 79. 49 Internet-Drafts are working documents of the Internet Engineering 50 Task Force (IETF). Note that other groups may also distribute 51 working documents as Internet-Drafts. The list of current Internet- 52 Drafts is at http://datatracker.ietf.org/drafts/current/. 54 Internet-Drafts are draft documents valid for a maximum of six months 55 and may be updated, replaced, or obsoleted by other documents at any 56 time. It is inappropriate to use Internet-Drafts as reference 57 material or to cite them other than as "work in progress." 59 This Internet-Draft will expire on April 30, 2015. 61 Copyright Notice 63 Copyright (c) 2014 IETF Trust and the persons identified as the 64 document authors. All rights reserved. 66 This document is subject to BCP 78 and the IETF Trust's Legal 67 Provisions Relating to IETF Documents 68 (http://trustee.ietf.org/license-info) in effect on the date of 69 publication of this document. Please review these documents 70 carefully, as they describe your rights and restrictions with respect 71 to this document. Code Components extracted from this document must 72 include Simplified BSD License text as described in Section 4.e of 73 the Trust Legal Provisions and are provided without warranty as 74 described in the Simplified BSD License. 76 Table of Contents 78 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 79 2. MPLS TE Data . . . . . . . . . . . . . . . . . . . . . . . . 3 80 2.1. MPLS TE . . . . . . . . . . . . . . . . . . . . . . . . . 4 81 2.1.1. Explicit Path . . . . . . . . . . . . . . . . . . . . 4 82 2.1.2. RSVP-TE Tunnel . . . . . . . . . . . . . . . . . . . 5 83 2.1.3. RSVP-TE LSP . . . . . . . . . . . . . . . . . . . . . 9 84 2.1.4. Static Tunnel . . . . . . . . . . . . . . . . . . . . 12 85 2.1.5. Static CR-LSP . . . . . . . . . . . . . . . . . . . . 14 86 3. I2RS YANG model of MPLS TE . . . . . . . . . . . . . . . . . 15 87 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 88 5. Security Considerations . . . . . . . . . . . . . . . . . . . 18 89 6. Normative References . . . . . . . . . . . . . . . . . . . . 18 90 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 92 1. Introduction 94 Traditionally MPLS TE networks may be managed via CLI, SNMP or 95 NETCONF. There are two types of TE LSP: static CR-LSP and dynamic TE 96 LSP created by protocol of RSVP-TE. Static CR-LSP is configured with 97 forwarding items such as interface, label and bandwidth, etc. node by 98 node. Dynamic TE LSP is configured with MPLS TE parameters which are 99 used to calculate path and set up TE LSP by protocol. Both 100 configurations are complex. 102 With the expansion and complication of modern networks, the necessity 103 for rapid and dynamic control has been increased. The Interface to 104 the Routing System's (I2RS) Programmatic interface 105 ([I-D.ietf-i2rs-architecture]) provides an alternate way to control 106 the configuration and diagnose the operation of MPLS TE and achieve 107 this goal. These interactions to control MPLS TE links and diagnose 108 their operation include: MPLS TE configuration, MPLS TE protection, 109 traffic switching-over, traffic detection, and fault detection. 111 This document specifies an information model for MPLS TE to 112 facilitate the definition of a standardized data model, which can be 113 used to define interfaces to the MPLS TE from an entity that may even 114 be external to the routing system. Based on standardized data model 115 and interfaces, use cases and requirements for an interface to MPLS 116 TE defined by [I-D.huang-i2rs-mpls-te-usecases] and 117 [I-D.hares-i2rs-usecase-reqs-summary] can be supported. 119 Please note I2RS utilizes ephemeral configuration plus status 120 information. This draft proposes needs of this ephemeral 121 configuration, and the authors of this draft intend to collaborate 122 with related work on yang configuration for MPLS TE. 124 2. MPLS TE Data 126 This section describes the data involved in the MPLS TE information 127 model in detail. MPLS TE data includes information related to Static 128 CR LSPs, dynamic RSVP-TE LSPs and explicit path constraints for 129 setting up RSVP-TE LSPs. 131 A high-level architecture of the MPLS TE contents is shown as below. 133 MPLS TE 134 | 135 | 136 +---------------+---------------+------------+----------------+ 137 |0..N |0..N |0..N |0..N |0..N 138 | | | | | 139 explicit path rsvp te tunnel rsvp te lsp static tunnel static cr lsp 141 Figure 1: Architecture of MPLS TE information model 143 2.1. MPLS TE 145 MPLS TE information model includes information related to Static CR 146 LSPs, dynamic RSVP-TE LSPs and explicit path constraints for setting 147 up RSVP-TE LSPs. 149 The corresponding YANG description of the top level is below. 151 module: i2rs-mplste 152 +--rw mplsTe 153 +--rw explicitPaths 154 | ... 155 +--rw rsvpTeTunnels 156 | ... 157 +--rw rsvpTeLsps 158 | ... 159 +--rw staticTunnels 160 | ... 161 +--rw staticCRLsps 162 ... 164 2.1.1. Explicit Path 166 The I2RS client should be able to manually calculate a re- 167 optimization of the MPLS TE network and send the new constraints 168 including the calculated path to each node via the I2RS agent with an 169 indication to re-signal the TE LSPs with make-before-break method. 171 This section describes the information model related to explicit path 172 which is shown in the Yang high-level description and interprets the 173 meaning of each element. 175 +--rw explicitPaths 176 | +--rw explicitPath* [explicitPathName] 177 | +--rw explicitPathName string 178 | +--rw explicitPathHops 179 | +--rw explicitPathHop* [mplsTunnelHopIndex] 180 | +--rw mplsTunnelHopIndex uint32 181 | +--rw mplsTunnelHopIpAddr inet:ipv4-address 182 | +--rw mplsTunnelHopType? enumeration 183 | +--rw mplsTunnelHopAddrType? enumeration 185 o explicitPathName: the name of an explicit path. 187 o mplsTunnelHopIndex: hop index of an explicit path. 189 o mplsTunnelHopIpAddr: IP address of one hop. 191 o mplsTunnelHopType: an LSP route selection types based on the local 192 hop which can be strict, loose and excluding. Strict type: Only an 193 LSP route that includes the local hop can be selected. Loose type: 194 An LSP route that includes the local node is selected preferentially. 195 If the local hop does not meet path limits, it will be not included 196 in the selected route. Excluding type: Only an LSP route that does 197 not include the local hop can be selected. 199 o mplsTunnelHopAddrType: address type. 201 2.1.2. RSVP-TE Tunnel 203 When the network uses dynamic RSVP-TE tunnel the I2RS client can 204 configure the explicit path and other constraints of multiple tunnel 205 paths to the I2RS agent. And the RSVP-TE tunnel information includes 206 the state of the tunnel and the protection-related information. 208 This section describes the information model related to RSVP-TE 209 tunnel which is shown in the Yang high-level description and 210 interprets the meaning of each element. 212 +--rw rsvpTeTunnels 213 | +--rw rsvpTeTunnel* [tunnelName] 214 | +--rw tunnelName string 215 | +--ro mplsTunnelIngressLSRId? inet:ipv4-address 216 | +--rw mplsTunnelEgressLSRId? inet:ipv4-address 217 | +--rw mplsTunnelIndex? uint16 218 | +--rw mplsTunnelBandwidth? uint32 219 | +--rw mplsTeTunnelSetupPriority? uint8 220 | +--rw holdPriority? uint8 221 | +--rw hotStandbyEnable? boolean 222 | +--rw hsbRevertiveMode? enumeration 223 | +--rw hotStandbyWtr? uint32 224 | +--rw ordinaryEnable? boolean 225 | +--rw bestEffortEnable? boolean 226 | +--rw disableCspf? boolean 227 | +--rw tunnelPaths 228 | | +--rw tunnelPath* [pathType] 229 | | +--rw pathType enumeration 230 | | +--rw explicitPathName? string 231 | | +--ro includeAll? string 232 | | +--rw includeAny? string 233 | | +--rw excludeAny? string 234 | | +--rw hopLimit? uint32 235 | | +--ro lspId? uint32 236 | | +--ro lspState? enumeration 237 | | +--ro modifyLspId? uint32 238 | +--rw resvStyle? enumeration 239 | +--rw tieBreaking? enumeration 240 | +--rw pathMetricType? enumeration 241 | +--ro hotStandbySwitchReason? enumeration 242 | +--ro adminStatus? enumeration 243 | +--ro operStatus? enumeration 244 | +--ro workingLspType? enumeration 245 | +--ro workingLspId? uint32 246 | +--rw frrAttr 247 | | +--rw frrEnable? boolean 248 | | +--rw bwProtEnable? boolean 249 | | +--rw frrBandwidth? uint32 250 | | +--rw frrSetupPriority? uint32 251 | | +--rw frrHoldPriority? uint32 252 | +--rw bypassAttr 253 | +--rw bypassEnable? boolean 254 | +--rw bypassProtectIFs 255 | +--rw bypassProtectIF* [bypassProtectIFName] 256 | +--rw bypassProtectIFName ifName 258 o tunnelName: a tunnel name is unique among all tunnels established 259 on a network node. 261 o mplsTunnelIngressLSRId: ingress LSR ID of the tunnel. 263 o mplsTunnelEgressLSRId: egress LSR ID of the tunnel. 265 o mplsTunnelIndex: Session ID of a tunnel. 267 o mplsTunnelBandwidth: tunnel bandwidth. 269 o mplsTeTunnelSetupPriority: tunnel setup priority. 271 o holdPriority: tunnel holding priority. 273 o hotStandbyEnable: specifies hot standby capability for protecting 274 TE tunnels. 276 o hsbRevertiveMode: hot standby revertive mode. There are two revert 277 modes which are revertive or non-revertive. 279 o hotStandbyWtr: time of waiting recovering back to primary LSP. 280 When hot-standby backup is in use, after primary LSP restores, the 281 traffic will switch to primary LSP after waiting some time instead of 282 switching to primary LSP immediately. This is to avoid frequent 283 switching between primary LSP and backup LSP caused by network 284 flapping. 286 o ordinaryEnable: specifies tunnel ordinary backup protection 287 capability. When it is enabled and the primary LSP fails, a backup 288 LSP that meets certain limits will be set up. Then the traffic on 289 the primary LSP will be switched to the backup LSP. 291 o bestEffortEnable: specifies best-effort path protection of tunnels. 292 When best-effort path is enabled for a TE tunnel, and both active and 293 standby LSP fail, an LSP will be set up in the best effort method. 295 o disableCspf: disable CSPF of a tunnel. 297 o tunnelPath: information of tunnel paths belong to specified tunnel. 298 There can be maximum four tunnel paths with different path type 299 coexisting. Every tunnel path has independent path constraint and is 300 associated with one set up LSP. 302 o pathType: path type of a tunnel path. The available options are 303 primary(used by primary LSP), hot-standby(used by hot-standby backup 304 LSP), ordinary(used by ordinary backup LSP), and best-effort(used by 305 best-effort LSP). 307 o explicitPathName: name of an explicit path which is used for the 308 tunnel path. 310 o includeAll: Administrative group attribute of an LSP (IncludeAll). 312 o includeAny: Administrative group attribute of an LSP (IncludeAny). 314 o excludeAny: Administrative group attribute of an LSP (ExcludeAny). 316 o hopLimit: number of limit of hops in a tunnel path. 318 o lspId: LSP ID of a tunnel path. 320 o lspState: the state of LSP. 322 o modifyLspId: modified LSP ID of a tunnel path. 324 o resvStyle: Tunnel reservation styles. SE style: shared explicit 325 style; FF: fixed filter style. 327 o tieBreaking: routing rules for a tunnel with multiple equal-cost 328 routes which can be random, least fill and most fill. Random: Select 329 a link randomly. Least fill: Select the link with smallest bandwidth 330 usage. Most fill: Select the link with biggest bandwidth usage. By 331 default, routing rules are inherited from the global MPLS TE routing 332 rules. If multiple paths meet certain limits, a path will be 333 selected based on the preceding rules. 335 o pathMetricType: referenced metric type of one link for calculating 336 path when creating TE tunnels. The available options are DEFAULT, 337 IGP and TE. 339 o hotStandbySwitchReason: the reason of hot-standby LSP switch. 341 o adminStatus: administrative state of a tunnel which is UP or Down. 343 o operStatus: operation status of a tunnel which is UP or Down. 345 o workingLspType: type of working LSP which is primary, hot-standby, 346 ordinary or best-effort. 348 o workingLspId: LSP ID of working LSP. 350 o frrEnable: specifies fast reroute capability. 352 o bwProtEnable: The tunnel with fast reroute capability requests 353 bandwidth protection. 355 o frrBandwidth: FRR-protection bandwidth requested by an active 356 tunnel. 358 o frrSetupPriority: Setup priority of FRR protection tunnels. 360 o frrHoldPriority: holding priority of FRR protection tunnels. 362 o bypassEnable: bypass tunnel enabling or disabling. 364 o bypassProtectIFName: Specifies the name of an interface that can be 365 protected by a tunnel enabled with the bypass function. 367 2.1.3. RSVP-TE LSP 369 By collecting the LSP information of RSVP-TE protocol from the I2RS 370 agent I2RS client can monitor the RSVP-TE LSP. 372 This section describes the information model related to RSVP-TE LSP 373 which is shown in the Yang high-level description and interprets the 374 meaning of each element. 376 +--ro rsvpTeLsps 377 | +--ro rsvpTeLsp* [mplsTunnelIngressLSRId mplsTunnelEgressLSRId mplsSessionID mplsLSPID] 378 | +--ro mplsTunnelIngressLSRId inet:ipv4-address 379 | +--ro mplsTunnelEgressLSRId inet:ipv4-address 380 | +--ro mplsSessionID uint16 381 | +--ro mplsLSPID uint16 382 | +--ro tunnelName? string 383 | +--ro mplsTunnelRole? enumeration 384 | +--ro incomingIfName? string 385 | +--ro outgoingIfName? string 386 | +--ro mplsTunnelSetupPrio? uint8 387 | +--ro mplsTunnelHoldingPrio? uint8 388 | +--ro mplsTunnelBandwidth? uint32 389 | +--ro mplsTunnelEHops 390 | | +--ro mplsTunnelEHop* [mplsTunnelEHopIndex] 391 | | +--rw mplsTunnelEHopIndex uint32 392 | | +--rw mplsTunnelEHopIpAddr inet:ipv4-address 393 | | +--rw mplsTunnelEHopType? enumeration 394 | | +--rw mplsTunnelEHopAddrType? enumeration 395 | +--ro mplsTunnelARHops 396 | | +--ro mplsTunnelARHop* [mplsTunnelARHopIndex] 397 | | +--ro mplsTunnelARHopIndex uint32 398 | | +--ro incommingType? boolean 399 | | +--ro mplsTunnelARHopIpAddr? inet:ipv4-address 400 | | +--ro mplsTunnelARHopLabel? uint32 401 | | +--ro mplsTunnelLocalProtectInUse? boolean 402 | | +--ro mplsTunnelARHopLocalProtectType? enumeration 403 | | +--ro mplsTunnelARHopBwProt? boolean 404 | +--ro mplsTunnelHopTableName? string 405 | +--ro mplsCHops 406 | | +--ro mplsCHop* [mplsTunnelCRPathIndex mplsTunnelCRHopIndex] 407 | | +--ro mplsTunnelCRPathIndex uint32 408 | | +--ro mplsTunnelCRHopIndex uint32 409 | | +--ro mplsTunnelCRHopIsInclude? boolean 410 | | +--ro mplsTunnelCRHopType? enumeration 411 | | +--ro mplsTunnelLocalProtectInUse? boolean 412 | | +--ro mplsTunnelCRHopAddrType? enumeration 413 | | +--ro mplsTunnelCRHopIpAddr? inet:ipv4-address 414 | +--ro mplsTunnelLocalProtectEnable? boolean 415 | +--ro mplsTunnelLocalProtectInUse? enumeration 416 | +--ro bypassTunnelName? string 417 | +--ro mplsTunnelMergingPermitted? boolean 418 | +--ro mplsTunnelIncludeAllAffinity? string 419 | +--ro mplsTunnelIncludeAnyAffinity? string 420 | +--ro mplsTunnelExcludeAnyAffinity? string 421 | +--ro lspMTU? uint32 422 | +--ro mplsTunnelOperStatus? enumeration 423 | +--ro inLabel? uint32 424 | +--ro outLabel? uint32 425 | +--ro nextHop? inet:ipv4-address 426 | +--ro xcindex? uint32 428 o mplsTunnelIngressLSRId: ingress LSR ID of the tunnel. 430 o mplsTunnelEgressLSRId: egress LSR ID of the tunnel. 432 o mplsSessionID: session ID of a tunnel. 434 o mplsLSPID: LSP ID of a tunnel path. 436 o tunnelName: a tunnel name is unique among all tunnels established 437 on a network node. 439 o mplsTunnelRole: the types of the LSP nodes, including ingress, 440 transit, and egress nodes. 442 o incomingIfName: the name of incoming interface. 444 o outgoingIfName: the name of outgoing interface. 446 o mplsTunnelSetupPrio: setup priority of an LSP. 448 o mplsTunnelHoldingPrio: hold priority of an LSP. 450 o mplsTunnelBandwidth: bandwidth of a tunnel. 452 o mplsTunnelEHop: explicit path information included in Explicit 453 Route Object. 455 o mplsTunnelEHopIndex: hop index of an explicit path. 457 o mplsTunnelEHopIpAddr: IP address of one hop. 459 o mplsTunnelEHopType: an LSP route selection types based on the local 460 hop which can be strict, loose and excluding. Strict type: Only an 461 LSP route that includes the local hop can be selected. Loose type: 462 An LSP route that includes the local node is selected preferentially. 463 If the local hop does not meet path limits, it will be not included 464 in the selected route. Excluding type: Only an LSP route that does 465 not include the local hop can be selected. 467 o mplsTunnelEHopAddrType: address type. 469 o mplsTunnelARHop: actual path of an LSP. 471 o mplsTunnelARHopIndex: hop index of actual path. 473 o incommingType: specify whether the hop is an inbound interface. 475 o mplsTunnelARHopIpAddr: IP address of the actual hop. 477 o mplsTunnelARHopLabel: Label of the actual hop. 479 o mplsTunnelLocalProtectInUse: FRR protection state. 481 o mplsTunnelARHopLocalProtectType: FRR protection type. 483 o mplsTunnelARHopBwProt: FRR bandwidth protection. 485 o mplsTunnelHopTableName: explicit path name of an LSP. 487 o mplsCHop: path calculated by CSPF according to LSP constraints. 489 o mplsTunnelCRPathIndex: index of path calculated by CSPF. 491 o mplsTunnelCRHopIndex: index of hop of path calculated by CSPF. 493 o mplsTunnelCRHopIsInclude: specify if it is this hop a include hop. 495 o mplsTunnelCRHopType: hop type calculated by CSPF. The available 496 options are strict and loose. 498 o mplsTunnelLocalProtectInUse: FRR protection state. 500 o mplsTunnelCRHopAddrType: address type of hop of path calculated by 501 CSPF. The available options are IPv4 and IPv6. 503 o mplsTunnelCRHopIpAddr: IP address of hop of path calculated by 504 CSPF. 506 o mplsTunnelLocalProtectEnable: specifies the enabling or disabling 507 state of FRR for an LSP. 509 o mplsTunnelLocalProtectInUse: specifies the FRR protection state of 510 this LSP. 512 o bypassTunnelName: name of the bypass tunnel that protects the LSP. 514 o mplsTunnelMergingPermitted: specify whether the LSP permits 515 bandwidth sharing. 517 o mplsTunnelIncludeAllAffinity: specifies the Include-all 518 (administrative group attribute) of an LSP. 520 o mplsTunnelIncludeAnyAffinity: specifies the Include-any 521 (administrative group attribute) of an LSP. 523 o mplsTunnelExcludeAnyAffinity: specifies the Exclude-any 524 (administrative group attribute) of an LSP. 526 o lspMTU: specifies an LSP MTU. 528 o mplsTunnelOperStatus: operation status of an LSP. 530 o inLabel: incoming label of the transit or egress LSP. 532 o outLabel: out label of the ingress or transit LSP. 534 o nextHop: next hop address of the ingress or transit LSP. 536 o xcindex: LSP index of the LSP. 538 2.1.4. Static Tunnel 540 Network programming software managing the static CR-LSP devices may 541 incorporate an I2RS Client along with a path calculation entity, a 542 label management entity, and a bandwidth management entity. The I2RS 543 Client should be able to communicate the static configuration to the 544 network nodes, and monitor the status of the CR-LSPs. The static 545 tunnel supports primary LSP and standby LSP. 547 This section describes the information model related to information 548 of static tunnel which is shown in the Yang high-level description 549 and interprets the meaning of each element. 551 +--rw staticTunnels 552 | +--rw staticTunnel* [tunnelName] 553 | +--rw tunnelName string 554 | +--rw tunnelIngressLSRId? inet:ipv4-address 555 | +--rw tunnelEgressLSRId? inet:ipv4-address 556 | +--rw tunnelIndex? uint16 557 | +--rw tunnelBandwidth? uint32 558 | +--rw staticCRLSPs 559 | | +--rw staticCRLSP* [lspName] 560 | | +--rw lspType enumeration 561 | | +--rw lspName string 562 | | +--ro lspState enumeration 563 | +--rw revertMode? uint32 564 | +--rw wtrValue? uint32 565 | +--rw holdoffValue? uint32 567 o tunnelName: a static tunnel name is unique among all tunnels 568 established on a network node. 570 o tunnelIngressLSRId: ingress LSR ID of the static tunnel. 572 o tunnelEgressLSRId: egress LSR ID of the static tunnel. 574 o tunnelIndex: session ID of the static tunnel. 576 o tunnelBandwidth: bandwidth of the static tunnel. 578 o staticCRLSP: static CR-LSP belonging to the same static tunnel 580 o lspType: type of static CR-LSP, working LSP or protection LSP. 582 o lspName: name of static CR-LSP. 584 o lspState: state of static CR-LSP. 586 o revertMode: two modes, one is non-revertive that traffic do not 587 switch to primary LSP when primary LSP is up and the other is 588 revertive that traffic switch to primary LSP when primary LSP is up. 590 o wtrValue: wait-to-restore time of traffic switch to primary LSP 591 when primary LSP is up. 593 o holdoffValue: hold off time of traffic switch to standby LSP when 594 the primary LSP is down. 596 2.1.5. Static CR-LSP 598 The static CR-LSP includes the information configured statically of 599 the label, bandwidth, out interface etc. The LSP information 600 downloaded to i2rs agent is different according to different role. 602 This section describes the information model related to static CR-LSP 603 which is shown in the Yang high-level description and interprets the 604 meaning of each element. 606 +--rw staticCRLsps 607 | +--rw staticCRLsp* [lspName] 608 | +--rw lspName string 609 | +--rw lsrRole enumeration 610 | +--ro destinationAddress? inet:ipv4-address 611 | +--rw bandwitdh uint32 612 | +--ro incomingIfName? ifName 613 | +--rw inLabel? uint32 614 | +--rw outgoingIfName? ifName 615 | +--rw nextHop? inet:ipv4-address 616 | +--rw outLabel? uint32 617 | +--rw mtu? uint32 619 o lspName: name of static CR-LSP. 621 o lsrRole: role of LSP which is ingress, transit and egress. 623 o destinationAddress: address of destination tunnel. 625 o bandwitdh: bandwidth of the static CR-LSP. 627 o incomingIfName: name of incoming interface for transit or egress 628 LSP. 630 o inLabel: incoming label of transit or egress LSP. 632 o outgoingIfName: name of outgoing interface for ingress or transit 633 LSP. 635 o nextHop: next hop of ingress or transit LSP. 637 o outLabel: out label of ingress or transit LSP. 639 o mtu: mtu of static LSP. 641 3. I2RS YANG model of MPLS TE 643 module: i2rs-mplste 644 +--rw mplsTe 645 +--rw explicitPaths 646 | +--rw explicitPath* [explicitPathName] 647 | +--rw explicitPathName string 648 | +--rw explicitPathHops 649 | +--rw explicitPathHop* [mplsTunnelHopIndex] 650 | +--rw mplsTunnelHopIndex uint32 651 | +--rw mplsTunnelHopIpAddr inet:ipv4-address 652 | +--rw mplsTunnelHopType? enumeration 653 | +--rw mplsTunnelHopAddrType? enumeration 654 +--rw rsvpTeTunnels 655 | +--rw rsvpTeTunnel* [tunnelName] 656 | +--rw tunnelName string 657 | +--ro mplsTunnelIngressLSRId? inet:ipv4-address 658 | +--rw mplsTunnelEgressLSRId? inet:ipv4-address 659 | +--rw mplsTunnelIndex? uint16 660 | +--rw mplsTunnelBandwidth? uint32 661 | +--rw mplsTeTunnelSetupPriority? uint8 662 | +--rw holdPriority? uint8 663 | +--rw hotStandbyEnable? boolean 664 | +--rw hsbRevertiveMode? enumeration 665 | +--rw hotStandbyWtr? uint32 666 | +--rw ordinaryEnable? boolean 667 | +--rw bestEffortEnable? boolean 668 | +--rw disableCspf? boolean 669 | +--rw tunnelPaths 670 | | +--rw tunnelPath* [pathType] 671 | | +--rw pathType enumeration 672 | | +--rw explicitPathName? string 673 | | +--ro includeAll? string 674 | | +--rw includeAny? string 675 | | +--rw excludeAny? string 676 | | +--rw hopLimit? uint32 677 | | +--ro lspId? uint32 678 | | +--ro lspState? enumeration 679 | | +--ro modifyLspId? uint32 680 | +--rw resvStyle? enumeration 681 | +--rw tieBreaking? enumeration 682 | +--rw pathMetricType? enumeration 683 | +--ro hotStandbySwitchReason? enumeration 684 | +--ro adminStatus? enumeration 685 | +--ro operStatus? enumeration 686 | +--ro workingLspType? enumeration 687 | +--ro workingLspId? uint32 688 | +--rw frrAttr 689 | | +--rw frrEnable? boolean 690 | | +--rw bwProtEnable? boolean 691 | | +--rw frrBandwidth? uint32 692 | | +--rw frrSetupPriority? uint32 693 | | +--rw frrHoldPriority? uint32 694 | +--rw bypassAttr 695 | +--rw bypassEnable? boolean 696 | +--rw bypassProtectIFs 697 | +--rw bypassProtectIF* [bypassProtectIFName] 698 | +--rw bypassProtectIFName ifName 699 +--ro rsvpTeLsps 700 | +--ro rsvpTeLsp* [mplsTunnelIngressLSRId mplsTunnelEgressLSRId mplsSessionID mplsLSPID] 701 | +--ro mplsTunnelIngressLSRId inet:ipv4-address 702 | +--ro mplsTunnelEgressLSRId inet:ipv4-address 703 | +--ro mplsSessionID uint16 704 | +--ro mplsLSPID uint16 705 | +--ro tunnelName? string 706 | +--ro mplsTunnelRole? enumeration 707 | +--ro incomingIfName? string 708 | +--ro outgoingIfName? string 709 | +--ro mplsTunnelSetupPrio? uint8 710 | +--ro mplsTunnelHoldingPrio? uint8 711 | +--ro mplsTunnelBandwidth? uint32 712 | +--ro mplsTunnelEHops 713 | | +--ro mplsTunnelEHop* [mplsTunnelEHopIndex] 714 | | +--rw mplsTunnelEHopIndex uint32 715 | | +--rw mplsTunnelEHopIpAddr inet:ipv4-address 716 | | +--rw mplsTunnelEHopType? enumeration 717 | | +--rw mplsTunnelEHopAddrType? enumeration 718 | +--ro mplsTunnelARHops 719 | | +--ro mplsTunnelARHop* [mplsTunnelARHopIndex] 720 | | +--ro mplsTunnelARHopIndex uint32 721 | | +--ro incommingType? boolean 722 | | +--ro mplsTunnelARHopIpAddr? inet:ipv4-address 723 | | +--ro mplsTunnelARHopLabel? uint32 724 | | +--ro mplsTunnelLocalProtectInUse? boolean 725 | | +--ro mplsTunnelARHopLocalProtectType? enumeration 726 | | +--ro mplsTunnelARHopBwProt? boolean 727 | +--ro mplsTunnelHopTableName? string 728 | +--ro mplsCHops 729 | | +--ro mplsCHop* [mplsTunnelCRPathIndex mplsTunnelCRHopIndex] 730 | | +--ro mplsTunnelCRPathIndex uint32 731 | | +--ro mplsTunnelCRHopIndex uint32 732 | | +--ro mplsTunnelCRHopIsInclude? boolean 733 | | +--ro mplsTunnelCRHopType? enumeration 734 | | +--ro mplsTunnelLocalProtectInUse? boolean 735 | | +--ro mplsTunnelCRHopAddrType? enumeration 736 | | +--ro mplsTunnelCRHopIpAddr? inet:ipv4-address 737 | +--ro mplsTunnelLocalProtectEnable? boolean 738 | +--ro mplsTunnelLocalProtectInUse? enumeration 739 | +--ro bypassTunnelName? string 740 | +--ro mplsTunnelMergingPermitted? boolean 741 | +--ro mplsTunnelIncludeAllAffinity? string 742 | +--ro mplsTunnelIncludeAnyAffinity? string 743 | +--ro mplsTunnelExcludeAnyAffinity? string 744 | +--ro lspMTU? uint32 745 | +--ro mplsTunnelOperStatus? enumeration 746 | +--ro inLabel? uint32 747 | +--ro outLabel? uint32 748 | +--ro nextHop? inet:ipv4-address 749 | +--ro xcindex? uint32 750 +--rw staticTunnels 751 | +--rw staticTunnel* [tunnelName] 752 | +--rw tunnelName string 753 | +--rw tunnelIngressLSRId? inet:ipv4-address 754 | +--rw tunnelEgressLSRId? inet:ipv4-address 755 | +--rw tunnelIndex? uint16 756 | +--rw tunnelBandwidth? uint32 757 | +--rw staticCRLSPs 758 | | +--rw staticCRLSP* [lspName] 759 | | +--rw lspType enumeration 760 | | +--rw lspName string 761 | | +--ro lspState enumeration 762 | +--rw revertMode? uint32 763 | +--rw wtrValue? uint32 764 | +--rw holdoffValue? uint32 765 +--rw staticCRLsps 766 | +--rw staticCRLsp* [lspName] 767 | +--rw lspName string 768 | +--rw lsrRole enumeration 769 | +--ro destinationAddress? inet:ipv4-address 770 | +--rw bandwitdh uint32 771 | +--ro incomingIfName? ifName 772 | +--rw inLabel? uint32 773 | +--rw outgoingIfName? ifName 774 | +--rw nextHop? inet:ipv4-address 775 | +--rw outLabel? uint32 776 | +--rw mtu? uint32 778 Figure 2 The I2RS YANG model of MPLS TE 780 4. IANA Considerations 782 This draft includes no request to IANA. 784 5. Security Considerations 786 This document introduces no new security threat and SHOULD follow the 787 security requirements as stated in [I-D.ietf-i2rs-architecture]. 789 6. Normative References 791 [I-D.hares-i2rs-usecase-reqs-summary] 792 Hares, S., "Summary of I2RS Use Case Requirements", draft- 793 hares-i2rs-usecase-reqs-summary-00 (work in progress), 794 July 2014. 796 [I-D.huang-i2rs-mpls-te-usecases] 797 Huang, T., Li, Z., and S. Hares, "Use Cases for an 798 Interface to MPLS TE", draft-huang-i2rs-mpls-te- 799 usecases-02 (work in progress), July 2014. 801 [I-D.ietf-i2rs-architecture] 802 Atlas, A., Halpern, J., Hares, S., Ward, D., and T. 803 Nadeau, "An Architecture for the Interface to the Routing 804 System", draft-ietf-i2rs-architecture-05 (work in 805 progress), July 2014. 807 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 808 Requirement Levels", BCP 14, RFC 2119, March 1997. 810 Authors' Addresses 812 Xia Chen 813 Huawei Technologies 814 Huawei Bld., No.156 Beiqing Rd. 815 Beijing 100095 816 China 818 Email: jescia.chenxia@huawei.com 820 Zhenbin Li 821 Huawei Technologies 822 Huawei Bld., No.156 Beiqing Rd. 823 Beijing 100095 824 China 826 Email: lizhenbin@huawei.com 827 Susan Hares 828 Huawei Technologies 829 Saline, MI 48176 830 US 832 Email: shares@ndzh.com 834 Russ White 835 Ericsson 836 US 838 Email: russ.white@ericsson.com 840 Jeff Tantsura 841 Ericsson 843 Email: jeff.tantsura@ericsson.com