idnits 2.17.1 draft-ietf-pwe3-control-protocol-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 28 longer pages, the longest (page 26) being 69 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 31 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 247 has weird spacing: '...re also proto...' == Line 473 has weird spacing: '... The highe...' == Line 474 has weird spacing: '...resence of a...' == Line 558 has weird spacing: '...sist of an At...' == Line 561 has weird spacing: '...ntifier may b...' == (2 more instances...) == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: The PW FEC TLV SHOULD not include the interface parameters as they are ignored in the context of this message. When a PE's CE-facing interface encounters an error, use of the PW status message allows the PE to send a single status message, using a PW FEC TLV with only the group ID set, to denote this change in status for all affected PW connections. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (March 2004) is 7340 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: 'RFC3036' is mentioned on line 125, but not defined ** Obsolete undefined reference: RFC 3036 (Obsoleted by RFC 5036) == Missing Reference: '32768' is mentioned on line 1057, but not defined == Unused Reference: '4' is defined on line 1096, but no explicit reference was found in the text == Unused Reference: 'RFC2434' is defined on line 1129, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3036 (ref. '1') (Obsoleted by RFC 5036) -- Possible downref: Non-RFC (?) normative reference: ref. '2' -- Possible downref: Non-RFC (?) normative reference: ref. '4' -- Possible downref: Non-RFC (?) normative reference: ref. '5' -- Possible downref: Non-RFC (?) normative reference: ref. '6' == Outdated reference: A later version (-07) exists of draft-ietf-pwe3-frame-relay-01 == Outdated reference: A later version (-14) exists of draft-ietf-pwe3-sonet-01 == Outdated reference: A later version (-11) exists of draft-ietf-pwe3-atm-encap-05 -- No information found for draft-ietf-pwe3-hdlc-ppp-encap - is the name correct? -- Possible downref: Normative reference to a draft: ref. '10' == Outdated reference: A later version (-11) exists of draft-ietf-pwe3-ethernet-encap-05 == Outdated reference: A later version (-07) exists of draft-ietf-pwe3-arch-04 ** Downref: Normative reference to an Informational draft: draft-ietf-pwe3-arch (ref. '12') == Outdated reference: A later version (-15) exists of draft-ietf-pwe3-iana-allocation-04 ** Obsolete normative reference: RFC 2434 (Obsoleted by RFC 5226) Summary: 7 errors (**), 0 flaws (~~), 20 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group Luca Martini 2 Internet Draft Eric C. Rosen 3 Expiration Date: September 2004 Cisco Systems, Inc. 5 Nasser El-Aawar Toby Smith 6 Level 3 Communications, LLC. Laurel Networks, Inc. 8 Giles Heron 9 Tellabs 10 March 2004 12 Pseudowire Setup and Maintenance using LDP 14 draft-ietf-pwe3-control-protocol-06.txt 16 Status of this Memo 18 This document is an Internet-Draft and is in full conformance with 19 all provisions of Section 10 of RFC2026. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF), its areas, and its working groups. Note that other 23 groups may also distribute working documents as Internet-Drafts. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 The list of current Internet-Drafts can be accessed at 31 http://www.ietf.org/ietf/1id-abstracts.txt. 33 The list of Internet-Draft Shadow Directories can be accessed at 34 http://www.ietf.org/shadow.html. 36 Abstract 38 Layer 2 services (such as Frame Relay, ATM, ethernet) can be 39 "emulated" over an IP and/or MPLS backbone by encapsulating the layer 40 2 PDUs and then transmitting them over "pseudowires". It is also 41 possible to use pseudowires to provide SONET circuit emulation over 42 an IP and/or MPLS network. This document specifies a protocol for 43 establishing and maintaining the pseudowires, using extensions to 44 LDP. Procedures for encapsulating layer 2 PDUs are specified in a 45 set of companion documents. 47 Table of Contents 49 1 Specification of Requirements .......................... 3 50 2 Introduction ........................................... 3 51 3 The Pseudowire Label ................................... 5 52 4 Details Specific to Particular Emulated Services ....... 6 53 4.1 Frame Relay ............................................ 6 54 4.2 ATM .................................................... 6 55 4.2.1 ATM AAL5 SDU VCC Transport ............................. 6 56 4.2.2 ATM Transparent Cell Transport ......................... 7 57 4.2.3 ATM n-to-one VCC and VPC Cell Transport ................ 7 58 4.2.4 OAM Cell Support ....................................... 7 59 4.2.5 ILMI Support ........................................... 8 60 4.2.6 ATM AAL5 PDU VCC Transport ............................. 9 61 4.2.7 ATM one-to-one VCC and VPC Cell Transport .............. 9 62 4.3 Ethernet VLAN .......................................... 9 63 4.4 Ethernet ............................................... 9 64 4.5 HDLC and PPP ........................................... 10 65 4.6 IP Layer2 Transport .................................... 10 66 5 LDP .................................................... 10 67 5.1 The PWid FEC Element ................................... 11 68 5.2 The Generalized ID FEC Element ......................... 12 69 5.2.1 Attachment Identifiers ................................. 13 70 5.2.2 Encoding the Generalized ID FEC Element ................ 14 71 5.2.3 Procedures ............................................. 15 72 5.3 Signaling of Pseudo Wire Status ........................ 16 73 5.3.1 Use of Label Mappings. ................................. 16 74 5.3.2 Signaling PW status. ................................... 17 75 5.3.3 Pseudowire Status Negotiation Procedures ............... 18 76 5.4 Interface Parameters Field ............................. 20 77 5.4.1 PW types for which the control word is REQUIRED ........ 22 78 5.4.2 PW types for which the control word is NOT mandatory ... 22 79 5.4.3 Status codes ........................................... 24 80 5.5 LDP label Withdrawal procedures ........................ 24 81 5.6 Sequencing Considerations .............................. 24 82 5.6.1 Label Mapping Advertisements ........................... 24 83 5.6.2 Label Mapping Release .................................. 25 84 6 Security Considerations ................................ 25 85 7 References ............................................. 25 86 8 Author Information ..................................... 26 87 9 Additional Contributing Authors ........................ 28 88 10 Appendix A - C-bit Handling Procedures Diagram ......... 30 89 11 Appendix B - Notification Message fo PW Status Diagram . 31 91 1. Specification of Requirements 93 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 94 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 95 document are to be interpreted as described in RFC 2119. 97 2. Introduction 99 In [7], [9], and [11] it is explained how to encapsulate a layer 2 100 Protocol Data Unit (PDU) for transmission over an IP and/or MPLS 101 network. Those documents specify that a "pseudowire header", 102 consisting of a demultiplexor field, will be prepended to the 103 encapsulated PDU. The pseudowire demultiplexor field is put on before 104 transmitting a packet on a pseudowire. When the packet arrives at 105 the remote endpoint of the pseudowire, the demultiplexor is what 106 enables the receiver to identify the particular pseudowire on which 107 the packet has arrived. To actually transmit the packet from one 108 pseudowire endpoint to another, the packet may need to travel through 109 a "PSN tunnel"; this will require an additional header to be 110 prepended to the packet. 112 An accompanying document [8] also describes a method for transporting 113 time division multiplexed (TDM) digital signals (TDM circuit 114 emulation) over a packet-oriented MPLS network. The transmission 115 system for circuit-oriented TDM signals is the Synchronous Optical 116 Network (SONET)[5]/Synchronous Digital Hierarchy (SDH) [6]. To 117 support TDM traffic, which includes voice, data, and private leased 118 line service, the pseudowires must emulate the circuit 119 characteristics of SONET/SDH payloads. The TDM signals and payloads 120 are encapsulated for transmission over pseudowires. To this 121 encapsulation is prepended a pseudowire demultiplexor and a PSN 122 tunnel header. 124 In this document, we specify the use of the MPLS Label Distribution 125 Protocol, LDP [RFC3036], as a protocol for setting up and maintaining 126 the pseudowires. In particular, we define new TLVs for LDP, which 127 enable LDP to identify pseudowires and to signal attributes of 128 pseudowires. We specify how a pseudowire endpoint uses these TLVs in 129 LDP to bind a demultiplexor field value to a pseudowire, and how it 130 informs the remote endpoint of the binding. We also specify 131 procedures for reporting pseudowire status changes, passing 132 additional information about the pseudowire as needed, and for 133 releasing the bindings. 135 In the protocol specified herein, the pseudowire demultiplexor field 136 is an MPLS label. Thus the packets which are transmitted from one end 137 of the pseudowire to the other are MPLS packets. Unless the 138 pseudowire endpoints are immediately adjacent, these MPLS packets 139 must be transmitted through a PSN tunnel. Any sort of PSN tunnel can 140 be used, as long as it is possible to transmit MPLS packets through 141 it. The PSN tunnel can itself be an LSP, or any other sort of tunnel 142 which can carry MPLS packets. Procedures for setting up and 143 maintaining the PSN tunnels are outside the scope of this document. 145 This document deals only with the setup and maintenance of point-to- 146 point pseudowires. Neither point-to-multipoint nor multipoint-to- 147 point pseudowires are discussed. 149 QoS related issues are not discussed in this document. 151 The following two figures describe the reference models which are 152 derived from [12] to support the Ethernet PW emulated services. 154 Native |<----- Pseudo Wire ---->| Native 155 Layer2 | | Layer2 156 Service | |<-- PSN Tunnel -->| | Service 157 | V V V V | 158 | +----+ +----+ | 159 +----+ | | PE1|==================| PE2| | +----+ 160 | |----------|............PW1.............|----------| | 161 | CE1| | | | | | | |CE2 | 162 | |----------|............PW2.............|----------| | 163 +----+ | | |==================| | | +----+ 164 ^ +----+ +----+ | ^ 165 | Provider Edge 1 Provider Edge 2 | 166 | | 167 |<-------------- Emulated Service ---------------->| 169 Figure 1: PWE3 Reference Model 171 +-------------+ +-------------+ 172 | Layer2 | | Layer2 | 173 | Emulated | | Emulated | 174 | Services | Emulated Service | Services | 175 | |<==============================>| | 176 +-------------+ Pseudo Wire +-------------+ 177 |Demultiplexor|<==============================>|Demultiplexor| 178 +-------------+ +-------------+ 179 | PSN | PSN Tunnel | PSN | 180 | MPLS |<==============================>| MPLS | 181 +-------------+ +-------------+ 182 | Physical | | Physical | 183 +-----+-------+ +-----+-------+ 185 Figure 2: PWE3 Protocol Stack Reference Model 187 For the purpose of this document, PE1 will be defined as the ingress 188 router, and PE2 as the egress router. A layer 2 PDU will be received 189 at PE1, encapsulated at PE1, transported, decapsulated at PE2, and 190 transmitted out of PE2. 192 3. The Pseudowire Label 194 Suppose it is desired to transport layer 2 PDUs from ingress LSR PE1 195 to egress LSR PE2, across an intervening PSN. We assume that there is 196 a PSN tunnel from PE1 to PE2. That is, we assume that PE1 can cause a 197 packet to be delivered to PE2 by encapsulating the packet in a "PSN 198 tunnel header" and sending the result to one of its adjacencies. If 199 the PSN tunnel is an MPLS Label Switched Path (LSP), then putting on 200 a PSN tunnel encapsulation is a matter of pushing on an additional 201 MPLS label. 203 We presuppose that an arbitrary number of pseudowires can be carried 204 through a single PSN tunnel. Thus it is never necessary to maintain 205 state in the network core for individual pseudowires. We do not 206 presuppose that the PSN tunnels are point-to-point; although the 207 pseudowires are point-to-point, the PSN tunnels may be multipoint- 208 to-point. We do not presuppose that PE2 will even be able to 209 determine the PSN tunnel through which a received packet was 210 transmitted. (E.g., if the PSN tunnel is an LSP, and penultimate hop 211 popping is used, when the packet arrives at PE2 it will contain no 212 information identifying the tunnel.) 214 When PE2 receives a packet over a pseudowire, it must be able to 215 determine that the packet was in fact received over a pseudowire, and 216 it must be able to associate that packet with a particular 217 pseudowire. PE2 is able to do this by examining the MPLS label which 218 serves as the pseudowire demultiplexor field shown in Figure 2. Call 219 this label the "PW label". 221 So when PE1 sends a layer 2 PDU to PE2, it first pushes a PW label on 222 its label stack, thereby creating an MPLS packet. It then (if PE1 is 223 not adjacent to PE2) encapsulates that MPLS packet in a PSN tunnel 224 header. (If the PSN tunnel is an LSP, this is just a matter of 225 pushing on a second label.) The PW label is not visible again until 226 the MPLS packet reaches PE2. PE2's disposition of the packet is based 227 on the PW label. 229 Note that the PW label must always be at the bottom of the packet's 230 label stack and labels MUST be allocated from the per-platform label 231 space. 233 This document specifies a protocol for assigning and distributing the 234 PW label. This protocol is LDP, extended as specified in the 235 remainder of this document. An LDP session must be set up between 236 the pseudowire endpoints. LDP MUST be used in its "downstream 237 unsolicited" mode. LDP's "liberal label retention" mode SHOULD be 238 used. 240 In addition to the protocol specified herein, static assignment of PW 241 labels MAY be used, and implementations of this protocol SHOULD 242 provide support for static assignment. 244 This document specifies all the procedures necessary to set up and 245 maintain the pseudowires needed to support "unswitched" point-to- 246 point services, where each endpoint of the pseudowire is provisioned 247 with the identify of the other endpoint. There are also protocol 248 mechanisms specified herein which can be used to support switched 249 services, and which can be used to support other provisioning models. 250 However, the use of the protocol mechanisms to support those other 251 models and services is not described in this document. 253 4. Details Specific to Particular Emulated Services 255 4.1. Frame Relay 257 When emulating a frame relay service, the Frame Relay PDUs are 258 encapsulated according to the procedures defined in [7]. The PE MUST 259 provide Frame Relay PVC status signaling to the Frame Relay network. 260 If the PE detects a service-affecting condition for a particular 261 DLCI, as defined in [2] Q.933 Annex A.5 sited in IA FRF1.1, PE MUST 262 communicate to the remote PE the status of the PW corresponds to the 263 frame relay DLCI. The Egress PE SHOULD generate the corresponding 264 errors and alarms as defined in [2] on the egress Frame relay PVC. 266 4.2. ATM 268 4.2.1. ATM AAL5 SDU VCC Transport 270 ATM AAL5 CSPS-SDUs are encapsulated according to [9] ATM AAL5 CPCS- 271 SDU mode. This mode allows the transport of ATM AAL5 CSPS-SDUs 272 traveling on a particular ATM PVC across the network to another ATM 273 PVC. 275 4.2.2. ATM Transparent Cell Transport 277 This mode is similar to the Ethernet port mode. Every cell that is 278 received at the ingress ATM port on the ingress PE, PE1, is 279 encapsulated according to [9], ATM cell mode n-to-one, and sent 280 across the PW to the egress PE, PE2. This mode allows an ATM port to 281 be connected to only one other ATM port. [9] ATM cell n-to-one mode 282 allows for concatenation ( grouping ) of multiple cells into a single 283 MPLS frame. Concatenation of ATM cells is OPTIONAL for transmission 284 at the ingress PE, PE1. If the Egress PE PE2 supports cell 285 concatenation the ingress PE, PE1, should only concatenate cells up 286 to the "Maximum Number of concatenated ATM cells" parameter received 287 as part of the FEC element. 289 4.2.3. ATM n-to-one VCC and VPC Cell Transport 291 This mode is similar to the ATM AAL5 VCC transport except that cells 292 are transported. Every cell that is received on a pre-defined ATM 293 PVC, or ATM PVP, at the ingress ATM port on the ingress PE, PE1, is 294 encapsulated according to [9], ATM n-to-one cell mode, and sent 295 across the LSP to the egress PE PE2. Grouping of ATM cells is 296 OPTIONAL for transmission at the ingress PE, PE1. If the Egress PE 297 PE2 supports cell concatenation the ingress PE, PE1, MUST only 298 concatenate cells up to the "Maximum Number of concatenated ATM cells 299 in a frame" parameter received as part of the FEC element. 301 4.2.4. OAM Cell Support 303 OAM cells MAY be transported on the VC LSP. When the PE is operating 304 in AAL5 CPCS-SDU transport mode if it does not support transport of 305 ATM cells, the PE MUST discard incoming MPLS frames on an ATM PW LSP 306 that contain a PW label with the T bit set [9]. When operating in 307 AAL5 SDU transport mode an PE that supports transport of OAM cells 308 using the T bit defined in [9], or an PE operating in any of the cell 309 transport modes MUST follow the procedures outlined in [9] in 310 addition to the applicable procedures specified in [6]. 312 4.2.4.1. SDU/PDU OAM Cell Emulation Mode 314 A PE operating in ATM SDU, or PDU transport mode, that does not 315 support transport of OAM cells across an LSP MAY provide OAM support 316 on ATM PVCs using the following procedures: 318 - Loopback cells response 320 If an F5 end-to-end OAM cell is received from a ATM VC, by either 321 PE that is transporting this ATM VC, with a loopback indication 322 value of 1, and the PE has a label mapping for the ATM VC, then 323 the PE MUST decrement the loopback indication value and loop back 324 the cell on the ATM VC. Otherwise the loopback cell MUST be 325 discarded by the PE. 327 - AIS Alarm. 329 If an ingress PE, PE1, receives an AIS F4/F5 OAM cell, it MUST 330 notify the remote PE of the failure. The remote PE , PE2, MUST in 331 turn send F5 OAM AIS cells on the respective PVCs. Note that if 332 the PE supports forwarding of OAM cells, then the received OAM 333 AIS alarm cells MUST be forwarded along the PW as well. 335 - Interface failure. 337 If the PE detects a physical interface failure, or the interface 338 is administratively disabled, the PE MUST notify the remote PE 339 for all VCs associated with the failure. 341 - PSN/PW failure detection. 343 If the PE detects a failure in the PW, by receiving a label 344 withdraw for a specific PW ID, or the targeted LDP session fails, 345 or a PW status TLV notification is received, then a propper AIS 346 F5 OAM cell MUST be generated for all the affected atm PVCs. The 347 AIS OAM alarm will be generated on the ATM output port of the PE 348 that detected the failure. 350 4.2.5. ILMI Support 352 An MPLS edge PE MAY provide an ATM ILMI to the ATM edge switch. If an 353 ingress PE receives an ILMI message indicating that the ATM edge 354 switch has deleted a VC, or if the physical interface goes down, it 355 MUST send a PW status notification message for all PWs associated 356 with the failure. When a PW label mapping is withdrawn, or PW status 357 notification message is received the egress PE SHOULD notify its 358 client of this failure by deleting the VC using ILMI. 360 4.2.6. ATM AAL5 PDU VCC Transport 362 ATM AAL5 CSPS-PDUs are encapsulated according to [9] ATM AAL5 CPCS- 363 PDU mode. This mode allows the transport of ATM AAL5 CSPS-PDUs 364 traveling on a particular ATM PVC across the network to another ATM 365 PVC. This mode supports fragmentation of the ATM AAL5 CPCS-PDU in 366 order to maintain the position of the OAM cells with respect to the 367 user cells. Fragmentation may also be performed to maintain the size 368 of the packet carrying the AAL5 PDU within the MTU of the link. 370 4.2.7. ATM one-to-one VCC and VPC Cell Transport 372 This mode is similar to the ATM AAL5 n-to-one cell transport except 373 an encapsulation method that maps one ATM VCC or one ATM VPC to one 374 Pseudo-Wire is used. Every cell that is received on a pre-defined ATM 375 PVC, or ATM PVP, at the ingress ATM port on the ingress PE, PE1, is 376 encapsulated according to [9], ATM one-to-one cell mode, and sent 377 across the LSP to the egress PE PE2. Grouping of ATM cells is 378 OPTIONAL for transmission at the ingress PE, PE1. If the Egress PE 379 PE2 supports cell concatenation the ingress PE, PE1, MUST only 380 concatenate cells up to the "Maximum Number of concatenated ATM cells 381 in a frame" parameter received as part of the FEC element. 383 4.3. Ethernet VLAN 385 The Ethernet frame will be encapsulated according to the procedures 386 in [11] tagged mode. It should be noted that if the VLAN identifier 387 is modified by the egress PE, according to the procedures outlined 388 above, the Ethernet spanning tree protocol might fail to work 389 properly. If the PE detects a failure on the Ethernet physical port, 390 or the port is administratively disabled, it MUST send PW status 391 notification message for all PWs associated with the port. This mode 392 uses service-delimiting tags to map input ethernet frames to 393 respective PWs. 395 4.4. Ethernet 397 The Ethernet frame will be encapsulated according to the procedures 398 in [11] "ethernet raw mode". If the PE detects a failure on the 399 Ethernet input port, or the port is administratively disabled, the PE 400 MUST send a corresponding PW status notification message. 402 4.5. HDLC and PPP 404 HDLC and PPP frames are encapsulated according to the procedures in 405 [10]. If the MPLS edge PE detects that the physical link has failed, 406 or the port is administratively disabled, it MUST send a PW status 407 notification message that corresponds to the HDLC or PPP PW. 409 4.6. IP Layer2 Transport 411 This mode switches IP packets into a Peudo-Wire. the encapsulation 412 used is according to [3]. IP interworking is implementation specific, 413 part of the NSP function [12], and is outside the scope of this 414 document. 416 5. LDP 418 The PW label bindings are distributed using the LDP downstream 419 unsolicited mode described in [1]. The PEs will establish an LDP 420 session using the Extended Discovery mechanism described in [1, 421 section 2.4.2 and 2.5]. 423 An LDP Label Mapping message contains a FEC TLV, a Label TLV, and 424 zero or more optional parameter TLVs. 426 The FEC TLV is used to indicate the meaning of the label. In the 427 current context, the FEC TLV would be used to identify the particular 428 pseudowire that a particular label is bound to. In this 429 specification, we define two new FEC TLVs to be used for identifying 430 pseudowires. When setting up a particular pseudowire, only one of 431 these FEC TLVs is used. The one to be used will depend on the 432 particular service being emulated and on the particular provisioning 433 model being supported. 435 LDP allows each FEC TLV to consist of a set of FEC elements. For 436 setting up and maintaining pseudowires, however, each FEC TLV MUST 437 contain exactly one FEC element. 439 LDP has several kinds of label TLVs. For setting up and maintaining 440 pseudowires, the Generic Label TLV MUST be used. 442 5.1. The PWid FEC Element 444 The PWid FEC element may be used whenever both pseudowire endpoints 445 have been provisioned with the same 32-bit identifier for the 446 pseudowire. 448 For this purpose a new type of FEC element is defined. The FEC 449 element type is 128 [note1], and is defined as follows: 451 0 1 2 3 452 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 453 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 454 | PW tlv |C| PW type |PW info Length | 455 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 456 | Group ID | 457 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 458 | PW ID | 459 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 460 | Interface parameters | 461 | " | 462 | " | 463 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 465 - PW type 467 A 15 bit quantity containing a value which represents the type of 468 PW. Assigned Values are specified in "IANA Allocations for pseudo 469 Wire Edge to Edge Emulation (PWE3)" [13]. 471 - Control word bit (C) 473 The highest order bit (C) of the PW type is used to flag the 474 presence of a control word ( defined in [7] ) as follows: 476 bit 15 = 1 control word present on this VC. 477 bit 15 = 0 no control word present on this VC. 479 Please see the section "C-Bit Handling Procedures" for further 480 explanation. 482 - PW information length 484 Length of the PW ID field and the interface parameters field in 485 octets. If this value is 0, then it references all PWs using the 486 specified group ID and there is no PW ID present, nor any 487 interface parameters. 489 - Group ID 491 An arbitrary 32 bit value which represents a group of PWs that is 492 used to create groups in the VC space. The group ID is intended 493 to be used as a port index, or a virtual tunnel index. To 494 simplify configuration a particular PW ID at ingress could be 495 part of the virtual tunnel for transport to the egress router. 496 The Group ID is very useful to send wild card label withdrawals, 497 or PW wild card status notification messages to remote PEs upon 498 physical port failure. 500 - PW ID 502 A non-zero 32-bit connection ID that together with the PW type, 503 identifies a particular PW. Note that the PW ID and the PW type 504 must be the same at both endpoints. 506 - Interface parameters 508 This variable length field is used to provide interface specific 509 parameters, such as CE-facing interface MTU. 511 Note that as the "interface parameters" are part of the FEC, the 512 rules of LDP make it impossible to change the interface 513 parameters once the pseudowire has been set up. Thus the 514 interface parameters field must not be used to pass information, 515 such as status information, which may change during the life of 516 the pseudowire. Optional parameter TLVs should be used for that 517 purpose. 519 Using the PWid FEC, each of the two pseudowire endpoints 520 independently initiates the set up of a unidirectional LSP. An 521 outgoing LSP and an incoming LSP are bound together into a single 522 pseudowire if they have the same PW ID and PW type. 524 5.2. The Generalized ID FEC Element 526 There are cases where the PWid FEC element cannot be used, because 527 both endpoints have not been provisioned with a common 32-bit PWid. 528 In such cases, the "Generalized ID FEC Element" is used instead. 529 This is FEC type 129 (provisionally, subject to assignment by IANA). 530 It differs from the PWid FEC element in that the PWid and the group 531 id are eliminated, and their place is taken by a generalized 532 identifier field as described below. The Generalized ID FEC element 533 includes a PW type field, a C bit, and an interface parameters field; 534 these three fields are identical to those in the PWid FEC, and are 535 used as discussed in the previous section. 537 5.2.1. Attachment Identifiers 539 As discussed in [12], a pseudowire can be thought of as connecting 540 two "forwarders". The protocol used to setup a pseudowire must allow 541 the forwarder at one end of a pseudowire to identify the forwarder at 542 the other end. We use the term "attachment identifier", or "AI", to 543 refer to the field which the protocol uses to identify the 544 forwarders. In the PWid FEC, the PWid field serves as the AI. In 545 this section we specify a more general form of AI which is structured 546 and of variable length. 548 Every Forwarder in a PE must be associated with an Attachment 549 Identifier (AI), either through configuration or through some 550 algorithm. The Attachment Identifier must be unique in the context 551 of the PE router in which the Forwarder resides. The combination must be globally unique. 554 It is frequently convenient to a set of Forwarders as being members 555 of a particular "group", where PWs may only be set up among members 556 of a group. In such cases, it is convenient to identify the 557 Forwarders relative to the group, so that an Attachment Identifier 558 would consist of an Attachment Group Identifier (AGI) plus an 559 Attachment Individual Identifier (AII). 561 An Attachment Group Identifier may be thought of as a VPN-id, or 562 a VLAN identifier, some attribute which is shared by all the 563 Attachment VCs (or pools thereof) which are allowed to be connected. 565 The details of how to construct the AGI and AII fields identifying 566 the pseudowire endpoints are outside the scope of this specification. 567 Different pseudowire application, and different provisioning models, 568 will require different sorts of AGI and AII fields. The 569 specification of each such application and/or model must include the 570 rules for constructing the AGI and AII fields. 572 As previously discussed, a (bidirectional) pseudowire consists of a 573 pair of unidirectional LSPs, one in each direction. If a particular 574 pseudowire connects PE1 with PE2, the LSP in the PE1-->PE2 direction 575 can be identified as: 577 , PE2, >, 579 and the LSP in the PE2--PE1 direction can be identified by: 581 , PE1, >. 583 Note that the AGI must be the same at both endpoints, but the AII 584 will in general be different at each endpoint. Thus from the 585 perspective of a particular PE, each pseudowire has a local or 586 "Source AII", and a remote or "Target AII". The pseudowire setup 587 protocol can carry all three of these quantities: 589 - Attachment Group Identifier (AGI). 591 - Source Attachment Individual Identifier (SAII) 593 - Target Attachment Individual Identifier (TAII) 595 If the AGI is non-null, then the Source AI (SAI) consists of the AGI 596 together with the SAII, and the Target AI (TAI) consists of the TAII 597 together with the AGI. If the AGI is null, then the SAII and TAII 598 are the SAI and TAI respectively. 600 The interpretation of the SAI and TAI is a local matter at the 601 respective endpoint. 603 The association of two unidirectional LSPs into a single 604 bidirectional pseudowire depends on the SAI and the TAI. Each 605 application and/or provisioning model which uses the Generalized ID 606 FEC element must specify the rules for performing this association. 608 5.2.2. Encoding the Generalized ID FEC Element 610 FEC element type 129 is used. The FEC element is encoded as 611 follows: 613 0 1 2 3 614 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 615 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 616 | 129 |C| PW Type |VC info Length | 617 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 618 | AGI | Length | Value | 619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 620 ~ Value (contd.) ~ 621 | | 622 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 623 | SAII | Length | Value | 624 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 625 ~ Value (contd.) ~ 626 | | 627 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 628 | TAII | Length | Value | 629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 630 ~ Value (contd.) ~ 631 | | 632 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 633 | | 634 | Interface Parameters | 635 | | 636 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 638 This document does not specify the SAII,TAII,AGI type field values; 639 specification of the type field values to use for a particular 640 application is part of the specification of that application. IANA 641 will assign these values based on IETF consensus. 643 If a particular application does not need all three of these sub- 644 elements, it may simply omit the ones it does not need. 646 The SAII, TAII, and AGI are simply carried as octet strings. The 647 length byte specifies the size of the field, excluding the length 648 byte itself. The null string can be sent by setting the length byte 649 to 0. 651 5.2.3. Procedures 653 In order for PE1 to begin signaling PE2, PE1 must know the address of 654 the remote PE2, and a TAI. This information may have been configured 655 at PE1, or it may have been learned dynamically via some 656 autodiscovery procedure. 658 To begin the signaling procedure, a PE (PE1) that has knowledge of 659 the other endpoint (PE2) initiates the setup of the LSP in the 660 incoming (PE2-->PE1) direction by sending a Label Mapping message 661 containing the FEC type 129. The FEC element includes the SAII, AGI, 662 and TAII. 664 What happens when PE2 receives such a Label Mapping message? 666 PE2 interprets the message as a request to set up a PW whose endpoint 667 (at PE2) is the Forwarder identified by the TAI. From the 668 perspective of the signaling protocol, exactly how PE2 maps AIs to 669 Forwarders is a local matter. In some VPWS provisioning models, the 670 TAI might, e.g., be a string which identifies a particular Attachment 671 Circuit, such as "ATM3VPI4VCI5", or it might, e.g., be a string such 672 as "Fred" which is associated by configuration with a particular 673 Attachment Circuit. In VPLS, the TAI would be a VPN-id, identifying 674 a particular VPLS instance. 676 If PE2 cannot map the TAI to one of its Forwarders, then PE2 sends a 677 Label Release message to PE1, with a Status Code meaning "invalid 678 TAI", and the processing of the Mapping message is complete. 680 If the Label Mapping Message has a valid TAI, PE2 must decide whether 681 to accept it or not. The procedures for so deciding will depend on 682 the particular type of Forwarder identified by the TAI. Of course, 683 the Label Mapping message may be rejected due to standard LDP error 684 conditions as detailed in [1]. 686 If PE2 decides to accept the Label Mapping message, then it has to 687 make sure that an LSP is set up in the opposite (PE1-->PE2) 688 direction. If it has already signaled for the corresponding LSP in 689 that direction, nothing more need be done. Otherwise, it must 690 initiate such signaling by sending a Label Mapping message to PE1. 691 This is very similar to the Label Mapping message PE2 received, but 692 with the SAI and TAI reversed. 694 5.3. Signaling of Pseudo Wire Status 696 5.3.1. Use of Label Mappings. 698 The PEs MUST send PW label mapping messages to their peers as soon as 699 the PW is configured and administratively enabled, regardless of the 700 CE-facing interface state. The PW label should not be withdrawn 701 unless the user administratively configures the CE-facing interface 702 down (or the PW configuration is deleted entirely). Using the 703 procedures outlined in this section a simple label withdraw method 704 MAY also be supported as a primitive means of signaling WP status. It 705 is strongly RECOMMENDED that the PW status signaling procedures below 706 be fully implemented. In any case if the Label mapping is not 707 available the PW MUST be considered in the down state. 709 5.3.2. Signaling PW status. 711 The PE devices use an LDP TLV to indicate status to their remote 712 peers. This PW Status TLV contains more information than the 713 alternative simple Label Withdraw message. 715 The format of the PW Status TLV is: 716 0 1 2 3 717 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 719 |1|0| PW Status (0x096A) | Length | 720 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 721 | Status Code | 722 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 724 [ note: TLV type 0x096A as defined in [13] pending IANA allocation ] 726 Where the status code is a 4 octet bit field is specified in the PW 727 IANA Allocations document [13]. 729 Each bit in the status code field can be set individually to indicate 730 more then a single failure at once. Each fault can be cleared by 731 sending an appropriate status message with the respective bit 732 cleared. The presence of the lowest bit (PW Not Forwarding) acts only 733 as a generic failure indication when there is a link-down event for 734 which none of the other bits apply. 736 The Status TLV is transported to the remote PW peer via the LDP 737 notification message. The general format of the Notification Message 738 is: 740 0 1 2 3 741 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 742 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 743 |0| Notification (0x0001) | Message Length | 744 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 745 | Message ID | 746 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 747 | Status (TLV) | 748 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 749 | PW Status TLV | 750 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 751 | PWId FEC or Generalized ID FEC | 752 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 754 The Status TLV status code is set to 0x00000028 "PW status", to 755 indicate that PW status follows. Since this notification does not 756 refer to any particular message the Message Id, and Message Type 757 fields are set to 0. [ note: Status Code 0x00000028 as defined in 758 [13] pending IANA allocation ] A more detailed diagram is shown in 759 Appendix B. 761 The PW FEC TLV SHOULD not include the interface parameters as they 762 are ignored in the context of this message. When a PE's CE-facing 763 interface encounters an error, use of the PW status message allows 764 the PE to send a single status message, using a PW FEC TLV with only 765 the group ID set, to denote this change in status for all affected PW 766 connections. 768 As mentioned above the Group ID field can be used to send a status 769 notification for all PWs associated with a particular group ID. This 770 procedure is OPTIONAL, and if it is implemented the LDP Notification 771 message should be as follows: the PW information length field is set 772 to 0, the PW ID field is not present, and the interface parameters 773 field is not present. For the purpose of this document this is called 774 the "wild card PW status notification procedure", and all PEs 775 implementing this design are REQUIRED to accept such a notification 776 message, but are not required to send it. 778 5.3.3. Pseudowire Status Negotiation Procedures 780 When a PW is first set up the PEs MUST attempt to negotiate the usage 781 of the PW status TLV. This is accomplished as follows: A PE that 782 supports the PW Status TLV MUST include it the initial label mapping 783 signaling following label mapping TLV, the PW FEC, and the interface 784 parameters field. The PW Status TLV will then be used for the 785 lifetime of the Pseudowire. This is shown in the following diagram: 787 0 1 2 3 788 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 789 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 790 | | 791 + PWId FEC or Generalized ID FEC + 792 | | 793 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 794 | Interface parameters | 795 | " | 796 | " | 797 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 798 |0|0| Generic Label (0x0200) | Length | 799 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 800 | Label | 801 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 802 |1|0| PW Status (0x0???) | Length | 803 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 804 | Status Code | 805 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 807 If PW status TLV is sent following the label mapping TLV in the 808 initial PW FEC Message, but the remote PE corresponding FEC 809 advertisement does not include a PW status TLV, or the remote PE does 810 not support the PW Status TLV and the PW will revert to the label 811 withdraw method to signal PW status. Note that if the PW Status TLV 812 is not supported, by the remote peer, it will automatically be 813 ignored, since the LDP ignore bit is set. The PW Status TLV, 814 therefore, will not be present in the corresponding FEC advertisement 815 from the remote LDP peer resulting in exactly the above behavior. 817 If the PW Status TLV is not present following the label mapping TLV 818 in the initial PW FEC Message received by a PE, then the PW Status 819 TLV will not be used and both PEs supporting the pseudowire will 820 revert to the label withdraw procedure for signaling status changes. 822 If the negotiation process results in the usage of the PW status TLV, 823 then the actual PW status is determined by the PW status TLV that was 824 sent within the initial PW label mapping. Subsequent updates of PW 825 status are conveyed through the notification message 827 5.4. Interface Parameters Field 829 This field specifies interface specific parameters. When applicable, 830 it MUST be used to validate that the PEs, and the ingress and egress 831 ports at the edges of the circuit, have the necessary capabilities to 832 interoperate with each other. The field structure is defined as 833 follows: 835 0 1 2 3 836 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 837 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 838 | Parameter ID | Length | Variable Length Value | 839 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 840 | Variable Length Value | 841 | " | 842 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 844 The parameter ID Values are specified in "IANA Allocations for pseudo 845 Wire Edge to Edge Emulation (PWE3)" [13]. 847 The Length field is defined as the length of the interface parameter 848 including the parameter id and length field itself. Processing of the 849 interface parameters should continue when encountering unknown 850 interface parameters and they MUST be silently ignored. 852 - Interface MTU 854 A 2 octet value indicating the MTU in octets. This is the Maximum 855 Transmission Unit, excluding encapsulation overhead, of the 856 egress packet interface that will be transmitting the 857 decapsulated PDU that is received from the MPLS network. This 858 parameter is applicable only to PW types 1, 2, 4, 5, 6, 7,14, and 859 15 and is REQUIRED for these PW types. If this parameter does not 860 match in both directions of a specific PW, that PW MUST NOT be 861 enabled. 863 - Maximum Number of concatenated ATM cells 865 A 2 octet value specifying the maximum number of concatenated ATM 866 cells that can be processed as a single PDU by the egress PE. An 867 ingress PE transmitting concatenated cells on this PW can 868 concatenate a number of cells up to the value of this parameter, 869 but MUST NOT exceed it. This parameter is applicable only to PW 870 types 3, 9, 0x0a, 0xc, and 0xd and is REQUIRED for these PWC 871 types. This parameter does not need to match in both directions 872 of a specific PW. 874 - Optional Interface Description string 876 This arbitrary, OPTIONAL, interface description string is used to 877 send a human-readable administrative string describing the 878 interface to the remote. This parameter is OPTIONAL, and is 879 applicable to all PW types. The interface description parameter 880 string length is variable, and can be from 0 to 80 octets. 881 Human-readable text MUST be provided in the UTF-8 charset using 882 the Default Language [RFC2277]. 884 - Payload Bytes 886 A 2 octet value indicating the number of TDM payload octets 887 contained in all packets on the CEM stream, from 48 to 1,023 888 octets. All of the packets in a given CEM stream have the same 889 number of payload bytes. Note that there is a possibility that 890 the packet size may exceed the SPE size in the case of an STS-1 891 SPE, which could cause two pointers to be needed in the CEM 892 header, since the payload may contain two J1 bytes for 893 consecutive SPEs. For this reason, the number of payload bytes 894 must be less than or equal to 783 for STS-1 SPEs. 896 - CEP Options. 898 An optional 16 Bit value of CEM Flags. See [8] for the definition 899 of the bit values. 901 - Requested VLAN ID. 903 An Optional 16 bit value indicating the requested VLAN ID. This 904 parameter MAY be used by an PE that is incapable of rewriting the 905 802.1Q ethernet VLAN tag on output. If the ingress PE receives 906 this request it MAY rewrite the VLAN ID tag in input to match the 907 requested VLAN ID. If this is not possible, and the VLAN ID does 908 not already match configured ingress VLAN ID the PW should not be 909 enabled.This parameter is applicable only to PW type 4. 911 - CEP/TDM bit rate. 913 This 32-bit integer is mandatory for CEP. For other PWs carrying 914 TDM traffic it is mandatory if the bit-rate cannot be directly 915 inferred from the service type. If present, it expresses the bit 916 rate of the attachment circuit as known to the advertizing PE in 917 "units" of 64 kbit/s. I.e., the value 26 must be used for CEP 918 carrying VT1.5 SPE, 35 - for CEP carrying a VT2 SPE, 99 - for VT6 919 SPE, 783 - for STS-1 SPE and n*783 - for STS-nc, n = 3, 12, 48, 920 192. Attempts to establish a PWC between a pair of TDM ports 921 with different bit-rates MUST be rejected with the appropriate 922 status code (see section "Status codes" below). 924 - Frame-Relay DLCI lenth. 926 An optional 16 bit value indicating the lenght of the frame-relay 927 DLCI field. This OPTIONAL interface paremeter can have value of 2 928 , or 4, with the default being equal to 2. If this interface 929 parameter is not present the default value of 2 is assumed. 931 5.4.1. PW types for which the control word is REQUIRED 933 The Label Mapping messages which are sent in order to set up these 934 PWs MUST have c=1. When a Label Mapping message for a PW of one of 935 these types is received, and c=0, a Label Release MUST be sent, with 936 an "Illegal C-bit" status code. In this case, the PW will not be 937 enabled. 939 5.4.2. PW types for which the control word is NOT mandatory 941 If a system is capable of sending and receiving the control word on 942 PW types for which the control word is not mandatory, then each such 943 PW endpoint MUST be configurable with a parameter that specifies 944 whether the use of the control word is PREFERRED or NOT PREFERRED. 945 For each PW, there MUST be a default value of this parameter. This 946 specification does NOT state what the default value should be. 948 If a system is NOT capable of sending and receiving the control word 949 on PWC types for which the control word is not mandatory, then it 950 behaves as exactly as if it were configured for the use of the 951 control word to be NOT PREFERRED. 953 If a Label Mapping message for the PW has already been received, but 954 no Label Mapping message for the PW has yet been sent, then the 955 procedure is the following: 957 -i. If the received Label Mapping message has c=0, send a Label 958 Mapping message with c=0, and the control word is not used. 959 -ii. If the received Label Mapping message has c=1, and the PW is 960 locally configured such that the use of the control word is 961 preferred, then send a Label Mapping message with c=1, and 962 the control word is used. 963 -iii. If the received Label Mapping message has c=1, and the PW is 964 locally configured such that the use of the control word is 965 not preferred or the control word is not supported, then act 966 as if no Label Mapping message for the PW had been received 967 (i.e., proceed to the next paragraph). 969 If a Label Mapping message for the PW has not already been received 970 (or if the received Label Mapping message had c=1 and either local 971 configuration says that the use of the control word is not preferred 972 or the control word is not supported), then send a Label Mapping 973 message in which the c bit is set to correspond to the locally 974 configured preference for use of the control word. (I.e., set c=1 if 975 locally configured to prefer the control word, set c=0 if locally 976 configured to prefer not to use the control word or if the control 977 word is not supported). 979 The next action depends on what control message is next received for 980 that PW. The possibilities are: 982 -i. A Label Mapping message with the same c bit value as 983 specified in the Label Mapping message that was sent. PW 984 setup is now complete, and the control word is used if c=1 985 but not used if c=0. 986 -ii. A Label Mapping message with c=1, but the Label Mapping 987 message that was sent has c=0. In this case, ignore the 988 received Label Mapping message, and continue to wait for the 989 next control message for the PW. 990 -iii. A Label Mapping message with c=0, but the Label Mapping 991 message that was sent has c=1. In this case, send a Label 992 Withdraw message with a "Wrong c-bit" status code, followed 993 by a Label Mapping message that has c=0. PW setup is now 994 complete, and the control word is not used. 995 -iv. A Label Withdraw message with the "Wrong c-bit" status code. 996 Treat as a normal Label Withdraw, but do not respond. 997 Continue to wait for the next control message for the PW. 999 If at any time after a Label Mapping message has been received, a 1000 corresponding Label Withdraw or Release is received, the action taken 1001 is the same as for any Label Withdraw or Release that might be 1002 received at any time. 1004 If both endpoints prefer the use of the control word, this procedure 1005 will cause it to be used. If either endpoint prefers not to use the 1006 control word, or does not support the control word, this procedure 1007 will cause it not to be used. If one endpoint prefers to use the 1008 control word but the other does not, the one that prefers not to use 1009 it is has no extra protocol to execute, it just waits for a Label 1010 Mapping message that has c=0. 1012 The diagram in Appendix A illustrates the above procedure. 1014 5.4.3. Status codes 1016 RFC 3036 has a range of Status Code values which are assigned by IANA 1017 on a First Come, First Served basis. These additional status codes, 1018 and assigned Values are specified in "IANA Allocations for pseudo 1019 Wire Edge to Edge Emulation (PWE3)" [13]. 1021 5.5. LDP label Withdrawal procedures 1023 As mentioned above the Group ID field can be used to withdraw all PW 1024 labels associated with a particular group ID. This procedure is 1025 OPTIONAL, and if it is implemented the LDP label withdraw message 1026 should be as follows: the PW information length field is set to 0, 1027 the PW ID field is not present, and the interface parameters field is 1028 not present. For the purpose of this document this is called the 1029 "wild card withdraw procedure", and all PEs implementing this design 1030 are REQUIRED to accept such a withdraw message, but are not required 1031 to send it. 1033 The interface parameters field MUST NOT be present in any LDP PW 1034 label withdrawal message or release message. A wildcard release 1035 message MUST include only the group ID. A Label Release message 1036 initiated from the imposition router must always include the PW ID. 1038 5.6. Sequencing Considerations 1040 In the case where the router considers the sequence number field in 1041 the control word, it is important to note the following when 1042 advertising labels 1044 5.6.1. Label Mapping Advertisements 1046 After a label has been withdrawn by the disposition router and/or 1047 released by the imposition router, care must be taken to not re- 1048 advertise (re-use) the released label until the disposition router 1049 can be reasonably certain that old packets containing the released 1050 label no longer persist in the MPLS network. 1052 This precaution is required to prevent the imposition router from 1053 restarting packet forwarding with sequence number of 1 when it 1054 receives the same label mapping if there are still older packets 1055 persisting in the network with sequence number between 1 and 32768. 1056 For example, if there is a packet with sequence number=n where n is 1057 in the interval[1,32768] traveling through the network, it would be 1058 possible for the disposition router to receive that packet after it 1059 re-advertises the label. Since the label has been released by the 1060 imposition router, the disposition router SHOULD be expecting the 1061 next packet to arrive with sequence number to be 1. Receipt of a 1062 packet with sequence number equal to n will result in n packets 1063 potentially being rejected by the disposition router until the 1064 imposition router imposes a sequence number of n+1 into a packet. 1065 Possible methods to avoid this is for the disposition router to 1066 always advertise a different PW label, or for the disposition router 1067 to wait for a sufficient time before attempting to re-advertised a 1068 recently released label. This is only an issue when sequence number 1069 processing at the disposition router is enabled. 1071 5.6.2. Label Mapping Release 1073 In situations where the imposition router wants to restart forwarding 1074 of packets with sequence number 1, the router shall 1) Send to 1075 disposition router a label mapping release, and 2) Send to 1076 disposition router a label mapping request. When sequencing is 1077 supported, advertisement of a PW label in response to a label mapping 1078 request MUST also consider the issues discussed in the section on 1079 Label Mapping Advertisements. 1081 6. Security Considerations 1083 This document does not affect the underlying security issues of MPLS. 1085 7. References 1087 [1] "LDP Specification." L. Andersson, P. Doolan, N. Feldman, A. 1088 Fredette, B. Thomas. January 2001. RFC3036 1090 [2] ITU-T Recommendation Q.933, and Q.922 Specification for Frame 1091 Mode Basic call control, ITU Geneva 1995 1093 [3] "MPLS Label Stack Encoding", E. Rosen, Y. Rekhter, D. Tappan, G. 1094 Fedorkow, D. Farinacci, T. Li, A. Conta. RFC3032 1096 [4] "IEEE 802.3ac-1998" IEEE standard specification. 1098 [5] American National Standards Institute, "Synchronous Optical 1099 Network Formats," ANSI T1.105-1995. 1101 [6] ITU Recommendation G.707, "Network Node Interface For The 1102 Synchronous Digital Hierarchy", 1996. 1104 [7] "Frame Relay over Pseudo-Wires", draft-ietf-pwe3-frame-relay- 1105 01.txt. ( work in progress ) 1107 [8] "SONET/SDH Circuit Emulation Service Over Packet (CEP)", 1108 draft-ietf-pwe3-sonet-01.txt ( Work in progress ) 1110 [9] "Encapsulation Methods for Transport of ATM Cells/Frame Over IP 1111 and MPLS Networks", draft-ietf-pwe3-atm-encap-05.txt ( work in 1112 progress ) 1114 [10] "Encapsulation Methods for Transport of PPP/HDLC Frames Over IP 1115 and MPLS Networks", draft-ietf-pwe3-hdlc-ppp-encap-01.txt. ( work in 1116 progress ) 1118 [11] "Encapsulation Methods for Transport of Ethernet Frames Over 1119 IP/MPLS Networks", draft-ietf-pwe3-ethernet-encap-05.txt. ( work in 1120 progress ) 1122 [12] "PWE3 Architecture" Bryant, et al., draft-ietf-pwe3-arch-04.txt 1123 ( work in progress ), August 2003. 1125 [13] "IANA Allocations for pseudo Wire Edge to Edge Emulation (PWE3)" 1126 Martini, Townsley, draft-ietf-pwe3-iana-allocation-04.txt ( work in 1127 progress ), February 2003 1129 [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1130 IANA Considerations section in RFCs", BCP 26, RFC 2434, October 1998. 1132 [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and 1133 Languages", BCP 18, RFC 2277, January 1998. 1135 [note1] FEC element type 128 is pending IANA approval. 1137 [note2] Status codes assigment is pending IANA approval. 1139 8. Author Information 1141 Luca Martini 1142 Cisco Systems, Inc. 1143 9155 East Nichols Avenue, Suite 400 1144 Englewood, CO, 80112 1145 e-mail: lmartini@cisco.com 1146 Nasser El-Aawar 1147 Level 3 Communications, LLC. 1148 1025 Eldorado Blvd. 1149 Broomfield, CO, 80021 1150 e-mail: nna@level3.net 1152 Giles Heron 1153 Tellabs 1154 Abbey Place 1155 24-28 Easton Street 1156 High Wycombe 1157 Bucks 1158 HP11 1NT 1159 UK 1160 e-mail: giles.heron@tellabs.com 1162 Eric C. Rosen 1163 Cisco Systems, Inc. 1164 1414 Massachusetts Avenue 1165 Boxborough, MA 01719 1166 e-mail: erosen@cisco.com 1168 Dan Tappan 1169 Cisco Systems, Inc. 1170 1414 Massachusetts Avenue 1171 Boxborough, MA 01719 1172 e-mail: tappan@cisco.com 1174 Toby Smith 1175 Omega Corporate Center 1176 1300 Omega Drive 1177 Pittsburgh, PA 15205 1178 Laurel Networks, Inc. 1179 e-mail: tob@laurelnetworks.com 1181 9. Additional Contributing Authors 1183 Dimitri Stratton Vlachos 1184 Mazu Networks, Inc. 1185 125 Cambridgepark Drive 1186 Cambridge, MA 02140 1187 e-mail: d@mazunetworks.com 1189 Jayakumar Jayakumar, 1190 Cisco Systems Inc. 1191 225, E.Tasman, MS-SJ3/3, 1192 San Jose, CA, 95134 1193 e-mail: jjayakum@cisco.com 1195 Alex Hamilton, 1196 Cisco Systems Inc. 1197 285 W. Tasman, MS-SJCI/3/4, 1198 San Jose, CA, 95134 1199 e-mail: tahamilt@cisco.com 1201 Steve Vogelsang 1202 Laurel Networks, Inc. 1203 Omega Corporate Center 1204 1300 Omega Drive 1205 Pittsburgh, PA 15205 1206 e-mail: sjv@laurelnetworks.com 1208 John Shirron 1209 Omega Corporate Center 1210 1300 Omega Drive 1211 Pittsburgh, PA 15205 1212 Laurel Networks, Inc. 1213 e-mail: jshirron@laurelnetworks.com 1215 Andrew G. Malis 1216 Tellabs 1217 90 Rio Robles Dr. 1218 San Jose, CA 95134 1219 e-mail: Andy.Malis@tellabs.com 1220 Vinai Sirkay 1221 Reliance Infocomm 1222 Dhirubai Ambani Knowledge City 1223 Navi Mumbai 400 709 1224 e-mail: vinai@sirkay.com 1226 Vasile Radoaca 1227 Nortel Networks 1228 600 Technology Park 1229 Billerica MA 01821 1230 e-mail: vasile@nortelnetworks.com 1232 Chris Liljenstolpe 1233 Cable & Wireless 1234 11700 Plaza America Drive 1235 Reston, VA 20190 1236 e-mail: chris@cw.net 1238 Dave Cooper 1239 Global Crossing 1240 960 Hamlin Court 1241 Sunnyvale, CA 94089 1242 e-mail: dcooper@gblx.net 1244 Kireeti Kompella 1245 Juniper Networks 1246 1194 N. Mathilda Ave 1247 Sunnyvale, CA 94089 1248 e-mail: kireeti@juniper.net 1250 10. Appendix A - C-bit Handling Procedures Diagram 1252 ------------------ 1253 Y | Received Label | N 1254 -------| Mapping Msg? |-------------- 1255 | ------------------ | 1256 -------------- | 1257 | | | 1258 ------- ------- | 1259 | C=0 | | C=1 | | 1260 ------- ------- | 1261 | | | 1262 | ---------------- | 1263 | | Control Word | N | 1264 | | Capable? |----------- | 1265 | ---------------- | | 1266 | Y | | | 1267 | | | | 1268 | ---------------- | | 1269 | | Control Word | N | | 1270 | | Preferred? |---- | | 1271 | ---------------- | | | 1272 | Y | | | | 1273 | | | | ---------------- 1274 | | | | | Control Word | 1275 | | | | | Preferred? | 1276 | | | | ---------------- 1277 | | | | N | Y | 1278 | | | | | | 1279 Send Send Send Send Send Send 1280 C=0 C=1 C=0 C=0 C=0 C=1 1281 | | | | 1282 ---------------------------------- 1283 | If receive the same as sent, | 1284 | PW setup is complete. If not: | 1285 ---------------------------------- 1286 | | | | 1287 ------------------- ----------- 1288 | Receive | | Receive | 1289 | C=1 | | C=0 | 1290 ------------------- ----------- 1291 | | 1292 Wait for the Send 1293 next message Wrong C-Bit 1294 | 1295 Send Label 1296 Mapping Message 1298 11. Appendix B - Notification Message fo PW Status Diagram 1300 0 1 2 3 1301 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 1302 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1303 |0| Notification (0x0001) | Message Length | 1304 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1305 | Message ID | 1306 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1307 |0|1| Status (0x0300) | Length | 1308 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1309 |0|1| Status Code=0x00000028 | 1310 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1311 | Message ID=0 | 1312 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1313 | Message Type=0 | PW Status TLV | 1314 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1315 | PW Status TLV | 1316 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1317 | PW Status TLV | PWId FEC | 1318 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1319 | | 1320 | | 1321 | PWId FEC or Generalized ID FEC | 1322 | | 1323 | | 1324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+