<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema
      validation and schema-aware editing --> 
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> --> 
<!-- This third-party XSLT can be enabled for direct transformations
in XML processors, including most browsers --> 

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be
added to the DOCTYPE above. Use of an external entity file is not
recommended. --> 
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="std"
  docName="draft-perlman-trill-rbridge-data-encoding-09"
  ipr="trust200902"
  updates="6325"
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- 
    * docName should be the name of your draft * category should be
    one of std, bcp, info, exp, historic * ipr should be one of
    trust200902, noModificationTrust200902, noDerivativesTrust200902,
    pre5378Trust200902 * updates can be an RFC number as NNNN *
    obsoletes can be an RFC number as NNNN
-->


<!-- ____________________FRONT_MATTER____________________ -->
<front>
  <title abbrev="TRILL: Link Data Optimization">RBridges: TRILL Link
  Data Optimizations</title>
   <!--  The abbreviated title is required if the full title is
        longer than 39 characters --> 

   <seriesInfo name="Internet-Draft"
               value="draft-perlman-trill-rbridge-data-encoding-09"/>

   <author fullname="Radia Perlman" initials="R."
           surname="Perlman">
     <organization>EMC</organization>
     <address>
       <postal>
         <street>2010 256th Avenue NE, #200</street>
         <city>Bellevue</city>
         <region>Washington</region>
         <code>98007</code>
         <country>USA</country>
       </postal>        
       <email>radia@alum.mit.edu</email>
     </address>
   </author>

   <author fullname="Donald E. Eastlake, 3rd" initials="D."
           surname="Eastlake">
     <organization>Futurewei Technologies</organization>
     <address>
       <postal>
         <street>2386 Panoramic Circle</street>
         <city>Apopka</city>
         <region>Florida</region>
         <code>32703</code>
         <country>USA</country>
       </postal>        
       <phone>+1-508-333-2270</phone>
       <email>d3e3e3@gmail.com</email>
     </address>
   </author>

   <author fullname="Yizhou Li" initials="Y."
           surname="Li">
     <organization>Huawei Technologies</organization>
     <address>
       <postal>
         <street>101 Software Avenue</street>
         <city>Nanjing</city>
	 <region>Jiangsu</region>
         <code>210012</code>
         <country>China</country>
       </postal>
       <phone>+86-25-56624584</phone>
       <email>zhuangshunwan@huawei.com</email>
     </address>
   </author>

   <author fullname="Anoop Ghanwani" initials="A."
           surname="Ghanwani">
     <organization>Dell</organization>
     <address>
       <postal>
         <street>350 Holger Way</street>
         <city>San Jose</city>
	 <region>California</region>
         <code>95134</code>
         <country>USA</country>
       </postal>
       <phone>+1-408-571-3500</phone>
       <email>anoop@alumni.duke.edu</email>
     </address>
   </author>

   <date year="2023" month="4" day="30"/>

   <area>Routing</area>
   <workgroup></workgroup>
   <!-- "Internet Engineering Task Force" is fine for individual
        submissions.  If this element is not present, the default is
        "Network Working Group", which is used by the RFC Editor as a
        nod to the history of the RFC Series. --> 

   <keyword/>
   <!-- Multiple keywords are allowed.  Keywords are incorporated
        into HTML output files for use by search engines. --> 

<abstract>
<t>TRILL (TRansparent Interconnection of Lots of Links) Data frames
can be encoded so as to make more efficient use of communications
links under certain circumstances.  This document specifies two such
optional optimizations.  One, called Compact Format, improves the
compactness of encoding where a TRILL link is a point-to-point
Ethernet link.  The other, called Specific Addressing, optionally
decreases the burden on multi-access TRILL links for multi-
destination TRILL Data frames. This document updates RFC 6325.</t>
</abstract>
 
</front>


<!-- ____________________MIDDLE_MATTER____________________ -->
<middle>
    
<section>  <!-- 1. -->
  <name>Introduction</name>

