TRILL Working Group DonaldInternet Engineering Task Force (IETF) D. EastlakeINTERNET-DRAFT Yizhou3rd Request for Comments: 8381 Y. LiIntended status: Proposed Standard WeiguoCategory: Standards Track W. Hao ISSN: 2070-1721 HuaweiAyanA. Banerjee CiscoExpires: September 7, 2018 March 8,May 2018TRILL: Vendor Specific TRILLTransparent Interconnection of Lots of Links (TRILL): Vendor-Specific RBridge Channel Protocol<draft-ietf-trill-vendor-channel-01.txt>Abstract The IETF TRILL(TRansparent(Transparent Interconnection of Lots of Links) protocol is implemented by devices called TRILL switches or RBridges (Routing Bridges). TRILL includes a general mechanism, called an RBridge Channel, for the transmission of typed messages between RBridges in the same campus and between RBridges and end stations on the same link. This document specifies a method to sendvendorvendor- specific messages over the RBridge Channel facility. Status of This Memo ThisInternet-Draftissubmitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Distribution of thisan Internet Standards Track document. This document isunlimited. Comments should be sent to the TRILL working group mailing list. Internet-Drafts are working documentsa product of the Internet Engineering Task Force(IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid(IETF). It represents the consensus of the IETF community. It has received public review and has been approved fora maximumpublication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status ofsix monthsthis document, any errata, and how to provide feedback on it may beupdated, replaced, or obsoleted by other documentsobtained atany time. Ithttps://www.rfc-editor.org/info/rfc8381. Copyright Notice Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document isinappropriatesubject touse Internet-DraftsBCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, asreference material orthey describe your rights and restrictions with respect tocite them other thanthis document. Code Components extracted from this document must include Simplified BSD License text as"workdescribed inprogress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html. The listSection 4.e ofInternet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. INTERNET-DRAFT TRILL: Vendor Channelthe Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1.Introduction............................................3 1.1Introduction ....................................................2 1.1. Terminology andAcronyms...............................3Acronyms ...................................3 2. Vendor Channel PacketFormat............................4Format ....................................3 3. Vendor ChannelErrors...................................7 3.1Errors ...........................................6 3.1. Sending an ErrorResponse..............................8Response ..................................7 4. IANAConsiderations....................................10Considerations .............................................9 5. SecurityConsiderations................................11Considerations .........................................9 6. NormativeReferences......................................12References ...........................................10 7. InformativeReferences....................................12References .........................................10 Authors'Addresses........................................13 INTERNET-DRAFT TRILL: Vendor ChannelAddresses ................................................11 1. Introduction The IETF TRILL(TRansparent(Transparent Interconnection of Lots of Links) protocol [RFC6325] [RFC7780] is implemented by devices called TRILL switches or RBridges (Routing Bridges). It provides efficientleastleast- cost transparent routing in multi-hop networks with arbitrary topologies and link technologies, using link-state routing and a hop count. The TRILL protocol includes an RBridge Channel facility [RFC7178] to support typed message transmission between RBridges in the same campus and between RBridges and end stations on the same link. This document specifies a method of sending messages specified by a particular organization, indicated by OUI (Organizationally Unique Identifier) [RFC7042] or CID (Company Identifier) [802], over the RBridge Channel facility. Suchorganization specificorganization-specific messages could, for example, be used forvendor specific diagnoticvendor-specific diagnostic or control messages. However, note that a range of RBridge Channel protocol numbers are available based on RFC publication. Those intending to use the RBridge Channel facility are encouraged to document their use inaan RFC and to use RBridge Channel protocol numbers based on such RFC publication.1.11.1. Terminology and Acronyms The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in[RFC2119].BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. This document uses the acronyms defined in [RFC6325] supplemented by the following additionalacronym:acronyms: CID - Company Identifier [802] FGL - Fine-Grained Labeling OUI - Organizationally Unique Identifier [RFC7042] TRILL switch - An alternative term for an RBridgeINTERNET-DRAFT TRILL: Vendor Channel2. Vendor Channel Packet Format The general structure of an RBridge Channel packet on a link between TRILL switches (RBridges) is shown in Figure 1 below. When an RBridge Channel message is sent between an RBridge and an end station on the same link, in either direction, it is called a Native RBridge Channel message and the TRILL Header (including the Inner Ethernet Addresses and Data Label area) is omitted asshowshown in Figure 2. The type of RBridge Channel packet is given by a Protocol field in the RBridge Channel Header that indicates how to interpret theChannel Protocol SpecificChannel- Protocol-Specific Payload. See [RFC7178]. Packet Structure +-----------------------------------+ | Link Header | +-----------------------------------+ | TRILL Header | +-----------------------------------+ | Inner Ethernet Addresses | +-----------------------------------+ | Data Label (VLAN or FGL) | +-----------------------------------+ | RBridge Channel Header | +-----------------------------------+ |Channel Protocol SpecificChannel-Protocol-Specific Payload | +-----------------------------------+ | Link Trailer (FCS if Ethernet) | +-----------------------------------+ Figure1.1: RBridge Channel Packet StructureINTERNET-DRAFT TRILL: Vendor ChannelMessage Structure +-----------------------------------+ | Link Header | +-----------------------------------+ | RBridge Channel Header | +-----------------------------------+ | Channel Protocol Specific Payload | +-----------------------------------+ | Link Trailer (FCS if Ethernet) | +-----------------------------------+ Figure2.2: Native RBridge Channel Message Structure Figure 3 below expands the RBridge Channel Header and Channel Protocol Specific Payload above for the case of theVendor SpecificVendor-Specific RBridge Channel Tunnel Protocol. 0x8946 is the Ethertype [RFC7042] assigned by the IEEE for the RBridge Channel protocol. 1 2 3 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 RBridge Channel Header: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RBridge-Channel (0x8946) | 0x0 | ChannelProtocol= TBD |Protocol=0x008| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | ERR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ RBridge Channel Protocol Specific: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Vendor ID = OUI/CID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |OUI/CID (cont.)| VERR | Sub-Protocol | Sub-Version | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Vendor Protocol SpecificVendor-Protocol-Specific Data | | ... Figure3.3: Channel Tunnel Message Structure The fields in Figure 3 related to the Vendor RBridge Channel Protocol are as follows: Channel Protocol: The RBridge Channel Protocol value allocated for the Vendor Channel (see Section 4). Vendor ID: This field indicates the vendor specifying the particular use or uses of the Vendor Channel. The vendor to whom the OUI or CID in this field has been allocated is in charge of specifying Vendor Channel messages using their identifier. Depending on the first byte of this field asINTERNET-DRAFT TRILL: Vendor Channelfollows: OUI: When the bottom two bits of the first byte of the Vendor ID arezero, thatzero (that is, the first byte is0bXXXXXX00, then0bXXXXXX00), the Vendor ID is an OUI. CID: When the bottom two bits of the first byte are a one followed by azero, thatzero (that is, the first byte is0bXXXXXX10,0bXXXXXX10), the Vendor ID is a CID. Other: Other values of the bottom two bits of the first byte of the Vendor ID areinvalidinvalid, and a VERR of 2MUST,MUST be returned, subject to possible ratelimiting, be returnedlimiting (see Section 3). VERR: Vendor Channel Error. See Section 3. Sub-Protocol: Actually, the vendor specifying their use of the Vendor Channel can do whatever they want with the bits after the VERR field. But it is strongly RECOMMENDED that they use the sub-protocol / sub-version fields indicated so that multiple and evolving uses can be specified based on a single OUI. Sub-Version: See explanation above of the Sub-Protocol field. This field is provided to indicate the version of theparticuarparticular vendor's Sub-Protocol.INTERNET-DRAFT TRILL: Vendor Channel3. Vendor Channel Errors The VERR field values from 0x0 through0xF inclusive0x0F (inclusive) and the value 0xFF are reserved for specification by the IETF. See Section 4. All other values of VERR are available for whatever use the vendorspecifiesspecifies, except that a Vendor Channel implementation MUST NOT send a Vendor Channel Error in response to a Vendor Channel message with anon-zerononzero VERR. The VERR values thus far specified by the IETF are as follows: 0. The VERR field is zero in Vendor Channel messages unless the Vendor Channel packet is reporting an error. 1. The value oneindicateindicates that the length of theRBridge ChannelRBridge-Channel- Specific Data is less than 4 bytes. This means that at least the VERR byte andpossiblepossibly part or all of the OUI is truncated. If an RBridge that implements the Vendor Channel facility receives such a Vendor Channel message, it MUST expand it to extend through the VERR field, set that field to one, andreturnsreturn the packet as described in Section 3.1. 2. The OUI/CID field value is unknown. If an RBridge implements the Vendor Channel facility and receives a Vendor Channel packet with a zero VERR field and an OUI/CID field it does not recognize and the SL flag is zero in the RBridge Channel Header, it MUST set the VERR field to the value two andreturnsreturn the packet as described in Section 3.1. 3. The value 3 indicates that the Sub-Protocol field value is unknown.If anAn RBridge SHOULD set the VERR field to 3 and return the packet as described in Section 3.1 if it implements the Vendor Channel facility and it receives a Vendor Channel packetwithmeeting the following conditions: (a) a zero VERR fieldandin the RBridge Channel Header, (b) a zero SL flag in the RBridge Channel Header, (c) an OUI/CID that it implements,butand (d) a Sub-Protocol field value it does notrecongizerecognize even though it implements and uses the Sub-Protocolfield, it SHOULD set the VERR field to 3 and returns the packet as described in Section 3.1.field. 4. The value 4 indicates that the Sub-Version field value is unknown.If anAn RBridge SHOULD set the VERR field to 4 and return the packet as described in Section 3.1 if it implements the Vendor RBridge Channelfacility, the Sub-Protocol field, and the Sub-Version fieldfacility and it receives a Vendor Channel packetwithmeeting the following conditions: (a) a zero VERR fieldandin the RBridge Channel Header, (b) a zero SL flag in the RBridge Channel Header, (c) an OUI/CID and Sub-Protocol that it implements,butand (d) a Sub-Versionfieldsfield value it does notrecongize,recognize even though itSHOULD set the VERR field to 4implements andreturnsuses thepacket as described in Section 3.1.Sub-Version field. Uniform error handling is generally advisablefrom afor the sake of maintenance andunderstandability point of view;understandability; however, "SHOULD" is chosen for errors 3 and 4 above because, as long asthe messages are all INTERNET-DRAFT TRILL: Vendor Channeleach message is distinguished by a vendor's OUI/CID, it is up to that vendor to decide between standard andnon-standardnonstandard error handling.3.13.1. Sending an Error Response TheIETF specifiedIETF-specified Vendor Channel errors are sent in response to a received RBridge Channel packet by setting the VERR field as specified above and modifying the packet as specified below. (The ERR field will be zero because, if itwas non-zero,were nonzero, the packet would have been handled at the general RBridge Channel level rather than being passed down to the Vendor Channel level.) The RBridge Channel Header is modified by setting the SL flag. (The flags in the Channel Header and the semantics of the SL flag are specified in [RFC7178].) o If an error 1 is being generated because of truncation, theRBridge Channel SpecificRBridge-Channel-Specific Data area is extended to include the VERR byte. o If a Vendor Channel message was sent between RBridges, the TRILL Header is modified by (1) clearing the M bit, (2) setting the egress nickname to the ingress nickname as received, (3) setting the ingress nickname to a nickname held by the TRILL switch sending the error packet, and (4) setting the hop count to the usual value on TRILL Data packets used by the TRILL switch sending the error packet. o If a Vendor Channel message was sent between an RBridge and an end station in either direction, the outer MAC addresses are modified by (1) setting the Outer.MacDA to the Outer.MacSA asreceived,received and (2) setting the Outer.MacSAis setto the MAC address of the port of the TRILL switch or end station sending the error packet. o The priority of the error response message MAY be reduced from the priority of the Vendor Chanelmessgemessage causing the error, unless it was already minimum priority, and the Drop Eligibility Indicator bit MAY be set in an error response. (See Section 4.1.1 of [RFC6325].) o Vendor Channel error responses MAY berate limited.rate-limited. It is generally anticipated that the entire packet in which an error was detected would be sent back, modified as above, as the protocolspecifcspecific payload, so that, for example, error responses could more easily be matched with messages sent; however, except for errors 1 and 2, this is up to the vendor specifying how their Vendor RBridgeINTERNET-DRAFT TRILL: Vendor ChannelChannel messages are to be used. Note that if you receive a Vendor Channel error message with error 1, indicating a truncation error, you cannot trust the apparent "OUI/CID" in that Vendor Channel error message.INTERNET-DRAFT TRILL: Vendor Channel4. IANA Considerations IANAis requested to allocate TBDhas allocated 0x008 for theVendor SpecificVendor-Specific RBridge Channel Protocol from the range of RBridge Channel protocols allocated by Standards Action. IANAis requested to establishhas established aregistrysubregistry as followsonin the TRILL Parametersweb page indentedregistry (indented underRBridge"RBridge Channel ErrorCodesCodes" afterRBridge"RBridge Channel SubErrorCodes:Codes"): Registry: Vendor RBridge Channel Error Codes Registration Procedures: Standards Action Reference:(This document)RFC 8381 Code Description Reference ---- ----------- --------- 0x00 No errorThis documentRFC 8381 0x01 Message too shortThis documentRFC 8381 0x02 Unknown OUI/CIDThis documentRFC 8381 0x03 Unknown Sub-ProtocolThis documentRFC 8381 0x04 Unknown Sub-VersionThis documentRFC 8381 0x05-0x0F Unassigned - 0x10-0xFE Reserved for vendor useThis documentRFC 8381 0xFF ReservedThis document INTERNET-DRAFT TRILL: Vendor ChannelRFC 8381 5. Security Considerations See [RFC6325] for general TRILL Security Considerations. See [RFC7178] for general RBridge Channel Security Considerations.The Vendor SpecificNeither the Vendor-Specific RBridge Channel Protocolprovides nonor the basic RBridge Channel Protocol [RFC7178] provide any security assurances or features.(Its(The basic RBridge Channel Protocol's first use was as an envelope forBFDBidirectional Forwarding Detection (BFD) messages[RFC7175][RFC7175], which provide their own security.) Any needed security can be provided by fields or processing within theVendor ProtocolVendor-Protocol- Specific Data, which is outside the scope of this document. Alternatively or in addition, use of a Vendor Channel MAY be nested inside the RBridge Channel Header Extension Protocol[RFC7978] which[RFC7978]; this can provide some security services.INTERNET-DRAFT TRILL: Vendor Channel6. Normative References [802]-IEEEStd 802-2014,802, "IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture",June 2014.DOI 10.1109/IEEESTD.2014.6847097, IEEE Std 802-2014. [RFC2119]-Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,<http://www.rfc-editor.org/info/rfc2119>.<https://www.rfc-editor.org/info/rfc2119>. [RFC6325]-Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A. Ghanwani, "Routing Bridges (RBridges): Base Protocol Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011,<http://www.rfc-editor.org/info/rfc6325>.<https://www.rfc-editor.org/info/rfc6325>. [RFC7042]-Eastlake 3rd, D. and J. Abley, "IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters", BCP 141, RFC 7042, DOI 10.17487/RFC7042, October 2013,<http://www.rfc-editor.org/info/rfc7042>.<https://www.rfc-editor.org/info/rfc7042>. [RFC7178]-Eastlake 3rd, D., Manral, V., Li, Y., Aldrin, S., and D. Ward, "Transparent Interconnection of Lots of Links (TRILL): RBridge Channel Support", RFC 7178, DOI 10.17487/RFC7178, May 2014,<http://www.rfc-editor.org/info/rfc7178>.<https://www.rfc-editor.org/info/rfc7178>. [RFC7780]-Eastlake 3rd, D., Zhang, M., Perlman, R., Banerjee, A., Ghanwani, A., and S. Gupta, "Transparent Interconnection of Lots of Links (TRILL): Clarifications, Corrections, and Updates", RFC 7780, DOI 10.17487/RFC7780, February 2016,<http://www.rfc-editor.org/info/rfc7780>.<https://www.rfc-editor.org/info/rfc7780>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. 7. Informative References [RFC7175]-Manral, V., Eastlake 3rd, D., Ward, D., and A. Banerjee, "Transparent Interconnection of Lots of Links (TRILL): Bidirectional Forwarding Detection (BFD) Support", RFC 7175, DOI 10.17487/RFC7175, May 2014,<https://www.rfc- editor.org/info/rfc7175>.<https://www.rfc-editor.org/info/rfc7175>. [RFC7978]-Eastlake 3rd, D., Umair, M., and Y. Li, "Transparent Interconnection of Lots of Links (TRILL): RBridge Channel Header Extension", RFC 7978, DOI 10.17487/RFC7978, September 2016,<http://www.rfc-editor.org/info/rfc7978>. INTERNET-DRAFT TRILL: Vendor Channel<https://www.rfc-editor.org/info/rfc7978>. Authors' Addresses DonaldE. Eastlake,Eastlake 3rd Huawei Technologies 155 Beaver Street Milford, MA 01757USAUnited States of America Phone: +1-508-333-2270 EMail: d3e3e3@gmail.com Yizhou Li Huawei Technologies 101 Software Avenue, Nanjing210012,210012 China Phone: +86-25-56622310 Email: liyizhou@huawei.com Weiguo Hao Huawei Technologies 101 Software Avenue, Nanjing210012,210012 China Phone: +86-25-56623144 Email: haoweiguo@huawei.com Ayan Banerjee Cisco Email: ayabaner@cisco.comINTERNET-DRAFT TRILL: Vendor Channel Copyright, Disclaimer, and Additional IPR Provisions Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. The definitive version of an IETF Document is that published by, or under the auspices of, the IETF. Versions of IETF Documents that are published by third parties, including those that are translated into other languages, should not be considered to be definitive versions of IETF Documents. The definitive version of these Legal Provisions is that published by, or under the auspices of, the IETF. Versions of these Legal Provisions that are published by third parties, including those that are translated into other languages, should not be considered to be definitive versions of these Legal Provisions. For the avoidance of doubt, each Contributor to the IETF Standards Process licenses each Contribution that he or she makes as part of the IETF Standards Process to the IETF Trust pursuant to the provisions of RFC 5378. No language to the contrary, or terms, conditions or rights that differ from or are inconsistent with the rights and licenses granted under RFC 5378, shall have any effect and shall be null and void, whether published or posted by such Contributor, or included with or in such Contribution.