< draft-hu-trill-pseudonode-nickname-02.txt   draft-hu-trill-pseudonode-nickname-03.txt >
TRILL Working Group H. Zhai TRILL Working Group H. Zhai
Internet-Draft F. Hu Internet-Draft ZTE
Intended status: Standards Track ZTE Intended status: Standards Track T. Senevirathne
Expires: November 16, 2012 R. Perlman Expires: February 27, 2013 Cisco Systems
R. Perlman
Intel Labs Intel Labs
D. Eastlake 3rd D. Eastlake 3rd
M. Zhang
Huawei Huawei
MAY 15, 2012 F. Hu
ZTE
August 26, 2012
RBridge: Pseudo-Nickname RBridge: Pseudo-Nickname
draft-hu-trill-pseudonode-nickname-02 draft-hu-trill-pseudonode-nickname-03
Abstract Abstract
At the edg of TRILL campus, some RBridges provide end-station At the edg of TRILL campus, some RBridges provide end-station
services to their attached end stations, these RBridges are called services to their attached end stations; these RBridges are called
edge RBridges. To avoid potential frame duplication or loops in edge RBridges. To avoid potential frame duplication or loops in
TRILL campus, only one edge RBridge is permitted to provide end- TRILL campus, only one edge RBridge is permitted to provide such
station services in a VLAN x at all times for its attached end services in a VLAN at all times to its attached end stations even
stations. However, in some application scenarios, for example in they are also attached to other edge RBridges. However, in some
Link Aggregation Group (LAG), more than one edge RBridge is required application scenarios, for example in Link Aggregation Group (LAG),
to provide end-station services to an end stations even in a VLAN, more than one edge RBridge is required to provide such services to an
which causes the flip-flopping of the egress RBridge nickname for end station even in a VLAN to improve resiliency and maximize the
such an end node in remote RBridges' forwarding tables if nothing to available network bandwidth, which causes the flip-flopping of the
do. In this document, the concept of Virtual RBridge, along with its egress RBridge nickname for such an end station in remote RBridges'
pseudo-nickname, is introduced to fix the above problem. forwarding tables. In this document, the concept of Virtual RBridge,
along with its pseudo-nickname, is introduced to address the above
problem.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on February 27, 2013.
This Internet-Draft will expire on November 16, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Terminology and Acronyms . . . . . . . . . . . . . . . . . 4 1.1. Terminology and Acronyms . . . . . . . . . . . . . . . . . 5
2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 4 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Appointed Forwarders on Shared Links . . . . . . . . . . . 4 2.1. Appointed Forwarders on Shared Links . . . . . . . . . . . 5
2.2. Multi-homing and Link Aggregation to TRILL Network . . . . 5 2.2. Multi-homing and Link Aggregation to TRILL Network . . . . 6
3. Concept of Virtual RBridge and Pseudo-nickname . . . . . . . . 6 3. Concept of Virtual RBridge and Pseudo-nickname . . . . . . . . 7
3.1. VLAN-x Appointed Forwarder for member interfaces in RBv . 7 3.1. VLAN-x Appointed Forwarder for member interfaces in RBv . 8
3.2. Announcing Pseudo-Nickname of RBv . . . . . . . . . . . . 7 3.2. Announcing Pseudo-Nickname of RBv . . . . . . . . . . . . 8
4. Distribution Trees for Member RBridges in RBv . . . . . . . . 7 4. Distribution Trees for Member RBridges in RBv . . . . . . . . 8
5. Frame Processing . . . . . . . . . . . . . . . . . . . . . . . 8 5. Frame Processing . . . . . . . . . . . . . . . . . . . . . . . 10
5.1. Data Frames . . . . . . . . . . . . . . . . . . . . . . . 8 5.1. Data Frames . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.1. Native Frames Ingressing . . . . . . . . . . . . . . . 8 5.1.1. Native Frames Ingressing . . . . . . . . . . . . . . . 10
5.1.2. TRILL Data Frames Egressing . . . . . . . . . . . . . 9 5.1.2. TRILL Data Frames Egressing . . . . . . . . . . . . . 10
5.1.2.1. Unicast TRILL Data Frames . . . . . . . . . . . . 9 5.1.2.1. Unicast TRILL Data Frames . . . . . . . . . . . . 10
5.1.2.2. Multi-Destination TRILL Data Frames . . . . . . . 10 5.1.2.2. Multi-Destination TRILL Data Frames . . . . . . . 11
5.2. OAM Frames . . . . . . . . . . . . . . . . . . . . . . . . 10 6. Member Link Failure in RBv . . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. OAM Frames . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 8. Configuration Consistency . . . . . . . . . . . . . . . . . . 13
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
9. Normative References . . . . . . . . . . . . . . . . . . . . . 11 10. Security Considerations . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
12. Normative References . . . . . . . . . . . . . . . . . . . . . 13
Appendix A. Reasons for MAC Sharing among Member RBriges . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
The IETF TRILL protocol [RFC6325] provides optimal pair-wise data The IETF TRILL protocol [RFC6325] provides optimal pair-wise data
frame forwarding without configuration, safe forwarding even during frame forwarding without configuration, safe forwarding even during
periods of temporary loops, and support for multi-pathing of both periods of temporary loops, and support for multi-pathing of both
unicast and multicast traffic. TRILL accomplishes this by using unicast and multicast traffic. TRILL accomplishes this by using
[IS-IS] [RFC1195] link state routing and encapsulating traffic using [IS-IS] [RFC1195] link state routing and encapsulating traffic using
a header that includes a hop count. The design supports VLANs and a header that includes a hop count. The design supports VLANs and
optimization of the distribution of multi-destination frames based on optimization of the distribution of multi-destination frames based on
VLANs and IP derived multicast groups. Devices that implement TRILL VLANs and IP derived multicast groups. Devices that implement TRILL
are called RBridges. are called RBridges.
In TRILL protocol, RBridges are identified by nicknames (16-bits). In TRILL protocol, RBridges are identified by nicknames (16-bits).
Different RBridge has different nickname(s). At the edge of TRILL Different RBridge has different nickname(s). At the edge of TRILL
network, some RBridges connect to legacy networks on one side and to network, some RBridges connect to legacy networks on one side and to
TRILL network on the other side. These RBridges are called edge TRILL network on the other side. These RBridges are called edge
RBridges. For the connectivity between the two types of network, RBridges. For the connectivity between the two types of network,
edge RBridges provide end-station services to end stations located in edge RBridges provide end-station services to end stations located in
legacy networks. When receiving a native frame from such a local end legacy networks. When receiving a native frame from such a local end
station S, the servicing edge RBridge RB1 encapsulates the frame in a station S, the service edge RBridge RB1 encapsulates the frame in a
TRILL header, addressing the packet to RBridge RB2 which the TRILL header, addressing the packet to RBridge RBx to which the
destination end station D is attached to. The TRILL header contains destination end station D is attached. The TRILL header contains an
an "ingress RBridge nickname" field (RB1's nickname), an "egress "ingress RBridge nickname" field (RB1's nickname), an "egress RBridge
RBridge nickname" field (RB2's nickname), and a hop count. On nickname" field (RBx's nickname), and a hop count. On receiving such
receiving such a frame, RB2 removes the TRILL header and forwards it a frame, RBx removes the TRILL header and forwards it onto D in its
onto D in its native form. Meanwhile, based on the de-capsulation of native form. Meanwhile, based on the de-capsulation of such a frame,
such a frame, RB2 learns the (ingress RBridge nickname, source MAC RBx learns the (ingress RBridge nickname, source MAC address, VLAN
address, VLAN ID) triplet. Edge RBridges maintain such triplets in ID) triplet. Edge RBridges maintain such triplets in their
their forwarding table for the potential following transmission of forwarding table for the potential following transmission of native
native frames. frames.
Due to failures, reconfiguration and other network dynamics, Due to failures, reconfiguration and other network dynamics, service
servicing edge RBridge for S may change, i.e., no longer is RB1. In edge RBridge for S may change over from RB1 to another edge RBridge.
this event, remote traffic addressed to S will be still forwarded to In this event, remote traffic addressed to S will be still forwarded
RB1 by remote RBridge RB2 before perceiving this change, and then the to RB1 by remote RBridge RBx before perceiving this change, and then
traffic gets dropped at R1, causing traffic disruption. Furthermore, the traffic gets dropped at RB1, causing traffic disruption.
to improve resiliency and maximize the available network bandwidth, Furthermore, to improve resiliency and maximize the available network
an end station typically is multi-homed to several edge RBridges and bandwidth, an end station typically is multi-homed to several edge
treats all the uplink links as a Link Aggregation Group (LAG) buddle. RBridges and treats all the uplink links as a Link Aggregation Group
In this scenario, all those edge RBridges work in an active-active (LAG) bundle. In this scenario, all those edge RBridges work in an
load sharing model to provide end-station services for an end station active-active load sharing model to provide end-station services for
even in same VLAN. When remote RBridge RB2 receives different an end station even in same VLAN. When remote RBridge RB2 receives
frames, which are originated by such an end station S and ingressed different frames, which are originated by such an end station S and
into TRILL campus by different such edge RBridge, flip-flopping of ingressed into TRILL campus by different such edge RBridge, flip-
ingress RBridge nickname for MAC of S will be observed by RB2 during flopping of ingress RBridge nickname for MAC of S will be observed by
de-capsulating such frames. This flip-flopping will cause disorder RBx during de-capsulating such frames. This flip-flopping will cause
of different frames in traffic, worsening the traffic disruption. disorder of different frames in traffic, worsening the traffic
disruption.
In this document, concept of Virtual RBridge group, together with its In this document, concept of Virtual RBridge group, together with its
Pseudo-nickname, is introduced to address the above issues. For a Pseudo-nickname, is introduced to address the above issues. For a
member RBridge in such a group, it uses the pseudo-nickname of this member RBridge in such a group, it uses the pseudo-nickname of this
group, instead of its own device nickname, as ingress RBridge group, instead of its own device nickname, as ingress RBridge
nickname when encapsulating a frame to its TRILL form with a TRILL nickname when encapsulating a frame to its TRILL form with a TRILL
header. So, in a RBridge Group, even if there are more than one header. So, in a RBridge Group, even if there are more than one
RBridge providing end-station services for a end station or the RBridge providing end-station services for a end station or the
servicing RBridge changes over from one member RBridge to another in service RBridge changes over from one member RBridge to another in
same set of VLANs, the ingress RBridge nickname for the MAC of this same set of VLANs, the ingress RBridge nickname for the MAC of this
end station will still remain unchanged in remote RBridges' end station will still remain unchanged in remote RBridges'
forwarding tables. forwarding tables.
This document is organized as following: Section 2 is problem This document is organized as following: Section 2 is problem
statement, which describes why virtual RBridge and its pseudo- statement, which describes why virtual RBridge and its pseudo-
nickname are required. Section 3 gives the concept of virtual nickname are required. Section 3 gives the concept of virtual
RBridge. Section 4 describes the consideration for pseudo-nickname RBridge. Section 4 describes the consideration for pseudo-nickname
used in ingressing multi-destination frames. Section 5 covers used in ingressing multi-destination frames. Section 5 covers
processing of transit frame traffic when considering pseudo-nickname. processing of transit frame traffic when considering pseudo-nickname.
skipping to change at page 4, line 45 skipping to change at page 5, line 45
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
When used in lower case, these words convey their typical use in When used in lower case, these words convey their typical use in
common language, and are not to be interpreted as described in common language, and are not to be interpreted as described in
[RFC2119]. [RFC2119].
2. Problem Statement 2. Problem Statement
2.1. Appointed Forwarders on Shared Links 2.1. Appointed Forwarders on Shared Links
In TRILL, RBridges can co-exist with legacy bridges in a traditional If there are multiple RBridges on a shared link, together with end
Ethernet. A set of links connected by bridges will be perceived by stations, only one RBridge is permitted to provide end-station
RBridges as a single shared link connecting the RBridges on that services in a VLAN at all times for the end stations to avoid
link. If there are multiple RBridges on a shared link, together with
end stations, only one RBridge is permitted to provide end-station
services in a VLAN x at all times for the end stations to avoid
possible frame duplication or loops in TRILL campus. The service possible frame duplication or loops in TRILL campus. The service
RBridge is called VLAN-x Appointed Forwarder (AF) on a shared link. RBridge is called VLAN-x Appointed Forwarder (AF) on a shared link.
However, AF for any set of VLANs on a shared link may change over However, AF for any set of VLANs on a shared link may change over
from one RBridge to another, due to failure, configurations and other from one RBridge to another, due to failure, configurations and other
network dynamics, etc. If such change occurs, local end stations may network dynamics, etc. If such change occurs, local end stations may
not perceive it, so the end station cannot timely notify remote not perceive it, so the end station cannot timely notify remote
RBridges to update the correspondence between ingress RBridge RBridges to update the correspondence between ingress RBridge
nickname and the MAC of this end station in their forwarding tables. nickname and the MAC of this end station in their forwarding tables.
As a result, remote RBridges may continue to forward traffic to the As a result, remote RBridges may continue to forward traffic to the
skipping to change at page 5, line 30 skipping to change at page 6, line 27
switch or end host. For example, in Figure 1, switch SW1 multi-homes switch or end host. For example, in Figure 1, switch SW1 multi-homes
to TRILL network by connecting to both RBridge RB1 and RB2 with to TRILL network by connecting to both RBridge RB1 and RB2 with
respective links. Then the end stations (e.g., S1), attached to SW1, respective links. Then the end stations (e.g., S1), attached to SW1,
still get end-station services from TRILL network even if one still get end-station services from TRILL network even if one
connection of SW1 to TRILL network, e.g., SW1-RB1, fails. That is to connection of SW1 to TRILL network, e.g., SW1-RB1, fails. That is to
say, the service RBridge for S1 changes over from RB1 to RB2 after say, the service RBridge for S1 changes over from RB1 to RB2 after
the connection of SW1-RB1 fails, which causes traffic disruption the connection of SW1-RB1 fails, which causes traffic disruption
temporarily (e.g., traffic from Sx to S1), similar to AF changing in temporarily (e.g., traffic from Sx to S1), similar to AF changing in
Section 2.1. Section 2.1.
.......................................... ...........................................
: TRILL Network : : TRILL Network :
: +-----+ /\-/\-/\-/\-/\ : : +-----+ /\-/\-/\-/\-/\ :
+------| RB1 |-----/ \ : +------| RB1 |-----/ \ :
| : +-----+ / \ : | : +-----+ / \ :
+-----+ : | / Transit \ +-----+ : +-----+ : | / Transit \ +-----+ :
S1 o--| SW1 | : | < RBridges >---| RBx |---o Sx S1 o--| SW1 | : | < RBridges >---| RBx |---o Sx
+-----+ : | \ Campus / +-----+ : +-----+ : | \ Campus / +-----+ :
| : +-----+ \ / : | : +-----+ \ / :
+------| RB2 |-----\ / : +------| RB2 |-----\ / :
: +-----+ \/\-/\-/\-/\-/ : : +-----+ \/\-/\-/\-/\-/ :
: : : :
........................................... ...........................................
Figure 1 Multi-homing to TRILL Network Figure 1
Multi-homing to TRILL Network
Furthermore, SW1 may treat the two links as a LAG (Link Aggregation Furthermore, SW1 may treat the two links as a LAG (Link Aggregation
Group) bundle, so that the two links form active-active load sharing Group) bundle, so that the two links form active-active load sharing
model instead of previous active-stanby model. That is to say, in model instead of previous active-stanby model. That is to say, in
Figure 1, two service RBridges (e.g., RB1 and RB2) provide end- Figure 1, two service RBridges (e.g., RB1 and RB2) must provide end-
station services simultaneously to S1 in that VLAN. And this will station services simultaneously to S1 in that VLAN. And this will
result in flip-flopping of the ingress RBridge for the MAC of S1 in result in flip-flopping of the ingress RBridge for the MAC of S1 in
remote RBridges' (e.g., RBx) forwarding tables. AS a result, this remote RBridges' (e.g., RBx) forwarding tables. AS a result, this
flip-flopping will cause much more disorder packets and worsen the flip-flopping will cause much more disorder packets and worsen the
traffic disruption. traffic disruption.
Besides switches, end stations can also directly multi-home to TRILL Besides switches, end stations can also directly multi-home to TRILL
network and treat the multi-homing links as a LAG bundle. The issue network and treat the multi-homing links as a LAG bundle. The issue
of traffic disruption also occurs in this scenario if such an end of traffic disruption also occurs in this scenario if such an end
station balances different traffic load in a same VLAN among the station balances different traffic load in a same VLAN among the
member links. member links.
In the following sections, concept of RBridge Group, together with In the following sections, concept of RBridge Group, together with
its nickname, is introduced to fix these issues. its nickname, is introduced to fix these issues.
3. Concept of Virtual RBridge and Pseudo-nickname 3. Concept of Virtual RBridge and Pseudo-nickname
A Virtual RBridge (RBv) represents a group of different ports on A Virtual RBridge (RBv) represents a group of different ports on
different edge RBridges, on which these RBridges end-station service different edge RBridges, on which these RBridges provide end-station
provide to a set of their attached end stations. After joining RBv, service to a set of their attached end stations. After joining RBv,
such an RBridge port is called a member port of RBv, and such an such an RBridge port is called a member port of RBv, and such an
RBridge becomes a member RBridge of RBv. in TRILL campus, an RBv is RBridge becomes a member RBridge of RBv. In an RBridge RBv is
identified by its virtual nickname in TRILL campus, and virtual identified by its virtual nickname in TRILL campus, and virtual
nickname is also described as pseudo-nickname in this specification. nickname is also referred to as pseudo-nickname in this
specification.
After joining an RBv, a member RBridge will announce its connection After joining an RBv, a member RBridge will announce its connection
to RBv by including the information of this RBv, e.g., the pseudo- to RBv by including the information of that RBv, e.g., the pseudo-
nickname of RBv, in its self-originated LSP. From such LSPs, a nickname of RBv, in its self-originated LSP. From such LSPs, remote
remote RBridge that is not a member of RBv can obtain that, through RBridges that are not a members of RBv can deduce that, one or more
one or more of such member RBridges, one or more shortest paths are shortest paths are available from itself to RBv.
available from itself to RBv by running Shortest-Path-First (SPF)
algorithm.
When receiving a native frame on such a port, the member RBridge uses When receiving a native frame on such a port, the member RBridge uses
the RBv's nickname, instead of its own nickname, as ingress nickname the RBv's nickname, instead of its own nickname, as ingress nickname
in TRILL header if necessary to encapsulate the frame into TRILL data in TRILL header if necessary to encapsulate the frame into TRILL data
form. By de-capsulating such a TRILL-encapsulated data frame, a form. By de-capsulating such a TRILL-encapsulated data frame, a
remote RBridge learns that S is reachable through RBv. remote RBridge learns that S is reachable through RBv.
NOTES: An RBridge port can join at most one RBv at any time, but NOTE: An RBridge port can join at most one RBv at any time, but
different ports on the same RBridge can join the same RBv or different ports on the same RBridge can join the same RBv or
different RBvs. After joining an RBv, such a port becomes a member different RBvs. After joining an RBv, such a port becomes a member
port of the RBv, and the RBridge becomes a member RBridge of the RBv. port of the RBv, and the RBridge becomes a member RBridge of the RBv.
Furthermore, for a member RBridge, it MUST move out of RBv and clear Furthermore, for a member RBridge, it MUST move out of RBv and clear
the RBv's information from its self-originated LSPs when it loses the the RBv's information from its self-originated LSPs when it loses the
last member port from this group, due to port down, configuration, last member port from this group, due to port down, configuration,
etc. etc.
Use of the Appointed Forwarder framework specified in [RFC6325], this
specification allows to utilize a single framework for both shared
LAN and point-point edge connectivity. Additionally this allows to
o Detect and protect against mis-configuration at the edge, e.g., on
the device SW1 the two interfaces are not configured as LAG or
o Accept TRILL and native frames on the RBridge interface connecting
S1 in above Figure 1.
o Avoid loops in the event S1 and S2 were connected by a native
Ethernet Link.
3.1. VLAN-x Appointed Forwarder for member interfaces in RBv 3.1. VLAN-x Appointed Forwarder for member interfaces in RBv
If member RBridges in RBv cannot see each others' Hellos on their If member RBridges in RBv cannot see each others' Hellos on their
member interfaces (e.g., in the LAG scenario), then each RBridge member ports (e.g., in the LAG scenario), then each RBridge becomes
becomes Designated RBridge (DRB) for that interface and appoints Designated RBridge (DRB) for that port and appoints itself as AF for
itself as AF for all VLANs as it does not see any TRILL hellos on all VLANs as it does not see any TRILL hellos on that port. However,
that interface. it MAY acts as appointed forwarders only for parts of VLANs on that
port, if it knows explicitly the sets of service VLANs on that port
via other means. For example, administrator can statically
configured the sets of service VLANs on that port, or a lower
protocol (e.g., LAG protocol) informs TRILL the sets of service VLANs
on that port, etc.
However, if they can see each others' Hellos on the member interfaces However, if they can see each others' Hellos on the member ports in
in RBv (e.g., in the shared link scenario), the TRILL Hello protocol RBv (e.g., in the shared link scenario), the TRILL Hello protocol in
in RFC 6325 is used for DRB election and for VLAN-x AFs appointment [RFC6325] is used for DRB election and for VLAN-x AFs appointment on
for those interfaces. Then the DRB appoints different member those ports. Then the DRB appoints different member ports as AFs for
interfaces as AFs for different VLANs. different sets of VLANs.
Among the member RBridges of RBv, when receiving a local native frame Among the member RBridges of RBv, only the VLAN-x forwarder is
in VLAN-x, only the AF for this VLAN can ingress the frame into TRILL responsible to ingress native traffic (both unicast and non-unicast
campus if necessary. However, in this specification, when receiving traffic) in this VLAN into TRILL campus, but non-forwarder member
a TRILL data frame addressed to RBv, an member RBridge that is not AF RBridge is also permitted to egress unicast TRILL data traffic out of
for the inner VLAN of the frame can de-capsulate the frame and TRILL campus. For the multi-destination TRILL data frames, only the
forward it in native form directly to the destination end station. VLAN-x forwarder can egress their out of TRILL campus.
3.2. Announcing Pseudo-Nickname of RBv 3.2. Announcing Pseudo-Nickname of RBv
Each member RBridge advertises the RBv's pseudo-nickname using the Each member RBridge advertises the RBv's pseudo-nickname using the
nickname sub-TLV [rfc6326bis], along with its regular nickname or nickname sub-TLV [rfc6326bis], along with its regular nickname or
nicknames, in its LSPs. When a member RBridge leaves from RBv due to nicknames, in its LSPs. When a member RBridge leaves from RBv due to
losing its last member ports in RBv, it MUST clear RBv's pseudo- losing its last member ports in RBv, it MUST clear RBv's pseudo-
nickname from its LSPs. nickname from its update LSPs.
4. Distribution Trees for Member RBridges in RBv 4. Distribution Trees for Member RBridges in RBv
In TRILL, RBridges use distribution trees to forward multi- In TRILL, RBridges use distribution trees to forward multi-
destination frames. When a native frame either to destinations whose destination frames. When a native frame either to destinations whose
location is unknown or to multicast/broadcast groups is necessary to location is unknown or to multicast/broadcast groups is necessary to
be ingressed into TRILL campus, the ingress RBridge encapsulates it be ingressed into TRILL campus, the ingress RBridge encapsulates it
into multi-destination TRILL data frame with a TRILL header and into multi-destination TRILL data frame and forwards it along a
forwards the TRILL frame along a chosen distribution tree. In the chosen distribution tree. In the TRILL header of the TRILL frame,
TRILL header, the ingress nickname identifies the ingress RBridge, the ingress nickname identifies the ingress RBridge and the egress
the egress nickname represents the root of the chosen tree. After nickname represents the root of the chosen tree. After receiving a
receiving a multi-destination TRILL data frame, the RBridge performs multi-destination TRILL data frame, the RBridge performs Reverse Path
Reverse Path Forwarding (RPF) check, along with other checks, on the Forwarding (RPF) check, along with other checks, on the multi-
multi-destination frame to further control potentially looping destination frame to further control potentially looping traffic.
traffic.
RPF specifies that a multi-destination TRILL data frame ingressed by RPF specifies that a multi-destination TRILL data frame ingressed by
an RBridge and forwarded along a distribution tree can only be an RBridge and forwarded along a distribution tree can only be
received by an RBridge from an expected port. If not from that port, received by an RBridge on an expected port. If not on that port,
this frame MUST be dropped by the receiving RBridge. that frame MUST be dropped by that RBridge.
However, member RBridges in RBv employs RBv's pseudo-nickname other However, member RBridges employ RBv's pseudo-nickname other than
than their own nicknames as ingress nickname when they ingress a their own nicknames as ingress nickname when they ingress native
native frame, regardless unicast or multicast frame, into TRILL frames received on member ports, regardless unicast or non-unicast
campus. So if different member RBridges chose same distribution frames, into TRILL campus. Therefore, when these frames reach a
tree(s) to forward different multi-destination TRILL data frames, remote RBridge, they will be treated, by that RBridge, as frames
these frames may reach a remote RBridge from different ports, which ingressed by the same RBridge, i.e., RBv. If they are multi-
violates the RPF check. Then some of these frames will be dropped by destination frames and the same distribution tree is chosen by
the remote RBridge. different member RBridges to forward these frames, they will travel
along the tree and reach a remote RBridge on different ports. Then
the RPF check is violated, and some of the frames reaching the
RBridge on unexpected ports are dropped by the RBridge.
To fix the above issue, a scalable and resilient approach is proposed To fix the above issue, a scalable and resilient approach is proposed
in [cmt], where different member RBridges are assigned different in [CMT], where different member RBridges are assigned different
distribution trees for forwarding the multi-destination TRILL data distribution trees for forwarding the multi-destination TRILL data
frames that using RBv's pseudo-nickname as ingress nickname in their frames that using RBv's pseudo-nickname as ingress nickname in their
TRILL header. And a new TLV, named Affinity sub-TLV, is also TRILL header. And a new TLV, named Affinity sub-TLV, is also
introduced for a member RBridge to announce its assigned distribution introduced for a member RBridge to announce its assigned distribution
tree for RBv in its self-originated LSPs. After receiving such LSPs, tree for RBv in its self-originated LSPs. After receiving such LSPs,
a remote RBridge can calculate RPF check information for RBv on those remote RBridges can calculate their RPF check information for RBv on
specified trees. those specified trees.
In this specification, the approach proposed in [cmt] is employed for In this specification, the approach proposed in [CMT] is employed for
RBv to assign different distribution trees to different member RBv to assign different distribution trees to different member
RBridges (more exactly, to member ports on different member RBridges) RBridges and the Affinity sub-TLV for member RBridges to announce
and for these members to announce their assigned trees in LSPs. their assigned trees in LSPs.
When a member RBridge joins into or leaves from a virtual RBridge
group RBv due to its last member ports up/down or its configuration
changing, etc., the distribution trees assigned to different member
RBridges may change. That change and its influence on frame
processing are beyond the scope of this document.
5. Frame Processing 5. Frame Processing
Although, there are five types of Layer 2 frames in [RFC6325], e.g., Although, there are five types of Layer 2 frames in [RFC6325], e.g.,
native frame, TRILL data frame, TRILL control frames, etc., pseudo- native frame, TRILL data frame, TRILL control frames, etc., pseudo-
nickname of RBv is only used for native frame and TRILL data frame in nickname of RBv is only used for native frame and TRILL data frame in
this specification. this specification.
5.1. Data Frames 5.1. Data Frames
5.1.1. Native Frames Ingressing 5.1.1. Native Frames Ingressing
When RB1 receives a native frame on one of its valid member ports of When RB1 receives a native frame on one of its valid member ports of
RBv, it uses the pseudo-nickname of RBv, instead of its own nickname, RBv, it uses the pseudo-nickname of RBv, instead of its own nickname,
as ingress nickname of TRILL header in doing necessary TRILL- as ingress nickname, if it is the appointed forwarder for the VLAN of
encapsulation on the frame if it is uninhibited appointed forwarder the frame on the port. If the frame is not received on a member
for the VLAN of the frame on the port. If the frame is not received port, RB1 MUST NOT use RBv's pseudo-nickname as ingress nickname when
on such a port, RB1 MUST NOT use RBv's pseudo-nickname as ingress doing TRILL-encapsulation on the frame. Otherwise, the reverse
nickname when encapsulating the frame with a TRILL header. traffic may be forwarded to another member RBridge that does not
Otherwise, the reverse traffic may be forwarded to another member connect to the link containing the destination, which may cause the
RBridge that does not connect to the link containing the destination, traffic disruption.
which may cause the traffic disruption.
If the above native frame is ingressed by RB1 as a multi-destination If the above native frame is ingressed by RB1 as a multi-destination
TRILL data frame, e.g., its destination is unknown to RB1 or it is TRILL data frame, e.g., its destination is unknown to RB1 or it is
non-unicast frame, RB1 can only choose one of its assigned non-unicast frame, RB1 can only choose one of its assigned
distribution trees for RBv to distribute the TRILL-encapsulated distribution trees for RBv to distribute the TRILL-encapsulated frame
frame[cmt]. If not so, the multi-destination TRILL data frame will [CMT]. If not so, the multi-destination TRILL data frame will fail
fail RPF check on another RBridge and be dropped. RPF check on another RBridge and be dropped.
Furthermore, for such a frame, its source MAC address information ( {
VLAN, Outer.MacSA, port } ) is learned by default if its source
address is unicast. Then the learned information is shared with
other member RBridges of RBv (See Appendix A for more details for the
information sharing).
5.1.2. TRILL Data Frames Egressing 5.1.2. TRILL Data Frames Egressing
This section describes egress processing of the received TRILL data This section describes egress processing of the received TRILL data
frames on member RBridges RBn in virtual RBridge group of RBv. frames on a member RBridge(RBn, say) in virtual RBridge group of RBv.
Section 5.1.2.1 describes unicast TRILL data frames egress Section 5.1.2.1 describes unicast TRILL data frames egress
processing. Section 5.1.2.2 covers multi-destination TRILL data processing. Section 5.1.2.2 covers multi-destination TRILL data
fames egress processing. frames egress processing.
5.1.2.1. Unicast TRILL Data Frames 5.1.2.1. Unicast TRILL Data Frames
When receiving a unicast TRILL data frame, RBn checks the egress When receiving a unicast TRILL data frame, RBn checks the egress
nickname in the TRILL header of the frame. If the egress nickname is nickname in the TRILL header of the frame. If the egress nickname is
one of RBn's own nicknames, the frame is processed as Section 4.6.2.4 one of RBn's own nicknames, the frame is processed as Section 4.6.2.4
in [RFC6325]. in [RFC6325].
If the egress nickname is the pseudo-nickname of RBv's in which RBn If the egress nickname is RBv's pseudo-nickname and RBn is a valid
is a valid member RBridge, the Inner.MacSA and Inner.VLAN ID are, by member RBridge of RBv, the Inner.MacSA and Inner.VLAN ID are, by
default, learned as associated with the ingress nickname unless that default, learned associated with the ingress nickname, unless that
nickname is unknown or reserved or the Inner.MacSA is not unicast. nickname is unknown or reserved or the Inner.MacSA is not unicast.
If the learned {Inner.MacSA, Inner.VLAN ID, ingress nickname} triplet If the learned {Inner.MacSA, Inner.VLAN ID, ingress nickname} triplet
is a new one or updated the locally stored one, this triplet is is a new one or updates the locally stored one, this triplet is
shared among the members RBridges in virtual RBridge group RBv (See shared with other member RBridges of RBv (See Appendix A for more
Appendix A for more details for the triplet sharing). details for the triplet sharing).
Then the frame being forwarded is de-capsulated to native form. The Then the frame being forwarded is de-capsulated to native form. The
Inner.MacDA and Inner.VLAN ID are looked up in RBn's local address Inner.MacDA and Inner.VLAN ID are looked up in RBn's local forwarding
cache, and one of the three following cases occurs: address cache, and one of the three following cases occurs:
o If the destination end station identified by the Inner.MacDA and o If the destination end station identified by the Inner.MacDA and
Inner.VLAN ID is on a local links to RBv, this frame is sent onto Inner.VLAN ID is on a local link to RBv, this frame is sent onto
the link containing the destination. the link containing the destination.
o else if RBn can reach the destinaiton through another RBridge RBm, o else if RBn can reach the destination through another RBridge RBk,
it re-encapsulate the native frame into a unicast TRILL data frame it re-encapsulate the native frame into a unicast TRILL data frame
and sends it to RBk. RBn uses RBk's own nickname, instead of and sends it to RBk. RBn uses RBk's own nickname, instead of
RBv's pseudo-nickname for the re-encapsulation, and remains the RBv's pseudo-nickname as egress nickname for the re-encapsulation,
ingress nickname unchanged. and remains the ingress nickname unchanged.
o Else, RBn does not know how to reach the destination; it sends the o Else, RBn does not know how to reach the destination; it sends the
native frame out of all its member ports of RBv. native frame out of all its member ports of RBv on which it is
appointed forwarders for the Inner.VLAN.
NOTE: In the first and third case, whether RBn is the appointed
forwarder for the frame's VLAN on the link(s) or not, it sends the
unicast frame onto the link(s).
5.1.2.2. Multi-Destination TRILL Data Frames 5.1.2.2. Multi-Destination TRILL Data Frames
If the RBn is an appointed forwarder for the Inner.VLAN ID of the If the RBn is an appointed forwarder for the Inner.VLAN ID of the
frame, the Inner.MacSA and Inner.VLAN ID are, by default, learned as frame, the Inner.MacSA and Inner.VLAN ID are, by default, learned as
associated with the ingress nickname unless that nickname is unknown associated with the ingress nickname unless that nickname is unknown
or reserved or the Inner.MacSA is not unicast. If the learned or reserved or the Inner.MacSA is not unicast. If the learned
{Inner.MacSA, Inner.VLAN ID, ingress nickname} triplet is a new one {Inner.MacSA, Inner.VLAN ID, ingress nickname} triplet is a new one
or updated the locally stored one, this triplet is shared among the or updates the locally stored one, this triplet is shared among the
members RBridges in virtual RBridge group RBv (See Appendix A for members RBridges in virtual RBridge group RBv (See Appendix A for
more details for the triplet sharing). more details for the triplet sharing).
Then a copy of the frame is de-capsulated into its native form. Then a copy of the frame is de-capsulated into its native form.
Before the native frame is sent out of ports on which RBn is Before the native frame is sent out of ports on which RBn is
appointed forwarder for the frame's VLAN, the following extra check appointed forwarder for the frame's VLAN, the following extra check
is performed: is performed:
o Assigned Distribution Trees Check (ADT)GBPoIf the flag for this o Assigned Distribution Trees Check (ADTC): If the flag for this
check (ADT_flag) is not zero on such a port, the distribution tree check (ADTC_flag) is not zero on such a port, the distribution
T on which the TRILL data frame arrives at RBn is checked. Only tree T along which the TRILL data frame arrives at RBn is checked.
if T is one of RBn's assigned distribution trees in RBv, the Only if T is one of RBn's assigned distribution trees in RBv, the
native frame can be send out of this port. If not, the frame native frame can be send out of this port. If not, the frame
cannot be sent out of this port. cannot be sent out of this port.
The value of ADT_flag on a RBridge's end-station-servicing port The value of ADTC_flag on a RBridge's end-station-servicing port
depends on whether the port is a member port of RBv and RBn is the depends on whether the port is a member port of RBv and RBn can not
appointed forwarder for all VLANs on this port or not. If so, the receive Hellos from other member RBridges on that port or not.
ADT_flag on this port MUST be set zero. Otherwise, ADT_flag MUST NOT
be set zero.
5.2. OAM Frames If a port is a member port of RBv and RBn is the appointed forwarder
for all VLANs on that port, the ADTC_flag MUST be set 1. For all
other cases ADTC_flag MUST be set to zero.
For member RBridges, when they originate TRILL OAM frames, they MUST 6. Member Link Failure in RBv
NOT use RBv's pseudo-nickname as ingress nickname in this frame's
TRILL header. Otherwise, it is possible that the reverse OAM message
is not able to return to the original member RBridge, resulting in
the OAM session disruption.
6. IANA Considerations In Figure 1, if the link SW1-RB1 fails, RB1 loses its only local link
to S1. When that failure is detected, the MAC entries through the
failed link to S1 are removed from RB1's forwarding table
immediately, and other MAC entries to S1 shared by other member
RBridges of RBv (See Appendix A for more details), e.g., RB2, are
installed into RB1's forwarding table when RB1 still has at least one
valid member port in RBv. Then when the TRILL-encapsulated traffic
to S1 is delivered to RB1, it can be re-encapsulated by RB1 and
forwarded, based on the available MAC entries, to another member
RBridge which has direct link to S1 and egresses the traffic to S1.
On the other hand, if RB1 has lost all its member ports of RBv, it
MUST updates its self-orignated LSPs to announce its giving up of
membership of RBv and no longer utilizes pseudo-nickname of RBv to
ingress/egress traffic into/out of TRILL campus until one of its
member ports of RBv becomes valid.
NOTE: Although on an edge RBridge different ports that connect to
different LAGs or LANs can join the same RBv, for simplicity, it is
RECOMMENDED that on an edge RBridge different ports connecting to
different LAGs or LANs join different RBvs in practical deployment,
each RBv per LAG or per LAN. Then for such an edge RBridge, when all
its member ports connecting to a LAG or LAN failed, it can move out
of this RBv and no longer uses the RBv's pseudo-nickname to ingress/
egress data traffic into/out of TRILL campus.
7. OAM Frames
Special attention must be paid when generate the OAM frames. When an
OAM frame is generated with ingress nickname of RBv, originator
RBridge's nickname MUST be included in the OAM message to ensure
response is returned to the originating member of RBv group.
8. Configuration Consistency
It is important that VLAN membership of member ports of end switch
SW1 is consistent across all of the member ports it is attaching to
member RBridges of RBv in the point-piont scenario. Any
inconsistencies in VLAN membership may result in packet loss or
having to through an extra hop RBridge before the packet reaches its
destination end station.
As an example consider, in Figure 1, on RB1 link SW1-RB1 has VLAN1
and VLAN2 configured. Consider only VLAN1 is configured on RB2 on
SW1-RB2 link. Both RB1 and RB2 use the same ingress nickname RBv for
all frames originating from S1. Hence, RBx will learn MAC address
from S1 on VLAN2 as originating from RBv. As a result, on the return
path RBx may deliver VLAN2 traffic to RB2. RB2, does not have VLAN2
configured on SW1-RB2 link and hence may drop the frame or has to
forward the frame to RB1 to egress it to S1 if RB2 knows RB1 can
reach S1 in VLAN2.
9. IANA Considerations
TBD. TBD.
7. Security Considerations 10. Security Considerations
TBD. TBD.
8. Acknowledgements 11. Acknowledgements
We would like to thank Mingjiang Chen for his contributions to this We would like to thank Mingjiang Chen for his contributions to this
document. Additionally, we would like to thank Erik Nordmark, Les document. Additionally, we would like to thank Erik Nordmark, Les
Ginsberg, Ayan Banerjee, Dinesh Dutt, Anoop Ghanwani, Mingui Zhang, Ginsberg, Ayan Banerjee, Dinesh Dutt, Anoop Ghanwani, Janardhanan
Janardhanan Pathang, Jon Hudson, and Tissa Senevirathne for their Pathang, and Jon Hudson for their good questions and comments.
good questions and comments.
9. Normative References 12. Normative References
[CMT] Senevirathne, T., Pathangi, J., and J. Hudson,
"Coordinated Multicast Trees (CMT)for TRILL",
draft-ietf-trill-cmt-00.txt Work in Progress, April 2012.
[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
dual environments", RFC 1195, December 1990. dual environments", RFC 1195, December 1990.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6325] Perlman, R., Eastlake, D., Dutt, D., Gai, S., and A. [RFC6325] Perlman, R., Eastlake, D., Dutt, D., Gai, S., and A.
Ghanwani, "Routing Bridges (RBridges): Base Protocol Ghanwani, "Routing Bridges (RBridges): Base Protocol
Specification", RFC 6325, July 2011. Specification", RFC 6325, July 2011.
[cmt] Senevirathne, T., Pathangi, J., and J. Hudson,
"Coordinated Multicast Trees (CMT)for TRILL",
draft-ietf-trill-cmt-00.txt Work in Progress, April 2012.
[rfc6326bis] [rfc6326bis]
Eastlake 3rd, D., Banerjee, A., Ghanwani, A., and R. Eastlake 3rd, D., Banerjee, A., Ghanwani, A., and R.
Perlman, "Transparent Interconnection of Lots of Links Perlman, "Transparent Interconnection of Lots of Links
(TRILL) Use of IS-IS", (TRILL) Use of IS-IS",
draft-eastlake-isis-rfc6326bis-07.txt Work in Progress, draft-eastlake-isis-rfc6326bis-07.txt Work in Progress,
March 2012. March 2012.
Appendix A. Reasons for MAC Sharing among Member RBriges
With the introduction of virtual RBridge, MAC flip-flopping problem
in LAN or LAG is resolved. However, in order to forward traffic
effectively, member RBridges should share some of their learned MAC
addresses with each other. For example, see Figure 2 shown below.
...........................................
: TRILL Network :
^ : +-----+ /\-/\-/\-/\-/\ :
+-----| RB1 |-----/ \ :
/ : +-----+ / \ :
/ : | / Transit \ +-----+ :
S1 o RBv : | < RBridges >---| RBx |---o Sx
\ : | \ Campus / +-----+ :
\ : +-----+ \ / :
+-----| RB2 |-----\ / :
V : +-----+ \/\-/\-/\-/\-/ :
: :
...........................................
Figure 2 RBv in
LAG scenario
In VLAN-x, native frames from S1 to Sx will enter TRILL campus
through one member RBridge of the RBv, such as RB1 in Figure 2, so
RB1 learns the location of S1 in VLAN-x; but with regard to reverse
traffic, RBx may deliver it to RB2 if it thinks the shortest path to
RBv is through RB2. Then, if RB2 knows the location of S1 and the
link RB2-S1 is good, it egresses the traffic directly to S1.
However, if the link fails and RB2 has not learn the location of S1
in VLAN-x, RB2 cannot transmit the traffic properly to S1.
Thus, the MAC addresses of attached end stations on one member
RBridge SHOULD be shared with the rest member RBridges in an RBv.
With these informations shared, when RB2 receives reverse frames, it
can determine how to forward them to S1, for example, forward them to
RB1 if the link RB2-S1 fails.
On the other hand, RBx always delivers the reverse traffic to RB2 if
it thinks the shortest path to RBv is through RB2. Then RB2 egresses
the traffic and learns the location of Sx in the case its link to S1
is good. RB1 will not know where Sx is if neighbor it has other ways
to get the location of Sx nor RB2 shares this information with it.
As a result, it has to always treat the traffic from S1 to Sx as
unknown destination traffic and multicast it in TRILL. Always multi-
casting such traffic adds additional forwarding burden on TRILL
network.
Therefore, in addition to local attached end station MAC addresses,
the learned remote MAC addresses should also be shared among all
other member RBridges in an RBv. With such information sharing, RB1
can treat the traffic to Sx as known destination traffic and unicast
it to RBx.
Although we can extend ESADI (End Stations Address Distribution
Information) protocol or LAG protocol, etc., for such MAC sharing,
ways for the sharing are beyond the scope of this document.
Authors' Addresses Authors' Addresses
Hongjun Zhai Hongjun Zhai
ZTE ZTE
68 Zijinghua Road, Yuhuatai District 68 Zijinghua Road, Yuhuatai District
Nanjing, Jiangsu 210012 Nanjing, Jiangsu 210012
China China
Phone: +86 25 52877345 Phone: +86 25 52877345
Email: zhai.hongjun@zte.com.cn Email: zhai.hongjun@zte.com.cn
Fangwei Hu Tissa Senevirathne
ZTE Cisco Systems
889 Bibo Road, Pudong District 375 East Tasman Drive
Shanghai, Shanghai 201203 San Jose, CA 95134
China USA
Phone: +86 21 68896273
Email: hu.fangwei@zte.com.cn
Phone: +1-408-853-2291
Email: tsenevir@cisco.com
Radia Perlman Radia Perlman
Intel Labs Intel Labs
2200 Mission College Blvd 2200 Mission College Blvd
Santa Clara, CA 95054-1549 Santa Clara, CA 95054-1549
USA USA
Phone: +1-408-765-8080 Phone: +1-408-765-8080
Email: Radia@alum.mit.edu Email: Radia@alum.mit.edu
Donald Eastlake 3rd Donald Eastlake 3rd
Huawei Huawei
155 Beaver Street 155 Beaver Street
Milford, MA 01757 Milford, MA 01757
USA USA
Phone: +1-508-333-2270 Phone: +1-508-333-2270
Email: d3e3e3@gmail.com Email: d3e3e3@gmail.com
Mingui Zhang
Huawei
Huawei Building, No.156 Beiqing Rd.
Beijing, Beijing 100095
China
Email: zhangmingui@huawei.com
Fangwei Hu
ZTE
889 Bibo Road, Pudong District
Shanghai, Shanghai 201203
China
Phone: +86 21 68896273
Email: hu.fangwei@zte.com.cn
 End of changes. 58 change blocks. 
191 lines changed or deleted 329 lines changed or added

This html diff was produced by rfcdiff 1.39p1. The latest version is available from http://tools.ietf.org/tools/rfcdiff/