idnits 2.17.1 draft-ietf-trill-vendor-channel-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 8, 2018) is 2213 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) -- Possible downref: Non-RFC (?) normative reference: ref. '802' Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TRILL Working Group Donald Eastlake 2 INTERNET-DRAFT Yizhou Li 3 Intended status: Proposed Standard Weiguo Hao 4 Huawei 5 Ayan Banerjee 6 Cisco 7 Expires: September 7, 2018 March 8, 2018 9 TRILL: Vendor Specific TRILL Channel Protocol 10 12 Abstract 14 The IETF TRILL (TRansparent Interconnection of Lots of Links) 15 protocol is implemented by devices called TRILL switches or RBridges 16 (Routing Bridges). TRILL includes a general mechanism, called RBridge 17 Channel, for the transmission of typed messages between RBridges in 18 the same campus and between RBridges and end stations on the same 19 link. This document specifies a method to send vendor specific 20 messages over the RBridge Channel facility. 22 Status of This Memo 24 This Internet-Draft is submitted to IETF in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Distribution of this document is unlimited. Comments should be sent 28 to the TRILL working group mailing list. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF), its areas, and its working groups. Note that 32 other groups may also distribute working documents as Internet- 33 Drafts. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 The list of current Internet-Drafts can be accessed at 41 http://www.ietf.org/1id-abstracts.html. The list of Internet-Draft 42 Shadow Directories can be accessed at 43 http://www.ietf.org/shadow.html. 45 Table of Contents 47 1. Introduction............................................3 48 1.1 Terminology and Acronyms...............................3 50 2. Vendor Channel Packet Format............................4 52 3. Vendor Channel Errors...................................7 53 3.1 Sending an Error Response..............................8 55 4. IANA Considerations....................................10 57 5. Security Considerations................................11 59 Normative References......................................12 60 Informative References....................................12 62 Authors' Addresses........................................13 64 1. Introduction 66 The IETF TRILL (TRansparent Interconnection of Lots of Links) 67 protocol [RFC6325] [RFC7780] is implemented by devices called TRILL 68 switches or RBridges (Routing Bridges). It provides efficient least 69 cost transparent routing in multi-hop networks with arbitrary 70 topologies and link technologies, using link-state routing and a hop 71 count. 73 The TRILL protocol includes an RBridge Channel facility [RFC7178] to 74 support typed message transmission between RBridges in the same 75 campus and between RBridges and end stations on the same link. This 76 document specifies a method of sending messages specified by a 77 particular organization, indicated by OUI (Organizationally Unique 78 Identifier) [RFC7042] or CID (Company Identifier) [802], over the 79 RBridge Channel facility. Such organization specific messages could, 80 for example, be used for vendor specific diagnotic or control 81 messages. 83 However, note that a range of RBridge Channel protocol numbers are 84 available based on RFC publication. Those intending to use the 85 RBridge Channel facility are encouraged to document their use in a 86 RFC and to use RBridge Channel protocol numbers based on such RFC 87 publication. 89 1.1 Terminology and Acronyms 91 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 92 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 93 document are to be interpreted as described in [RFC2119]. 95 This document uses the acronyms defined in [RFC6325] supplemented by 96 the following additional acronym: 98 CID - Company Identifier [802] 100 OUI - Organizationally Unique Identifier [RFC7042] 102 TRILL switch - An alternative term for an RBridge 104 2. Vendor Channel Packet Format 106 The general structure of an RBridge Channel packet on a link between 107 TRILL switches (RBridges) is shown in Figure 1 below. When an RBridge 108 Channel message is sent between an RBridge and an end station on the 109 same link, in either direction, it is called a Native RBridge Channel 110 message and the TRILL Header (including the Inner Ethernet Addresses 111 and Data Label area) is omitted as show in Figure 2. The type of 112 RBridge Channel packet is given by a Protocol field in the RBridge 113 Channel Header that indicates how to interpret the Channel Protocol 114 Specific Payload. See [RFC7178]. 116 Packet Structure 118 +-----------------------------------+ 119 | Link Header | 120 +-----------------------------------+ 121 | TRILL Header | 122 +-----------------------------------+ 123 | Inner Ethernet Addresses | 124 +-----------------------------------+ 125 | Data Label (VLAN or FGL) | 126 +-----------------------------------+ 127 | RBridge Channel Header | 128 +-----------------------------------+ 129 | Channel Protocol Specific Payload | 130 +-----------------------------------+ 131 | Link Trailer (FCS if Ethernet) | 132 +-----------------------------------+ 134 Figure 1. RBridge Channel Packet Structure 135 Message Structure 137 +-----------------------------------+ 138 | Link Header | 139 +-----------------------------------+ 140 | RBridge Channel Header | 141 +-----------------------------------+ 142 | Channel Protocol Specific Payload | 143 +-----------------------------------+ 144 | Link Trailer (FCS if Ethernet) | 145 +-----------------------------------+ 147 Figure 2. Native RBridge Channel Message Structure 149 Figure 3 below expands the RBridge Channel Header and Channel 150 Protocol Specific Payload above for the case of the Vendor Specific 151 RBridge Channel Tunnel Protocol. 0x8946 is the Ethertype [RFC7042] 152 assigned by the IEEE for the RBridge Channel protocol. 154 1 2 3 155 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 156 RBridge Channel Header: 157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 158 | RBridge-Channel (0x8946) | 0x0 | Channel Protocol= TBD | 159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 160 | Flags | ERR | 161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 162 RBridge Channel Protocol Specific: 163 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 164 | Vendor ID = OUI/CID | 165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 166 |OUI/CID (cont.)| VERR | Sub-Protocol | Sub-Version | 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 168 | Vendor Protocol Specific Data 169 | 170 | ... 172 Figure 3. Channel Tunnel Message Structure 174 The fields in Figure 3 related to the Vendor RBridge Channel Protocol 175 are as follows: 177 Channel Protocol: The RBridge Channel Protocol value allocated 178 for Vendor Channel (see Section 4). 180 Vendor ID: This field indicates the vendor specifying the 181 particular use or uses of the Vendor Channel. The vendor to 182 whom the OUI or CID in this field has been allocated is in 183 charge of specifying Vendor Channel messages using their 184 identifier. Depending on the first byte of this field as 185 follows: 186 OUI: When the bottom two bits of the first byte of the 187 Vendor ID are zero, that is, the first byte is 188 0bXXXXXX00, then the Vendor ID is an OUI. 189 CID: When the bottom two bits of the first byte are a one 190 followed by a zero, that is, the first byte is 191 0bXXXXXX10, the Vendor ID is a CID. 192 Other: Other values of the bottom two bits of the first byte 193 of the Vendor ID are invalid and a VERR of 2 MUST, 194 subject to possible rate limiting, be returned (see 195 Section 3). 197 VERR: Vendor Channel Error. See Section 3. 199 Sub-Protocol: Actually, the vendor specifying their use of the 200 Vendor Channel can do whatever they want with the bits after 201 the VERR field. But it is strongly RECOMMENDED that they use 202 the sub-protocol / sub-version fields indicated so that 203 multiple and evolving uses can be specified based on a single 204 OUI. 206 Sub-Version: See explanation above of the Sub-Protocol field. This 207 field is provided to indicate the version of the particuar 208 vendor's Sub-Protocol. 210 3. Vendor Channel Errors 212 The VERR field values from 0x0 through 0xF inclusive and value 0xFF 213 are reserved for specification by the IETF. See Section 4. All other 214 values of VERR are available for whatever use the vendor specifies 215 except that a Vendor Channel implementation MUST NOT send a Vendor 216 Channel Error in response to a Vendor Channel message with a non-zero 217 VERR. 219 The VERR values thus far specified by the IETF are as follows: 221 0. The VERR field is zero in Vendor Channel messages unless the 222 Vendor Channel packet is reporting an error. 224 1. The value one indicate that the length of the RBridge Channel 225 Specific Data is less than 4 bytes. This means that at least the 226 VERR byte and possible part or all of the OUI is truncated. If an 227 RBridge that implements the Vendor Channel facility receives such 228 a Vendor Channel message, it MUST expand it to extend through the 229 VERR field, set that field to one, and returns the packet as 230 described in Section 3.1. 232 2. The OUI/CID field value is unknown. If an RBridge implements the 233 Vendor Channel facility and receives a Vendor Channel packet with 234 a zero VERR field and an OUI/CID field it does not recognize and 235 the SL flag is zero in the RBridge Channel Header, it MUST set the 236 VERR field to the value two and returns the packet as described in 237 Section 3.1. 239 3. The value 3 indicates that the Sub-Protocol field value is 240 unknown. If an RBridge implements the Vendor Channel facility and 241 receives a Vendor Channel packet with a zero VERR field and zero 242 SL flag in the RBridge Channel Header, an OUI/CID that it 243 implements, but a Sub-Protocol field value it does not recongize 244 even though it implements and uses the Sub-Protocol field, it 245 SHOULD set the VERR field to 3 and returns the packet as described 246 in Section 3.1. 248 4. The value 4 indicates that the Sub-Version field value is unknown. 249 If an RBridge implements the Vendor RBridge Channel facility, the 250 Sub-Protocol field, and the Sub-Version field and receives a 251 Vendor Channel packet with a zero VERR field and zero SL flag in 252 the RBridge Channel Header, an OUI/CID and Sub-Protocol that it 253 implements, but a Sub-Version fields value it does not recongize, 254 it SHOULD set the VERR field to 4 and returns the packet as 255 described in Section 3.1. 257 Uniform error handling is generally advisable from a maintenance and 258 understandability point of view; however, "SHOULD" is chosen for 259 errors 3 and 4 above because, as long as the messages are all 260 distinguished by a vendor's OUI/CID, it is up to that vendor to 261 decide between standard and non-standard error handling. 263 3.1 Sending an Error Response 265 The IETF specified Vendor Channel errors are sent in response to a 266 received RBridge Channel packet by setting the VERR field as 267 specified above and modifying the packet as specified below. (The ERR 268 field will be zero because, if it was non-zero, the packet would have 269 been handled at the general RBridge Channel level rather than being 270 passed down to the Vendor Channel level.) 272 The RBridge Channel Header is modified by setting the SL flag. 273 (The flags in the Channel Header and the semantics of the SL flag 274 are specified in [RFC7178].) 276 o If an error 1 is being generated because of truncation, the 277 RBridge Channel Specific Data area is extended to include the 278 VERR byte. 280 o If Vendor Channel message was sent between RBridges, the TRILL 281 Header is modified by (1) clearing the M bit, (2) setting the 282 egress nickname to the ingress nickname as received, (3) 283 setting the ingress nickname to a nickname held by the TRILL 284 switch sending the error packet, and (4) setting the hop count 285 to the usual value on TRILL Data packets used by the TRILL 286 switch sending the error packet. 288 o If Vendor Channel message was sent between an RBridge and an 289 end station in either direction, the outer MAC addresses are 290 modified by setting the Outer.MacDA to the Outer.MacSA as 291 received, and the Outer.MacSA is set to the MAC address of the 292 port of the TRILL switch or end station sending the error 293 packet. 295 o The priority of the error response message MAY be reduced from 296 the priority of the Vendor Chanel messge causing the error, 297 unless it was already minimum priority, and the Drop 298 Eligibility Indicator bit MAY be set in an error response. (See 299 Section 4.1.1 of [RFC6325].) 301 o Vendor Channel error responses MAY be rate limited. 303 It is generally anticipated that the entire packet in which an error 304 was detected would be sent back, modified as above, as the protocol 305 specifc payload, so that, for example, error responses could more 306 easily be matched with messages sent; however, except for errors 1 307 and 2, this is up to the vendor specifying how their Vendor RBridge 308 Channel messages are to be used. 310 Note that if you receive a Vendor Channel error message with error 1, 311 indicating a truncation error, you cannot trust the apparent 312 "OUI/CID" in that Vendor Channel error message. 314 4. IANA Considerations 316 IANA is requested to allocate TBD for the Vendor Specific RBridge 317 Channel Protocol from the range of RBridge Channel protocols 318 allocated by Standards Action. 320 IANA is requested to establish a registry as follows on the TRILL 321 Parameters web page indented under RBridge Channel Error Codes after 322 RBridge Channel SubError Codes: 324 Registry: Vendor RBridge Channel Error Codes 325 Registration Procedures: Standards Action 326 Reference: (This document) 328 Code Description Reference 329 ---- ----------- --------- 330 0x00 No error This document 331 0x01 Message too short This document 332 0x02 Unknown OUI/CID This document 333 0x03 Unknown Sub-Protocol This document 334 0x04 Unknown Sub-Version This document 335 0x05-0x0F Unassigned - 336 0x10-0xFE Reserved for vendor use This document 337 0xFF Reserved This document 339 5. Security Considerations 341 See [RFC6325] for general TRILL Security Considerations. 343 See [RFC7178] for general RBridge Channel Security Considerations. 345 The Vendor Specific RBridge Channel Protocol provides no security 346 assurances or features. (Its first use was as an envelope for BFD 347 messages [RFC7175] which provide their own security.) Any needed 348 security can be provided by fields or processing within the Vendor 349 Protocol Specific Data, which is outside the scope of this document. 350 Alternatively or in addition, use of Vendor Channel MAY be nested 351 inside the RBridge Channel Header Extension Protocol [RFC7978] which 352 can provide some security services. 354 Normative References 356 [802] - IEEE Std 802-2014, "IEEE Standard for Local and Metropolitan 357 Area Networks: Overview and Architecture", June 2014. 359 [RFC2119] - Bradner, S., "Key words for use in RFCs to Indicate 360 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, 361 March 1997, . 363 [RFC6325] - Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A. 364 Ghanwani, "Routing Bridges (RBridges): Base Protocol 365 Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011, 366 . 368 [RFC7042] - Eastlake 3rd, D. and J. Abley, "IANA Considerations and 369 IETF Protocol and Documentation Usage for IEEE 802 Parameters", 370 BCP 141, RFC 7042, DOI 10.17487/RFC7042, October 2013, 371 . 373 [RFC7178] - Eastlake 3rd, D., Manral, V., Li, Y., Aldrin, S., and D. 374 Ward, "Transparent Interconnection of Lots of Links (TRILL): 375 RBridge Channel Support", RFC 7178, DOI 10.17487/RFC7178, May 376 2014, . 378 [RFC7780] - Eastlake 3rd, D., Zhang, M., Perlman, R., Banerjee, A., 379 Ghanwani, A., and S. Gupta, "Transparent Interconnection of 380 Lots of Links (TRILL): Clarifications, Corrections, and 381 Updates", RFC 7780, DOI 10.17487/RFC7780, February 2016, 382 . 384 Informative References 386 [RFC7175] - Manral, V., Eastlake 3rd, D., Ward, D., and A. Banerjee, 387 "Transparent Interconnection of Lots of Links (TRILL): 388 Bidirectional Forwarding Detection (BFD) Support", RFC 7175, 389 DOI 10.17487/RFC7175, May 2014, . 392 [RFC7978] - Eastlake 3rd, D., Umair, M., and Y. Li, "Transparent 393 Interconnection of Lots of Links (TRILL): RBridge Channel 394 Header Extension", RFC 7978, DOI 10.17487/RFC7978, September 395 2016, . 397 Authors' Addresses 399 Donald E. Eastlake, 3rd 400 Huawei Technologies 401 155 Beaver Street 402 Milford, MA 01757 USA 404 Phone: +1-508-333-2270 405 EMail: d3e3e3@gmail.com 407 Yizhou Li 408 Huawei Technologies 409 101 Software Avenue, 410 Nanjing 210012, China 412 Phone: +86-25-56622310 413 Email: liyizhou@huawei.com 415 Weiguo Hao 416 Huawei Technologies 417 101 Software Avenue, 418 Nanjing 210012, China 420 Phone: +86-25-56623144 421 Email: haoweiguo@huawei.com 423 Ayan Banerjee 424 Cisco 426 Email: ayabaner@cisco.com 428 Copyright, Disclaimer, and Additional IPR Provisions 430 Copyright (c) 2018 IETF Trust and the persons identified as the 431 document authors. All rights reserved. 433 This document is subject to BCP 78 and the IETF Trust's Legal 434 Provisions Relating to IETF Documents 435 (http://trustee.ietf.org/license-info) in effect on the date of 436 publication of this document. Please review these documents 437 carefully, as they describe your rights and restrictions with respect 438 to this document. Code Components extracted from this document must 439 include Simplified BSD License text as described in Section 4.e of 440 the Trust Legal Provisions and are provided without warranty as 441 described in the Simplified BSD License. The definitive version of 442 an IETF Document is that published by, or under the auspices of, the 443 IETF. Versions of IETF Documents that are published by third parties, 444 including those that are translated into other languages, should not 445 be considered to be definitive versions of IETF Documents. The 446 definitive version of these Legal Provisions is that published by, or 447 under the auspices of, the IETF. Versions of these Legal Provisions 448 that are published by third parties, including those that are 449 translated into other languages, should not be considered to be 450 definitive versions of these Legal Provisions. For the avoidance of 451 doubt, each Contributor to the IETF Standards Process licenses each 452 Contribution that he or she makes as part of the IETF Standards 453 Process to the IETF Trust pursuant to the provisions of RFC 5378. No 454 language to the contrary, or terms, conditions or rights that differ 455 from or are inconsistent with the rights and licenses granted under 456 RFC 5378, shall have any effect and shall be null and void, whether 457 published or posted by such Contributor, or included with or in such 458 Contribution.