[trill] Explaining three options for upgrading to FGL (fine-grained-labeling)

Radia Perlman <radiaperlman@gmail.com> Fri, 25 January 2013 19:00 UTC

Return-Path: <radiaperlman@gmail.com>
X-Original-To: trill@ietfa.amsl.com
Delivered-To: trill@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7460221F87C3 for <trill@ietfa.amsl.com>; Fri, 25 Jan 2013 11:00:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level:
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rT0TqM7h5GGx for <trill@ietfa.amsl.com>; Fri, 25 Jan 2013 11:00:32 -0800 (PST)
Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com [209.85.217.180]) by ietfa.amsl.com (Postfix) with ESMTP id 32E9B21F88E2 for <trill@ietf.org>; Fri, 25 Jan 2013 11:00:26 -0800 (PST)
Received: by mail-lb0-f180.google.com with SMTP id q12so1255986lbc.39 for <trill@ietf.org>; Fri, 25 Jan 2013 11:00:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=MDGHsPzLwUS+HHLrkItRa+uqzrdT4WJBk5Je/1SsfQo=; b=MVZgTWzDXg4zU9YO6MnaI89c3yoDb6n1+yYmzSdUwRbCdQiAyyl4fOQwfwyzHdU3T3 AJYwJ4wt7HZCIOk1C/7XmFhNrqR5m5DgCvH53lVNvviDlAHEW9WJ35B0eLLLmx89CUW0 UN3xXkHwYxmWLZQelFs3c26NvDAhBwbf/SP2kF77ZqDuY6jjeV/4bXVxfLi6xWsrQAKt l45a/HUfFBwX42pmUFho2NoLN5nN0ze1ljX+i1AMnShEIzn0gnjf9TpAH+n78yvUPuU0 EwfC4OSnhmu8ieBQWU9FNkMtGiAU6cheeXjFP/vQlnErj1zkmhFiDyslxELyiFj86fL5 HYVw==
MIME-Version: 1.0
X-Received: by 10.152.121.212 with SMTP id lm20mr5979269lab.42.1359140425085; Fri, 25 Jan 2013 11:00:25 -0800 (PST)
Received: by 10.112.64.17 with HTTP; Fri, 25 Jan 2013 11:00:24 -0800 (PST)
Date: Fri, 25 Jan 2013 11:00:24 -0800
Message-ID: <CAFOuuo67iBR2JkDtwPFCkrKHs3Fp4U_L1jkmNz5sfht6y05YMw@mail.gmail.com>
From: Radia Perlman <radiaperlman@gmail.com>
To: trill@ietf.org
Content-Type: multipart/alternative; boundary=f46d04374ee13cb32e04d4218ad5
Subject: [trill] Explaining three options for upgrading to FGL (fine-grained-labeling)
X-BeenThere: trill@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Developing a hybrid router/bridge." <trill.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trill>, <mailto:trill-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/trill>
List-Post: <mailto:trill@ietf.org>
List-Help: <mailto:trill-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trill>, <mailto:trill-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Jan 2013 19:00:33 -0000

I'm going to summarize three options for phasing-in FGL, and explain the
tradeoffs, to help people have informed opinions about the implications of
the three approaches.  There are infinite variations, of course, but as I
said, I'll describe three main ones.

Option 1:  Original draft, no changes.  There are two types of RBridges.
The first type is "VL" which only understands VLAN tags, and have unknown
and possibly dangerous behavior when they receive an FGL-labeled packet.
(e.g., decapsulate a packet onto a link where it is not allowed, or
mistakenly prune a multicast so it does not reach everywhere it should).
The second type is "FGL".  FGL guys need to do two things: 1) understand
FGL tags and do the right thing with them, and 2) ostrasize VL
guys...meaning that an FGL guy refuses to form an adjacency with a VL guy.
 This option is very simple for implementers of FGL, but the implication is
that you have to upgrade your entire campus to FGL at once.  There is no
coexistence.

Option 2: Two types of RBridges, but the 2nd type is different from option
1.  VL guys of course are the same as in option 1...they cannot be trusted
with FGL frames. The second type I will call "FGL-safe". An FGL-safe
RBridge must advertise in its LSP that it is FGL-safe, and it must not "do
anything bad" with FGL frames, meaning that it is allowed to ignore pruning
of FGL (or even VL frames) entirely...it just can't falsely drop FGL
frames.  And it must not decapsulate an FGL frame onto a link for which
that FGL frame doesn't belong. In this option, all RBridges must be
upgraded to FGL-safe, but it need not happen instantaneously...it's fine to
mix FGL-safe RBridges with VL RBridges...it's just not safe to inject FGL
frames yet.  Once all the RBridges have been upgraded to be FGL-safe, then
edge RBridges can start announcing they are connected to an FGL link, and
can start injecting FGL packets.  It is considered a misconfiguration if
you start injecting FGL frames before all the RBridges are upgraded to
FGL-safe, so an additional chore for an FGL-safe RBridge R1 is to examine
LSPs, and if any RBridge claims to be attached to an FGL link, then R1 must
ostrasize any VL neighbors.  (don't start ostrasizing VL guys until it is
necessary because of actually starting to use FGL frames, in other words).
This option is more work for the upgraded RBridges than option 1, and there
still isn't good coexistence with VL guys long-term (as option 3 will), but
it does allow upgrading RBridges one by one in a working campus without
causing disruption.

Option 3: Two types of RBridges.  VL, of course, is the same as in options
1 and 2.  This option makes FGL guys do more work, but allows maximal long
term coexistence of VL and FGL guys. In this option, FGL guys calculate
unicast paths to FGL edge guys that avoid any VL guys, and calculate at
least one FGL-friendly multicast tree that also avoids any VL guys. So
let's say R1 is an FGL guy.  R1 discards all LSPs from VL guys (ones that
don't advertise FGL capability in their LSP), when calculating paths to
other FGL RBridges. Then R1 calculates paths to the VL guys using all LSPs.
 Likewise, when calculating an FGL-friendly tree, R1 calculates a tree
through only FGL guys.   This option is more work for the upgraded RBridges
(because they have to calculate Dijkstra in two different ways, one for
reaching VL guys, and one for reaching FGL guys).  However, it does allow
having long-term coexistence with VL guys.  For instance, you could forever
keep some VL edge RBridges that communicate just fine through an FGL core.
 They can stay there forever, and still be able to communicate through the
core to all the links attaching to their VLAN.