<t>TRILL switches (also called RBridges (Routing Bridges)) are devices
that support the IETF TRILL (TRansparent Interconnection of Lots of
Links) protocol <xref target="RFC6325"/> <xref target="RFC7177"/>
<xref target="RFC7780"/>. They provide transparent forwarding of
frames in multi-hop networks with arbitrary topology and link
technology using least cost paths for unicast traffic, support VLANs
(Virtual Local Area Networks) and 24-bit Fine Grained Labels <xref
target="RFC7172"/>, and support the multipathing of both unicast and
multi-destination traffic. They accomplish this by use of a hop count
and IS-IS (Intermediate System to Intermediate System) link state
routing <xref target="IS-IS"/> <xref target="RFC7176"/>.</t>

<t>A link between two TRILL switches in a TRILL campus can be any of a
variety of technologies, ranging from a complex bridged LAN to PPP
<xref target="RFC6361"/>. In the general case under the base TRILL
protocol <xref target="RFC6325"/>, a TRILL Data frame consists of an
inner payload formatted as an Ethernet frame, preceded by a TRILL
Header, and then encapsulated by a link envelope appropriate for the
link technology.</t>

<section>  <!-- 1.1 -->
  <name>Structure of This Document</name>

<t>Section 2 discusses General Format TRILL Data frames without the
enhancements specified in this document.</t>

<t>In the case where the link is a point-to-point Ethernet link, an
optional Compact Format is specified for TRILL Data frames that saves
16 bytes. Section 3 specifies that format, its processing, and the
conditions for its safe use.</t>

<t> In the case where a multi-destination TRILL Data frame is being
forwarded over a multi-access link with multiple ports connected but
there is only one (or perhaps a few) next hop TRILL switches of
interest, optional Specific Addressing allows the TRILL Data frame to
be link unicast. This can substantially reduce the burden that frame
represents if, for example, the link is a complex bridged LAN through
which the frame might otherwise be flooded.  Section 4 specifies the
Specific Addressing enhancement and the conditions for its safe
use.</t>

<t>Section 5 discusses potential interaction between these two
enhancements. The remaining Sections after Section 5 provide IANA and
Security Considerations, References, and the like.</t>

<t>This document updates <xref target="RFC6325"/>.</t>

</section>

<section>  <!-- 1.2 -->
  <name>Terminology Used in This Document</name>

<t>The terminology and acronyms defined in <xref target="RFC6325"/>
are used herein with the same meaning. In particular, the terms
"campus", "native frame", "link", etc., are as defined <xref
target="RFC6325"/>.</t>

<t>"Point-to-point", as used herein, means a link which appears to be
an isolated channel between exactly two TRILL switch ports. Such a
link may not include customer bridges but may include hubs/repeaters,
Two Port MAC Relays, Provider Bridges, Provider Back Bone Bridges
<xref target="IEEE.802.1Q_2014"/>, or other technology, provided that
technology is configured to provide a transparent point-to-point path
between the end point RBridge ports.</t>

<t>References herein to "VLAN Tag" or the like are to customer VLANs
(C- Tags, Ethertype 0x8100). Use of S-Tags, also known as Service
Tags, or stacked VLAN or other tags is beyond the scope of this
document but is an obvious extension.</t>

<t>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 BCP
14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
when, they appear in all capitals, as shown here.</t>

</section>
</section>

<section>  <!-- 2. -->
  <name>TRILL Frame Formats</name>

<t>The subsections below provide a description of the general format
of TRILL Data frames. It then narrows in to describe the format of
TRILL Data frames on Ethernet links.</t>

<section>  <!-- 2.1 -->
  <name>The General TRILL Frame Format</name>

<t>The general "on-the-wire" form of TRILL frames is illustrated
below.</t>

<t>The Link Headers and Trailers in the formats below depend on the
specific link technology. The Link Header contains one or more fields
that distinguish TRILL Data from TRILL IS-IS. For example, over
Ethernet, the TRILL Data Link Header ends with the TRILL Ethertype
while the TRILL IS-IS frame Link Header ends with the L2-IS-IS
Ethertype; on the other hand, over PPP, there are no Ethertypes but
PPP protocol codes perform that function <xref target="RFC6361"/>. </t>

