Internet DRAFT - draft-eastlake-trill-vendor-channel
draft-eastlake-trill-vendor-channel
TRILL Working Group Donald Eastlake
INTERNET-DRAFT Yizhou Li
Intended status: Proposed Standard Weiguo Hao
Huawei
Ayan Banerjee
Cisco
Expires: July 13, 2018 January 14, 2018
TRILL: Vendor Specific TRILL Channel Protocol
<draft-eastlake-trill-vendor-channel-04.txt>
Abstract
The IETF TRILL (TRansparent Interconnection of Lots of Links)
protocol is implemented by devices called TRILL switches or RBridges
(Routing Bridges). TRILL includes a general mechanism, called 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 send vendor specific
messages over the RBridge Channel facility.
Status of This Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Distribution of this document is unlimited. Comments should be sent
to the TRILL working group mailing list.
Internet-Drafts are working documents 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 for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html. The list of Internet-Draft
Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
D. Eastlake, et al [Page 1]
INTERNET-DRAFT TRILL: Vendor Channel
Table of Contents
1. Introduction............................................3
1.1 Terminology and Acronyms...............................3
2. Vendor Channel Packet Format............................4
3. Vendor Channel Errors...................................7
3.1 Sending an Error Response..............................8
4. IANA Considerations....................................10
5. Security Considerations................................11
Normative References......................................12
Informative References....................................12
Acknowledgements..........................................12
Authors' Addresses........................................13
D. Eastlake, et al [Page 2]
INTERNET-DRAFT TRILL: Vendor Channel
1. Introduction
The IETF TRILL (TRansparent Interconnection of Lots of Links)
protocol [RFC6325] [RFC7780] is implemented by devices called TRILL
switches or RBridges (Routing Bridges). It provides efficient least
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. Such organization specific messages could,
for example, be used for vendor specific diagnotic 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 in a
RFC and to use RBridge Channel protocol numbers based on such RFC
publication.
1.1 Terminology and Acronyms
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
This document uses the acronyms defined in [RFC6325] supplemented by
the following additional acronym:
CID - Company Identifier [802]
OUI - Organizationally Unique Identifier [RFC7042]
TRILL switch - An alternative term for an RBridge
D. Eastlake, et al [Page 3]
INTERNET-DRAFT TRILL: Vendor Channel
2. 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 as show 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 the Channel Protocol
Specific Payload. See [RFC7178].
Packet Structure
+-----------------------------------+
| Link Header |
+-----------------------------------+
| TRILL Header |
+-----------------------------------+
| Inner Ethernet Addresses |
+-----------------------------------+
| Data Label (VLAN or FGL) |
+-----------------------------------+
| RBridge Channel Header |
+-----------------------------------+
| Channel Protocol Specific Payload |
+-----------------------------------+
| Link Trailer (FCS if Ethernet) |
+-----------------------------------+
Figure 1. RBridge Channel Packet Structure
D. Eastlake, et al [Page 4]
INTERNET-DRAFT TRILL: Vendor Channel
Message Structure
+-----------------------------------+
| Link Header |
+-----------------------------------+
| RBridge Channel Header |
+-----------------------------------+
| Channel Protocol Specific Payload |
+-----------------------------------+
| Link Trailer (FCS if Ethernet) |
+-----------------------------------+
Figure 2. Native RBridge Channel Message Structure
Figure 3 below expands the RBridge Channel Header and Channel
Protocol Specific Payload above for the case of the Vendor 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 | Channel Protocol= TBD |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | ERR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RBridge Channel Protocol Specific:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor ID = OUI/CID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|OUI/CID (cont.)| VERR | Sub-Protocol | Sub-Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor Protocol Specific Data
|
| ...
Figure 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 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 as
D. Eastlake, et al [Page 5]
INTERNET-DRAFT TRILL: Vendor Channel
follows:
OUI: When the bottom two bits of the first byte of the
Vendor ID are zero, that is, the first byte is
0bXXXXXX00, then the Vendor ID is an OUI.
CID: When the bottom two bits of the first byte are a one
followed by a zero, that is, the first byte is
0bXXXXXX10, the Vendor ID is a CID.
Other: Other values of the bottom two bits of the first byte
of the Vendor ID are invalid and a VERR of 2 MUST,
subject to possible rate limiting, be returned (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 the particuar
vendor's Sub-Protocol.
D. Eastlake, et al [Page 6]
INTERNET-DRAFT TRILL: Vendor Channel
3. Vendor Channel Errors
The VERR field values from 0x0 through 0xF inclusive and value 0xFF
are reserved for specification by the IETF. See Section 4. All other
values of VERR are available for whatever use the vendor specifies
except that a Vendor Channel implementation MUST NOT send a Vendor
Channel Error in response to a Vendor Channel message with a non-zero
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 one indicate that the length of the RBridge Channel
Specific Data is less than 4 bytes. This means that at least the
VERR byte and possible 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, and returns 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 and returns the packet as described in
Section 3.1.
3. The value 3 indicates that the Sub-Protocol field value is
unknown. If an RBridge implements the Vendor Channel facility and
receives a Vendor Channel packet with a zero VERR field and zero
SL flag in the RBridge Channel Header, an OUI/CID that it
implements, but a Sub-Protocol field value it does not recongize
even though it implements and uses the Sub-Protocol field, it
SHOULD set the VERR field to 3 and returns the packet as described
in Section 3.1.
4. The value 4 indicates that the Sub-Version field value is unknown.
If an RBridge implements the Vendor RBridge Channel facility, the
Sub-Protocol field, and the Sub-Version field and receives a
Vendor Channel packet with a zero VERR field and zero SL flag in
the RBridge Channel Header, an OUI/CID and Sub-Protocol that it
implements, but a Sub-Version fields value it does not recongize,
it SHOULD set the VERR field to 4 and returns the packet as
described in Section 3.1.
Uniform error handling is generally advisable from a maintenance and
understandability point of view; however, "SHOULD" is chosen for
errors 3 and 4 above because, as long as the messages are all
D. Eastlake, et al [Page 7]
INTERNET-DRAFT TRILL: Vendor Channel
distinguished by a vendor's OUI/CID, it is up to that vendor to
decide between standard and non-standard error handling.
3.1 Sending an Error Response
The IETF 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 it was non-zero, 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, the
RBridge Channel Specific Data area is extended to include the
VERR byte.
o If 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 Vendor Channel message was sent between an RBridge and an
end station in either direction, the outer MAC addresses are
modified by setting the Outer.MacDA to the Outer.MacSA as
received, and the Outer.MacSA is set to 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 Chanel messge 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 be 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 protocol
specifc 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 RBridge
D. Eastlake, et al [Page 8]
INTERNET-DRAFT TRILL: Vendor Channel
Channel 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.
D. Eastlake, et al [Page 9]
INTERNET-DRAFT TRILL: Vendor Channel
4. IANA Considerations
IANA is requested to allocate TBD for the Vendor Specific RBridge
Channel Protocol from the range of RBridge Channel protocols
allocated by Standards Action.
IANA is requested to establish a registry as follows on the TRILL
Parameters web page indented under RBridge Channel Error Codes after
RBridge Channel SubError Codes:
Registry: Vendor RBridge Channel Error Codes
Registration Procedures: Standards Action
Reference: (This document)
Code Description Reference
---- ----------- ---------
0 No error This document
1 Message too short This document
2 Unknown OUI/CID This document
3 Unknown Sub-Protocol This document
4 Unknown Sub-Version This document
0x05-0x0F Unassigned -
0x10-0xFE Reserved for vendor use This document
0xFF Reserved This document
D. Eastlake, et al [Page 10]
INTERNET-DRAFT TRILL: Vendor Channel
5. Security Considerations
See [RFC6325] for general TRILL Security Considerations.
See [RFC7178] for general RBridge Channel Security Considerations.
The Vendor Specific RBridge Channel Protocol provides no security
assurances or features. Any needed security could be provided by
fields or processing within the Vendor Protocol Specific Data, which
is outside the scope of this document. Alternatively or in addition,
use of Vendor Channel MAY be nested inside the RBridge Channel Header
Extension Protocol [RFC7978] which can provide some security
services.
D. Eastlake, et al [Page 11]
INTERNET-DRAFT TRILL: Vendor Channel
Normative References
[802] - IEEE Std 802-2014, "IEEE Standard for Local and Metropolitan
Area Networks: Overview and Architecture", June 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>.
[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>.
[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>.
[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>.
[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>.
Informative References
[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>.
Acknowledgements
The document was prepared in raw nroff. All macros used were defined
within the source file.
D. Eastlake, et al [Page 12]
INTERNET-DRAFT TRILL: Vendor Channel
Authors' Addresses
Donald E. Eastlake, 3rd
Huawei Technologies
155 Beaver Street
Milford, MA 01757 USA
Phone: +1-508-333-2270
EMail: d3e3e3@gmail.com
Yizhou Li
Huawei Technologies
101 Software Avenue,
Nanjing 210012, China
Phone: +86-25-56622310
Email: liyizhou@huawei.com
Weiguo Hao
Huawei Technologies
101 Software Avenue,
Nanjing 210012, China
Phone: +86-25-56623144
Email: haoweiguo@huawei.com
Ayan Banerjee
Cisco
Email: ayabaner@cisco.com
D. Eastlake, et al [Page 13]
INTERNET-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.
D. Eastlake, et al [Page 14]