[Isis-wg] How should we encode TRILL IS-IS to distinguish it from layer 3 IS-IS?

Radia Perlman <Radia.Perlman@sun.com> Sat, 19 May 2007 04:42 UTC

Return-path: <isis-wg-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HpGmG-0002Kr-UC; Sat, 19 May 2007 00:42:48 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HpGmF-0002Jl-MX for isis-wg@ietf.org; Sat, 19 May 2007 00:42:47 -0400
Received: from edge.sunlabs.com ([204.153.12.50] helo=mail-mta.sunlabs.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HpGmD-0001ai-CA for isis-wg@ietf.org; Sat, 19 May 2007 00:42:47 -0400
Received: from mail.sunlabs.com ([152.70.2.186]) by dps.sfvic.sunlabs.com (Sun Java System Messaging Server 6.1 HotFix 0.02 (built Aug 25 2004)) with ESMTP id <0JI9005RNUF0VS00@dps.sfvic.sunlabs.com> for isis-wg@ietf.org; Fri, 18 May 2007 21:42:36 -0700 (PDT)
Received: from [127.0.0.1] ([129.150.16.160]) by mail.sunlabs.com (Sun Java System Messaging Server 6.1 HotFix 0.02 (built Aug 25 2004)) with ESMTPSA id <0JI900KK8UEYEM00@mail.sunlabs.com> for isis-wg@ietf.org; Fri, 18 May 2007 21:42:35 -0700 (PDT)
Date: Fri, 18 May 2007 21:43:07 -0700
From: Radia Perlman <Radia.Perlman@sun.com>
To: isis-wg@ietf.org
Message-id: <464E805B.3050604@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-transfer-encoding: 7bit
User-Agent: Thunderbird 1.5.0.10 (Windows/20070221)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: cd26b070c2577ac175cd3a6d878c6248
Subject: [Isis-wg] How should we encode TRILL IS-IS to distinguish it from layer 3 IS-IS?
X-BeenThere: isis-wg@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: IETF IS-IS working group <isis-wg.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isis-wg>, <mailto:isis-wg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isis-wg>
List-Post: <mailto:isis-wg@ietf.org>
List-Help: <mailto:isis-wg-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isis-wg>, <mailto:isis-wg-request@ietf.org?subject=subscribe>
Errors-To: isis-wg-bounces@ietf.org

The TRILL WG would like to use IS-IS for RBridges to have a routing
protocol among themselves.

RBridges encapsulate packets with a TRILL header as they are forwarded
across the RBridged-cloud (called a "campus").

Which means that layer 3 IS-IS, if routers are connected via a "campus", 
will look
like:

inner frame: exactly as the first IS-IS router transmits it, i.e., an 
Ethernet header
with Ethertype="IS-IS", Ethernet source address=IS-IS router that 
transmitted it,
Ethernet destination address usually="all-Level1-routers" or 
"all-Level2-routers", but
sometimes unicast (like in the case of a PSNP).

And this frame will be TRILL-encapsulated while travelling across the
campus between the RBridges, but will be stripped off at the egress 
RBridge so
layer 3 routers won't know it happened.

The layer 3 IS-IS packet, when TRILL-encapsulated look like:

outside the inner frame is a "TRILL header", which identifies the 
ingress and egress
RBridges, and a hop count, and (luckily, because I think we'll need it) 
some reserved bits.

outside that is an ordinary looking Ethernet header (in case there are 
bridges
between two RBridges), with Ethertype=TRILL.

***********
So far OK.

But now -- how do we encode TRILL IS-IS packets so they are not confused 
with
layer 3 IS-IS, and also not confused with TRILL-encapsulated data packets?

TRILL will use "area address=0", which I'm assuming is not a legal area 
address for
layer 3. Is this assumption correct?

Layer 3 IS-IS routers will not ever see a TRILL IS-IS packet because it 
will be
TRILL-encapsulated. The Ethertype will be TRILL rather than IS-IS, and 
RBridges
will not use the IS-IS layer 2 multicast addresses.

But the question is---how does an RBridge know the difference between a 
layer 3
IS-IS packet that has been encapsulated for transit across the campus, 
and a TRILL
IS-IS packet?

Both will have TRILL headers.

There's lots of solutions -- I just want to know what will be most 
convenient for
IS-IS implementers.

a) We could use an "illegal" inner Ethertype, say Ethertype=0, that 
would never
appear in a data packet. Then RBridges would interpret Ethertype=0 as a 
TRILL IS-IS
packet.

b) We could use a flag in the TRILL header (steal a reserved bit) to 
mean "This is
a TRILL IS-IS packet"

Any other ideas or advice?

Thanks,

Radia


_______________________________________________
Isis-wg mailing list
Isis-wg@ietf.org
https://www1.ietf.org/mailman/listinfo/isis-wg