<t>A TRILL Data frame in transit between two neighboring RBridges is
as shown below:</t>

<figure anchor="trilldataframe">
  <name>Format of TRILL Data Frames</name>
    <artwork type="ascii-art" align="center">
      <![CDATA[
+---------------+----------+----------------+---------------+
| TRILL Data    |  TRILL   |    Payload     | TRILL Data    |
| Link  Header  |  Header  |  Native Frame  | Link Trailer  |
+---------------+----------+----------------+---------------+
      ]]>
   </artwork>
</figure>

<t>In the above diagram, the Payload Native Frame is in a restricted
Ethernet frame format with a VLAN or FGL <xref target="RFC7172"/>
label but with no trailing Frame Check Sequence (FCS). The payload
frame format is shown below, assuming the payload starts with an
Ethertype (it might alternatively be LLC <xref target="IEEE802-2014"/>
encoded or some other format):</t>

<figure anchor="payloadframe">
  <name>Format of the Payload Frame</name>
    <artwork type="ascii-art" align="center">
      <![CDATA[
+-----------+------------+--------+-----------+------------
| MAC Dest. | MAC Source | Label  | Ethertype |         ...
+-----------+------------+--------+-----------+------------
      ]]>
   </artwork>
</figure>

<t>The encapsulated payload has the following fields in sequence:</t>

<ul>
  
<li>A 6-byte destination MAC address (Inner.MacDA)</li>

<li>A 6-byte source MAC address (Inner.MacSA)</li>

<li>An Inner.Label giving the VLAN ID or FGL <xref target="RFC7172"/>,
Priority, and DEI (Drop Eligibility Indicator) <xref
target="RFC7780"/> of the payload (use of an S-tag or stacked tags is
beyond the scope of this document but is an obvious extension)</li>

<li>The payload frame's content (which usually starts with an
Ethertype, such as the Ethertype for IPv4 or IPv6)</li>

</ul>

<t>TRILL IS-IS frames are also sent between neighboring RBridges and
   must be distinguished from TRILL Data frames. TRILL IS-IS frames are
   formatted as follows and cannot use the Compact Format specified
   herein:</t>

<figure anchor="isisframe">
  <name>TRILL IS-IS Frame</name>
    <artwork type="ascii-art" align="center">
      <![CDATA[
+--------------+---------------+--------------+
| TRILL IS-IS  |  TRILL IS-IS  | TRILL IS-IS  |
| Link Header  |    Payload    | Link Trailer |
+--------------+---------------+--------------+
            ]]>
   </artwork>
</figure>

</section>

<section>  <!-- 2.2 -->
  <name>Ethernet Link TRILL Data Frame General Encapsulation</name>

<t>If the link between neighbor RBridges is Ethernet, then the general
TRILL Data frame format has the following link encapsulation:</t>

<dl>

  <dt>Link Header:</dt>

  <dd><t>A 6-byte outer MAC destination address (Outer.MacDA) followed
  by a 6-byte outer MAC source address (Outer.MacSA) followed by an
  optional 4-byte outer VLAN tag Ethertype and value (Outer.VLAN), and
  finally the 2-byte TRILL Ethertype (0x22F3). Additional tags could
  be included after the outer MAC addresses and before the TRILL
  Ethertype such a MACSEC <xref target="IEEE.802.1AE_2006"/>.</t>

  <t>Under the TRILL standard before this document, the Outer.MacDA
  was required to be the unicast MAC address of the destination
  RBridge port, if the TRILL Data frame was a unicast frame to a known
  destination, and was required to be the All-RBridges multicast
  address, if the TRILL Data frame was a multi- destination frame.</t>

<figure anchor="ethernetheader">
  <name>TRILL Data Link Header on an Ethernet Link</name>
    <artwork type="ascii-art" align="center">
      <![CDATA[
+-----------+------------+- - - - - +-----------+
| MAC Dest. | MAC Source | VLAN Tag | TRILL     |
|   Address |    Address |  if Req. | Ethertype |
+-----------+------------+ - - - - -+-----------+
            ]]>
   </artwork>
