Re: [trill] FGL "safe" mode in fine labels

Radia Perlman <> Thu, 21 March 2013 02:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D85C511E80F2 for <>; Wed, 20 Mar 2013 19:22:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.274
X-Spam-Status: No, score=-2.274 tagged_above=-999 required=5 tests=[AWL=0.325, BAYES_00=-2.599, HTML_MESSAGE=0.001, NO_RELAYS=-0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id k7O-+clKDr0A for <>; Wed, 20 Mar 2013 19:22:17 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:4010:c03::229]) by (Postfix) with ESMTP id 9798B1F0D23 for <>; Wed, 20 Mar 2013 19:22:16 -0700 (PDT)
Received: by with SMTP id fo12so4258572lab.14 for <>; Wed, 20 Mar 2013 19:22:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=9zGC6nrS7OC6jqKXLnJjSlsFOmVY9neKE8tA/6hDq2w=; b=UkJvICebeRcPsIwVg3W/cscxZW7u753BkMRtsX0IH5jCog2AfT65uhz3KzbXWjRlxs tMHze6BUPwO4SZ6ORBWMdQ8IYP8qXpRLuGUDz/JkYG+5Hk8qGMf/sPVjU2M4tNPAAGZQ mKGOJnfShb6pOc1LSz4qwTX1xG726b6godlqo7S4cGAG8pibM/6B4fwAzEQZii0Bw6kS 8c3Btv6HpeLeD23+SDcVppinitt2zrVwQFU8Oe1vzkreyTzMomOdFR72vHSnqhoLyZES p8q+9mHWdkUXiT/7KeSzayqI9+WUWhFBbpvjjZXYqpOwhqLuU0VwyQ2OVDi6zTDXB8Dz 16Fw==
MIME-Version: 1.0
X-Received: by with SMTP id u8mr10677252lbq.96.1363832535546; Wed, 20 Mar 2013 19:22:15 -0700 (PDT)
Received: by with HTTP; Wed, 20 Mar 2013 19:22:15 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <> <>
Date: Wed, 20 Mar 2013 19:22:15 -0700
Message-ID: <>
From: Radia Perlman <>
To: Thomas Narten <>
Content-Type: multipart/alternative; boundary=e89a8f6474a7d080d204d866010e
Cc: Donald Eastlake <>,
Subject: Re: [trill] FGL "safe" mode in fine labels
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Developing a hybrid router/bridge." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 21 Mar 2013 02:22:19 -0000

It's actually quite simple.  All the transit RBs are supposed to be
FGL-safe before you introduce FGL frames.

If you follow that rule, things are very simple...there can be VL edges and
FGL edges, and it will work just fine.
Let's say that R3 and R4 are VL-only, and R1 and R2 can be FGL edges.  R3
and R4 can send packets through the campus to each other, and R1 and R2 can
send packets to each other through the campus.  An FGL multicast packet
will not reach R3 or R4 because R3 or R4's neighbor will be FGL-safe and
will discard the frame (that rule is in the draft).  But the FGL multicast
will reach all FGL edges, which is what you want anyway.

The case that isn't supposed to happen, but we do at least specify what
happens if it does, is when there are transit non-FGL-safe RBridges, and
someone starts sending FGL packets.  For instance, suppose R3 is not
FGL-safe. The design in the spec results in having the campus possibly
partition as a result of that.  For example, if FGL edges R1 and R2 want to
send FGL frames to each other, and R3 happens to be on the path between
them, then tough luck...FGL frames will be discarded.

As I said, we had a different design before that had FGL RBridges compute
Djkstra in two different ways depending on whether the destination nickname
was an FGL edge or not.  If the destination was NOT an FGL edge, then
compute Dijkstra normally.  If it was an FGL edge, then discard the LSPs of
all non-FGL-safe RBridges before computing Dijkstra, so that all FGL-safe
RBridges would compute paths to FGL edges that never went through any
non-FGL-safe RBridges.  So VL packets would work just fine always.  And FGL
packets (unicast and multicast) would work find as long as ANY path
consisting of all FGL-safe RBridges existed.

There was (at least) one person who thought that  design was too
complicated, and that with the assertion that all the transit RBs could
"easily" be upgraded to be FGL-safe, there was no reason to worry about
having the case of transit VL RBridges work gracefully....that we should
just assume that all the transit RBridges get upgraded to FGL-safe, and the
forwarding table computation wouldn't need to do the special thing.  The
downside of the current design is, as I said, that if the least cost path
between FGL edges R1 and R2 happens to go through non-FGL-safe R3, then
tough luck...packets get dropped.  But again, if it's trivial to upgrade
all existing implementations to be FGL-safe, then this seems like the right
way to go.

Sometimes things can get more easily cleared up with a phone call...I'd be
happy to discuss it with you by phone, Thomas, if you still find this


On Wed, Mar 20, 2013 at 6:03 PM, Thomas Narten <> wrote:

> So, it seems to me that there are several different deployment
> combinations involving VL and FGL.
> 1) Mixture of VL only and FGL-safe RBs, but no FGL-edges. To me, this
> case is pretty uninteresting, in the sense that since all the RB-edges
> understand only VL, there is zero reason to use FGL anywhere. Thus, in
> this case, I would expect FGL-safe RBs to advertise that they are
> FGL-safe, but all RBs would operate in VL-only mode.
> Does this make sense?
> 2) A second possibly uninteresting case consists of a mixture of VL
> only and FGL-safe RBs, all edges are FGL-edges. In this case, you do
> have VL-only transit RBs (they are not connected to edges). This case
> is sort of weird in that the VL-only transit RBs are useless and
> aren't used. So I'd just rule this case out of scope.
> Well, except an operator needs to be aware of this restriction, so
> they aren't surprised.
> Does this make sense?
> 3) The interesting cases are where you have a mixture of VL-only and
> FGL-safe RBs AND a mixture of VL-edges and FGL-edges. This is the
> tricky case.
> This leads to two different problems.
> 3a) First, if you are using both VL-Edges and FGL-edges, what is the
> interoperabilty model intended to be? If RB1 is VL-only and supports
> VLAN 1, but RB3 is an FGL-edge and also accepts traffic on VLAN 1,
> what is supposed to happen? Is traffic supposed to be relayed between
> those two VLANs? Why or why not?
> My impression from the document is that the above case is handled by
> saying "ships in the night", you don't get communication in that
> case. Is that correct?  Either way, I think the document should
> explain this more directly -- its critical to understanding the
> transition approach when deploying FGL.
> 3b) Whatever the answer for 3a), there is a separate problem that you
> may have FGL-safe RBs and VL-only RBs, and you can't forward FGL
> traffic via a VL-only RB. That means that the SPF calculation that
> creates the TRILL routing table conceptually runs two different
> instances: one covering only FGL-safe RBs, another covering all
> RBs. FGL frames are only sent using the routing table built from the
> FGL-safe RBs, VL frames are sent via the other table. The edge RBs
> Ethernet Frames ingress into the TRILL network decide which
> encapsulation (VL or FGL) gets used.
> The current document supports model 3b), though doesn't explain it
> directly. One ends up deriving this behavior from the details in the
> document.
> Do I have this right?
> Thomas
> _______________________________________________
> trill mailing list