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]