</figure>

  </dd>

  <dt>Link Trailer:</dt>
  <dd>The 32-bit IEEE <xref target="IEEE.802.3_2012"/> Frame Check
  Sequence (FCS).</dd>

</dl>

<t>In the General Format for Ethernet links, the Outer.VLAN can be
omitted when it is not required by VLAN sensitive equipment in the
link.</t>

</section>
</section>

<section>  <!-- 3. -->
  <name>Compact Format for Point-to-Point Ethernet Links</name>

<t>TRILL Data frames may optionally be sent using a Compact Format
that compresses the headers involved if the link is a point-to-point
Ethernet link, Compact Format can be enabled by both RBridges on the
link if other conditions met as listed below.</t>

<t>The Compact Format is simple: the Outer.MacDA, Outer.MacSA, and
Outer.VLAN are replaced by the Inner.MacDA, Inner.MacSA, and Inner
Label and the Inner fields are deleted. This saves 6 + 6 + 4 or 16
bytes. To avoid confusion, Compact Format MUST NOT be used if the
Inner.MacDA is a multi-cast address assigned to TRILL
(01&nbhy;80&nbhy;C2&nbhy;00&nbhy;00&nbhy;40 through
01&nbhy;80&nbhy;C2&nbhy;00&nbhy;00&nbhy;4F).</t>

<t>Compact Format is not applicable to TRILL IS-IS frames because
there is no inner Ethernet header. (And, of course, Compact Format is
not applicable to native frames or Layer 2 Ethernet control frames
since those frames are not TRILL frames.)</t>

<figure anchor="compactframe">
  <name>Compact Format TRILL Data Frame</name>
    <artwork type="ascii-art" align="center">
      <![CDATA[
+---------------------+--------+-----------+---------+---------+
| Ethernet Header     | TRILL  | Content   | Content | Link    |
| Header from Payload | Header | Ethertype | ...     | Trailer |
+---------------------+--------+-----------+---------+---------+
            ]]>
   </artwork>
</figure>

<t>Compact Format is generally intended for use on point-to-point
Ethernet links between RBridges, a common arrangement in many LANs.
However, if there are any transparent devices in the apparent point-
to-point link, such as Provider Bridges or Provider Backbone Bridges,
then the use of the Compact Format will increase the MAC address
learning table stress on such Provider Bridges or Provider Edge Back
Bone bridges.</t>

<section>  <!-- 3.1 -->
  <name>Conditions for Using Compact Format</name>

<t>Use of Compact Format is a hop-by-hop decision. In successive
RBridge to RBridge hops, a TRILL Data frame might be sent alternately
in Compact Format and General Format.</t>

<t>There are a number of conditions, listed below, for using Compact
Format TRILL Data frames. Most of these boil down to maximizing the
assurance that the RBridge-to-RBridge Ethernet link over which the
Compact Format TRILL Data frame is to be sent is really point-to-
point. Only the General Format for TRILL Data frames is safe to use on
an RBridge Ethernet port that is to a multi-access link even if the
ports between which it is being sent have been configured as
point-to-point ports. (See also the frame reception process variations
described in Section 3.3.1.)</t>

<ul>

<li>The RBridge Ethernet port over which Compact Format TRILL Data
frames are to be sent MUST be configured as an IS=IS point-to- point
port (see Section 4.9.1 of <xref target="RFC6325"/>).</li>

<li>The RBridge port through which the Compact Format TRILL Data frame
is being transmitted MUST be configured to send VLAN/FGL tagged
frames.  Otherwise the Data Label of the payload will be lost (unless
it just happens to be the default VLAN ID of the receiving port).</li>

<li>The RBridge port at the other end of the link MUST be announcing
that it supports the Compact Format. See Section 3.4.</li>

<li>Receipt of a native frame indicates that the link is multi-access
and has end stations on it. These are frames that are not Layer 2
control frames (see Section 1.4 of <xref target="RFC6325"/>) and have
neither an Outer.MacDA in the block assigned to TRILL nor an outer
payload EtherType assigned to/for TRILL (currently the TRILL,
L2-IS-IS, and RBridge-Channel <xref target="RFC7178"/> EtherTypes). On
receipt of such a frame, the port MUST stop using Compact Format TRILL
Data frames for at least ten seconds, unless it is reset by management
or rebooted before that.</li>

<li>The sending RBridge MUST have exactly one adjacency in the Report
state on the link and no other adjacencies in any state but Down <xref
target="RFC7177"/>. Thus, receipt of a TRILL IS-IS Hello frame, other
than one of the correct type (point-to-point or LAN) from the RBridge
believed to be at the other end of the link, indicates that the link
really isn't point-to-point or that the RBridge at the other end of
that link is mis-behaving. In either case, the RBridge receiving such
an unexpected Hello MUST stop using Compact Format TRILL Data frames
on that port for at least twice the holding time in the unexpected
Hello but not less than ten seconds, unless it is reset by management
or rebooted before that. This is a change to <xref target="RFC6325"/>
which states that an RBridge port configured as point-to-point ignores
LAN Hellos and such a port configured as LAN ignores point-to-point
Hellos.</li>

<li>RBridge Ethernet ports are required to monitor ports for BPDUs
received (Section 4.9.3 <xref target="RFC6325"/>). On receipt of a
customer bridging BPDU at an RBridge port, the RBridge MUST stop using
Compact Format on that port and revert to sending General Format TRILL
Data frames for at least four times the Bridge Hello Time in the BPDU,
but not less than ten seconds, unless the port or RBridge is reset by
management or rebooted before that.</li>

<li>It is RECOMMENDED that RBridge ports intending to use Compact
Format also use the Link Layer Discovery Protocol (LLDP) <xref
target="IEEE.802.1AB_2009"/> to provide additional assurance that the
link is actually point-to-point. For this use, LLDP should be run to
the Nearest Customer Bridge MAC address
(01&nbhy;80&nbhy;C2&nbhy;00&nbhy;00&nbhy;00). Receipt by an RBridge
port supporting LLDP of an LLDP message indicating the presence on the
link of a MAC Bridge, Layer 3 Router, or End Station indicates that
the link is not point-to-point and the RBridge MUST stop using Compact
Format on the port for at least twice the TTL in the received LLDP
frame but not less than ten second, unless the port or RBridge is
reset by management or rebooted before that.</li>

</ul>

</section>

<section>  <!-- 3.2 -->
  <name>RBridge Originated and Terminated Native Frames</name>

<t>There can be native frames originated by or intended for
consumption by an RBridge. Examples include SNMP over IP frames or
RBridge Channel frames <xref target="RFC7178"/>. In many cases, such
internal sinks and sources of native frames are treated as a virtual
end-station internally attached to the RBridge. Such frames are
converted to TRILL Data frames before being transmitted outside the
originating RBridge.</t>

<t>Because of the way that Compact Format TRILL Data frames are
recognized, particularly the change in <xref target="RFC6325"/>,
Section 4.6.2, Point 3, made by Section 3.3.1 of this document, an
RBridge MUST use a MAC address different from the address of any of
its ports as the Inner.MacSA of frames it locally originates and as
the Inner.MacDA it expects to see in unicast TRILL Data frames that it
receives and decapsulates for locally processing.</t>

</section>

<section>  <!-- 3.3 -->
  <name>Compact TRILL Data Reception and Transmission</name>

<t>If an RBridge's Ethernet port has Compact Format enabled, frame
reception and transmission are modified as described below.</t>

<t>Section 4.6 of the TRILL base protocol standard <xref
target="RFC6325"/> provides a specification of the processing of all
possible types of received frames. TRILL frames are any frame starting
with the TRILL or L2-IS- IS or RBridge-Channel Ethertype or that has
an Outer.MacDA that is any of the block of 16 multicast addresses
assigned to TRILL (<xref target="RFC6325"/> Section 7.2).</t>

<section>  <!-- 3.3.2 -->
  <name>Compact TRILL Data Frame Reception</name>

<t>Section 4.6.2 of <xref target="RFC6325"/> specifies the processing
of received TRILL frames. A complete replacement for Section 4.6.2 of
<xref target="RFC6325"/> that supports Compact Format and incorporates
the correction in Section 5.1.2 of <xref target="RFC7780"/> is
provided in the quoted text below.</t>

<t>Even when Compact Format is enabled, the sender is not required to
compact all or any TRILL Data frames and a receiver MUST be prepared
for an arbitrary mix of Compact Format and General Format TRILL Data
frames arriving on a point-to-point link.</t>

<t>NOTE: All of the Section references in the quoted text below are
references to Sections in <xref target="RFC6325"/>.</t>

  <t indent="3">"A TRILL frame either has the TRILL or L2-IS-IS
  Ethertype or has a multicast Outer.MacDA allocated to TRILL (see
  Section 7.2).  The following tests are performed sequentially, and
  the first that matches controls the handling of the frame:"</t>

  <t indent="3">"By default, a frame is classified as General
  Format."</t>
    
  <t indent="3">"&nbsp;1. If the Ethertype is L2-IS-IS and the
  Outer.MacDA is either All-IS-IS-RBridges or the unicast MAC address
  of the receiving RBridge port, the frame is handled as described in
  Section 4.6.2.1 on TRILL Control frames."</t>

  <t indent="3">"&nbsp;2. If the Outer.MacDA is a multicast address
  allocated to TRILL other than All-RBridges then the frame is
  discarded."</t>

  <t indent="3">"&nbsp;3. If the Outer.MacDA is a unicast address
  other than the address of the receiving Rbridge then (3a) if Compact
  Format TRILL Data frames are disabled, the frame is discarded or
  (3b) if Compact Format TRILL Data frames are enabled, the frame is
  classified as compact."</t>

  <t indent="3">"&nbsp;4. If the Ethertype is not TRILL, the frame is
  discarded."</t>

  <t indent="3">"&nbsp;5. If the Version field in the TRILL Header is
  greater than 0, the frame is discarded."</t>

  <t indent="3">"&nbsp;6. If the hop count is 0, the frame is
  discarded."</t>

  <t indent="3">"&nbsp;7. If the Outer.MacDA is multicast and the M
  bit is zero the frame is discarded.  If the Outer.MacDA is unicast
  and M bit is one processing continues if Specific Addressing is
  enabled. If Specific Addressing is not enabled, the frame is
  discarded."</t>

  <t indent="3">"&nbsp;8. If the frame has been classified as Compact
  Format, skip the rest of this rule and go to Rule 9. By default, an
  RBridge MUST discard General Format TRILL Data frames from a
  Outer.MacSA that is not an adjacency on the port where the frame was
  received. RBridges MAY be configured per port to accept such frames
  in cases where it is known that a non- peering device (such as an
  end-station) is configured to originate general TRILL encapsulated
  data frames that can be safely accepted."</t>

  <t indent="3">"&nbsp;9. If a frame has been classified as a Compact
  Format TRILL Data frame but it was received untagged, that is,
  without an Outer.VLAN, discard the frame."</t>

  <t indent="3">"10. For all subsequent processing, including Rule 11,
  if the frame has been classified as Compact Format, all references
  to Inner.MacDA, Inner.MacSA, or Inner.VLAN are to be understood to
  actually refer to the Outer.MacDA, Outer.MacSA, and Outer.VLAN as
  the frame was received."</t>

  <t indent="3">"11. The Inner.MacDA is then tested. If it is the
  All-Egress- Rbridges (also known as All-ESADI-RBridges) multicast
  address and RBn implements the ESADI protocol, processing proceeds
  as in Section 4.6.2.2 for TRILL ESADI frames. If it is any other
  address or RBn does not implement ESADI, processing proceeds as in
  Section 4.6.2.3 for TRILL Data frames."</t>

</section>

<section>  <!-- 3.3.2 -->
  <name>Compact TRILL Data Frame Transmission</name>

<t>When a TRILL Data frame is being transmitted out an RBridge port,
if the conditions listed in Section 3 above are met, the frame MAY be
sent in Compact Format.</t>

</section>
</section>

<section>  <!-- 3.4 -->
  <name>Announcing Support for Compact Format</name>

<t>The Compact Format option is a hop-by-hop optional Ethernet link
TRILL frame format and it is possible that an RBridge would support it
on some ports and not others depending, for example, on port
hardware. Therefore, if Compact Format is enabled at a port, this is
indicated in every Hello (Section 6) it sends out that port.</t>

</section>
</section>

<section>  <!-- 4. -->
  <name>Specific Addressing</name>

<t>Specific addressing optionally enables more efficient use of some
types of multi-access links.</t>

<section>  <!-- 4.1 -->
  <name>Current Multi-Destination Addressing</name>

<t>When multiple RBridges are connected to an Ethernet link, the base
TRILL protocol standard <xref target="RFC6325"/> requires that
multi-destination TRILL Data frames be sent on the Ethernet link
addressed to the All- RBridges multicast address.</t>

<t>If the link is a multi-access link, such as a large, bridged LAN,
use of a multicast address may impose a significant burden, causing
the frame to be flooded in the bridged LAN. In addition, all or many
stations attached to the bridged LAN may receive the frame using up
some of their input bandwidth. Those TRILL switches that receive the
frame but are not the next hop on the frame's distribution tree will
discard the frame due to the Reverse Path Forwarding Check.</t>

</section>

<section>  <!-- 4.2 -->
  <name>Specific Addressing Specification</name>

<t>Multi-destination TRILL Data frames are sent on the distribution
tree identified in the TRILL Header subject to optional pruning. The
transmitting RBridge thus knows which next hop RBridge or RBridges on
the link it needs to get the frame to.</t>

<t>If the next hop RBridges on the multi-access link and the
transmitting RBridge all have Specific Addressing enabled, then the
frame MAY be link unicast to the next hop RBridge or RBridges.</t>

<t>Use of Specific Addressing is a hop-by-hop optional decision.
Successive TRILL Data frames received by an RBridge, even from the
same sending RBridge on the same distribution tree, may be
specifically (unicast) or multicast addressed. (The same frame is
never sent both ways.) In successive RBridge to RBridge hops, a
multi-destination TRILL Data frame might be sent alternately in
specifically addressed and multicast addressed form.</t>

</section>

<section>  <!-- 4.3 -->
  <name>Announcing Support for Specific Addressing</name>

<t>The Specific Addressing option is a hop-by-hop optional format. It
is possible that an RBridge would support it on some ports and not
others. Therefore, enablement of this option is indicated in every
TRILL Hello (see Section 6) sent on the port.</t>

</section>
</section>

<section>  <!-- 5. -->
  <name>Interaction Between The Optimizations</name>

<t>Compact Format can only be used for TRILL Data frames on Ethernet
links that are point-to-point. Compact Format works under the
conditions specified above regardless of whether the frame is TRILL
unicast (M=0) or TRILL multi-destination (M=1). It sets the
Outer.MacDA, Outer.MacSA, and Outer.VLAN to the corresponding Inner
fields and removes the Inner fields.</t>

<t>Specific Addressing is only beneficial for frames that are TRILL
multi-destination Data frames on multi-access links. Specific
Addressing causes the frame to be link unicast by setting the
Outer.MacDA to the unicast address of a next hop RBridge.</t>

<t>Both optimizations change the Outer.MacDA from its value in the
base TRILL protocol and thus they conflict. Specific Addressing MUST
NOT be used on point-to-point Ethernet links. This avoids
conflict.</t>

</section>

<section>  <!-- 6. -->
  <name>IANA Considerations</name>

<t>IANA is requested to allocate two capability bits in the
TRILL-PORT- VER sub-TLV <xref target="RFC7176"/> as follows:</t>

   <table>
     <thead>
<tr><th align="center">Bit</th><th align="center">Description</th><th
align="center">Reference</th></tr>
     </thead>
     <tbody>
<tr><td>tbd1</td><td>Compact Ethernet enabled.</td><td>(This
document)</td></tr> 
<tr><td>tbd2</td><td>Specific addressing enabled.</td><td>(This
document)</td></tr> 
     </tbody>
   </table>

</section>

<section>  <!-- 7. -->
  <name>Security Considerations</name>

<t>For general TRILL protocol security considerations, see <xref
target="RFC6325"/>.  See other security considerations below.</t>

<section>  <!-- 7.1 -->
  <name>Compact Format Security Considerations</name>

<t>An RBridge conformant to the TRILL standard that has Compact Format
TRILL Data not implemented or not enabled on a port will, as part of
its normal procedures, discard any Compact Format TRILL Data frame it
receives on that port because the EtherType of the frame would be
TRILL but (1) if the Compact Format resulted in a unicast Outer.MacDA,
it would not be the address of the receiving RBridge port, and (2) if
the Compact Format resulted in a multicast or broadcast Outer.MacDA,
it would not be the All-RBridges multicast address. If the RBridge
port failed to discard the frame and erroneously handled it as being
in General Format, bad things will usually happen as described in
Section 7.3.</t>

<t>With a General Format TRILL Data frame, the Data Label of the data
is somewhat protected in the Inner Label field. With Compact Format,
it is put in the more exposed Outer.VLAN field. If it is stripped,
perhaps by an intervening bridge, and the frame arrives untagged, the
rules in this document require that it be discarded to avoid changing
the labeling of the frame to the default of the receiving RBridge
port.</t>

</section>

<section>  <!-- 7.2 -->
  <name>Specific Addressing Security Considerations</name>

<t>It is important not to apply both Compact Format optimization and
Specific Addressing optimization to the same frame or else the frame
may be misinterpreted as described in Section 7.3.  For this reason,
use of Specific Addressing on point-to-point links, where it would not
provide an advantage, is prohibited.</t>

</section>

<section>  <!-- 7.3 -->
  <name>Results of Frame Misinterpretation</name>

<t>For frames that are misinterpreted due to circumstances described
in Sections 7.1 and 7.2, the first six bytes of the native frame
content will be treated as the Inner.MacDA, the next six bytes of that
content as the Inner.MacSA, and the next four bytes as the Data
Label. If the Ethertype or the Data Label is not checked or some of
the payload data accidentally has the value of a valid tag Ethertype,
the payload may be delivered in the wrong VLAN violating security
policy. For this reason, the provisions of Sections 3 of this document
should be scrupulously enforced.</t>

</section>
</section>

</middle>

<!-- ____________________BACK_MATTER____________________ -->
<back>
  
<references>
  <name>Normative References</name>

<xi:include
  href="https://www.rfc-editor.org/refs/bibxml6/reference.IEEE.802.1AB_2009.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml6/reference.IEEE.802.1Q_2014.xml"/>

<reference anchor="IS-IS">
  <front>
    <title>Intermediate System to Intermediate System Intra-Domain
    Routing Exchange Protocol for use in Conjunction with the Protocol
    for Providing the Connectionless-mode Network Service (ISO
    8473)</title>
    <author>
      <organization>ISO/IEC</organization>
    </author>
    <date year="2002"/>
  </front>
  <seriesInfo name="ISO/IEC" value="10589:2002"/>
</reference>

<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2119.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6325.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7172.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7176.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7780.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8174.xml"/>

</references>

<references>
  <name>Informative References</name>

  <reference anchor="IEEE802-2014">
<front>
  <title>IEEE Standard for Local and Metropolitan Area Networks:
  Overview and Architecture</title>
  <author>
  <organization>IEEE Computer Society</organization>
  </author>
  <date day="12" month="June" year="2014"/>
</front>
<seriesInfo name="IEEE Std" value="802-2014"/>
  </reference>
  
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml6/reference.IEEE.802.1AE_2006.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml6/reference.IEEE.802.3_2012.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6361.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7177.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7178.xml"/>

</references>

</back>

</rfc>

