Re: [trill] New version : TRILL Smart Endnodes draft

Phanidhar Koganti <pkoganti@Brocade.COM> Wed, 09 January 2013 08:47 UTC

Return-Path: <pkoganti@Brocade.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 00B7321F8501 for <trill@ietfa.amsl.com>; Wed, 9 Jan 2013 00:47:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.064
X-Spam-Level:
X-Spam-Status: No, score=-2.064 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_33=0.6, J_CHICKENPOX_81=0.6, 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 lo2u-7aQdIo8 for <trill@ietfa.amsl.com>; Wed, 9 Jan 2013 00:47:18 -0800 (PST)
Received: from mx0a-000f0801.pphosted.com (mx0a-000f0801.pphosted.com [67.231.144.122]) by ietfa.amsl.com (Postfix) with ESMTP id 636F321F8507 for <trill@ietf.org>; Wed, 9 Jan 2013 00:47:18 -0800 (PST)
Received: from pps.filterd (m0000542 [127.0.0.1]) by mx0a-000f0801.pphosted.com (8.14.5/8.14.5) with SMTP id r098lExo018374; Wed, 9 Jan 2013 00:47:14 -0800
Received: from hq1wp-exchub01.corp.brocade.com ([144.49.131.13]) by mx0a-000f0801.pphosted.com with ESMTP id 19rta709u8-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 09 Jan 2013 00:47:13 -0800
Received: from HQ1WP-EXHUB01.corp.brocade.com (10.70.36.14) by HQ1WP-EXCHUB01.corp.brocade.com (10.70.36.99) with Microsoft SMTP Server (TLS) id 14.2.309.2; Wed, 9 Jan 2013 00:47:04 -0800
Received: from HQ1-EXCH02.corp.brocade.com ([fe80::c92a:772e:befa:c34c]) by HQ1WP-EXHUB01.corp.brocade.com ([::1]) with mapi; Wed, 9 Jan 2013 00:47:04 -0800
From: Phanidhar Koganti <pkoganti@Brocade.COM>
To: Radia Perlman <radiaperlman@gmail.com>
Date: Wed, 09 Jan 2013 00:47:02 -0800
Thread-Topic: New version : TRILL Smart Endnodes draft
Thread-Index: Ac3uRGvGCbwcv0mnTG6DWkgeGFy53gAAKqtw
Message-ID: <6895EAE0CA8DEE40B92D7CA88BB521F32414007BE1@HQ1-EXCH02.corp.brocade.com>
References: <D5A6F3355F664C40AFB65BB1277D8D450186C7F7AD@MAAX7MCDC101.APAC.DELL.COM> <6895EAE0CA8DEE40B92D7CA88BB521F32414007827@HQ1-EXCH02.corp.brocade.com> <CAFOuuo7t8xt8Z1mx78G2SsE8tkmAMNs44xd11Mc43S1_WfH6RA@mail.gmail.com> <6895EAE0CA8DEE40B92D7CA88BB521F32414007BC1@HQ1-EXCH02.corp.brocade.com> <CAFOuuo626hw-c0kM4-1Fp-w2gByPenRnkFP3xNT+cTB4YcJ2kg@mail.gmail.com> <6895EAE0CA8DEE40B92D7CA88BB521F32414007BDC@HQ1-EXCH02.corp.brocade.com> <CAFOuuo6CK7=1uKU3j6WCSVEjd6PqYRxpsvC55Y66mVCPN_zTzg@mail.gmail.com>
In-Reply-To: <CAFOuuo6CK7=1uKU3j6WCSVEjd6PqYRxpsvC55Y66mVCPN_zTzg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_6895EAE0CA8DEE40B92D7CA88BB521F32414007BE1HQ1EXCH02corp_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.9.8327, 1.0.431, 0.0.0000 definitions=2013-01-09_02:2013-01-08, 2013-01-09, 1970-01-01 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=49 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1211240000 definitions=main-1301090014
Cc: "d3e3e3@gmail.com" <d3e3e3@gmail.com>, "Kesava_Vijaya_Krupak@Dell.com" <Kesava_Vijaya_Krupak@dell.com>, "hu.fangwei@zte.com.cn" <hu.fangwei@zte.com.cn>, "trill@ietf.org" <trill@ietf.org>
Subject: Re: [trill] New version : TRILL Smart Endnodes draft
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: Wed, 09 Jan 2013 08:47:25 -0000

Inline

From: Radia Perlman [mailto:radiaperlman@gmail.com]
Sent: Wednesday, January 09, 2013 2:06 PM
To: Phanidhar Koganti
Cc: Kesava_Vijaya_Krupak@Dell.com; trill@ietf.org; d3e3e3@gmail.com; hu.fangwei@zte.com.cn
Subject: Re: New version : TRILL Smart Endnodes draft

Hmm.  Interesting example...

Let's first ignore multihoming, and assuming that two smart endnodes, E1 and E2, are both connected to R1.  I think the case works where E1 and E2 are on the same shared link...they will learn that the other can be reached directly, and talk to each other without TRILL encapsulation.

But let's consider the case where E1 and E2 are both singly homed to R, but using different ports.  Then they will have to talk to each other with TRILL encapsulation with both ingress and egress nickname=R1.  That's a bit weird, but I think it works.  Does it?
[Phanidhar Koganti] We can make it work :). It sounds weird so will need to put more thought....

-------
As for multicast showing up twice...it shouldn't...only one RB should be attached to a link with an endnode via any particular tree, so I think only one copy of a multicast packet should be delivered.
[Phanidhar Koganti] Got you, so the link is chosen on a tree basis and not like a LAG where each side picks the link for multicast without coordination with remote.

--------
As for having each smart endnode use its own nickname...the real problem is nickname exhaustion (running out of nicknames).  There's only 64K nicknames, unless we do the multilevel thing where nicknames only need to be unique within an area, but the RBs that forward between level 1 and level 2 have to rewrite the nickname fields.
[Phanidhar Koganti] Yes the nickname space can be localized to an area and the need for nickname rewrites will come into picture for very large scale deployments and can potentially be justified.

----
As for unknown destinations/learning...I thought we considered that.  But smart endnodes will not be unknown to the attached RB...they explicitly announce themselves.
[Phanidhar Koganti] Agree if smart endnodes are always known we are good.

Radia



On Wed, Jan 9, 2013 at 12:24 AM, Phanidhar Koganti <pkoganti@brocade.com<mailto:pkoganti@brocade.com>> wrote:
Radia,

Valid point for unicast that the pair in the example needs to be aware that it might get unicast traffic with TRILL Source RBID equal to its RBID. This brings up an interesting scenario.

Let's say there are two smart end-nodes e1 & e2 which are both multi-homed behind R1 & R2. Also say both e1 & e2 pick R1 to use in TRILL source RBID, then when e1 is talking to e2 we end up in a encap where both TRILL SA/DA will have the same value = R1.

I am inclined towards a pseudo RB for the end-node with its own nickname, but am not clear on the impact on Dijkstra as the number of routable RBIDs will considerably go up.

Few additional concerns:

For multicast it will also trigger confusion on source suppression that needs to happen in the peer RB. Let's say there is a smart end-node e1 & e2 multi-homed behind R1 and R2. For multicast or flooded traffic we need source suppression so that the traffic does not go back to the smart endnode. Or is the draft assuming that the smart end-node will perform the suppression if the packet comes back to it?

Also for the packet direction edge-RB to smart end-node, if we end up with unknown MAC then we should flood to all the locally hanging smart end-nodes and regular end-nodes. When flooding towards smart end-nodes are we expected to continue the TRILL packet with M=0 or convert it to M=1 with T_DA=ROOT. If we like to continue with M=0 then the edge-RB needs to support unicast replication for multicast.

Phani

From: Radia Perlman [mailto:radiaperlman@gmail.com<mailto:radiaperlman@gmail.com>]
Sent: Wednesday, January 09, 2013 11:52 AM

To: Phanidhar Koganti
Cc: Kesava_Vijaya_Krupak@Dell.com<mailto:Kesava_Vijaya_Krupak@Dell.com>; trill@ietf.org<mailto:trill@ietf.org>; d3e3e3@gmail.com<mailto:d3e3e3@gmail.com>; hu.fangwei@zte.com.cn<mailto:hu.fangwei@zte.com.cn>
Subject: Re: New version : TRILL Smart Endnodes draft

Good point (see Phani's comment below).  I'll summarize:

The current  text implies that it's OK for smart endnode E, multihomed to R1 and R2, to choose one of the nicknames (say R1) for "ingress nickname" in the TRILL header, and forward to either R1 or R2.  There are two problems with E forwarding a TRILL-encapsulated frame using ingeress "R1", through R2:

a) for multicast, likely to confuse the RPF check
b) for unicast, E would probably need to warn R2 that E is multihomed to R1 and will e using R1's nickname for ingress.

And actually, E won't get that much load splitting benefit from being multihomed if it uses "R1" as ingress, since all traffic to E will go through R1.  So, if E doesn't have a pseudonode nickname to use, then perhaps E should just use one R1 or R2.

Or E could get its own nickname (I've been floating around the idea of a "dumb RBridge", which is like a "smart endnode", except it gets its own nickname, and does generate an LSP with "overloaded" flag.  It probably has to receive LSPs and calculate Dijkstra, in order to know which port to send multicast on (unless its attached true RBs are helpful enough to tell it..."you can send multicast with trees X or Y through me")

So, it seems like there are several options which should be discussed, for a smart endnode multihomed to R1 and R2
1) Always use a pseudnode nickname (but that's kind of complicated since that nickname can only be used by smart endnodes that are multihomed to the exact same set of RBridges)
2) Don't do active-active...choose one or R1 or R2 and always send everything that way
3) Do active-active, but only for unicast...choose one of the nicknames, say "R1", and it's OK to send unicast either through R1 or R2, but multicast has to go through R1
4) Give E its own nickname (and somehow make sure it knows which port it can multicast on)
5) Other possibilities?

Radia




On Tue, Jan 8, 2013 at 8:32 PM, Phanidhar Koganti <pkoganti@brocade.com<mailto:pkoganti@brocade.com>> wrote:
Thanks Radia. That clarifies for me. A more descriptive text in draft can surely help vendors as they implement it in their hardware.

Another question on handling multi-homing
E can choose either R1 or R2's nickname, when encapsulating a
       frame, whether the encapsulated frame is sent via R1 or R2. If E
       wants to do active-active load splitting, and uses R1's nickname
       when forwarding through R1, and R2's nickname when forwarding
       through R2, this will cause distant RBridges (or smart endnodes)
       to keep changing their endnode table entry for D between (D, R1's
       nickname) and (D, R2's nickname). So it would be preferable for E
       to always encapsulate using the same nickname (R1 or R2) unless E
       detects a problem with connectivity using that nickname. And in
       this case, R1 and R2 need to be informed that the smart endnode
       might encapsulate with a different nickname, i.e., R1 might
       receive an encapsulated packet from smart endnode E using ingress
       nickname "R2".

If the smart endnode uses either R1 or R2 in the above example, would we have TRILL RPF issues where upstream RBs see a packet with SRB=say R1 coming from a wrong TRILL port? Let's say the RPF happens for multicast only then we will atleast need to make sure the multicast (broadcast, unknown unicast and multcast) is sent via the edge-RB whose RBID the smart endnode is using.

This problem should not be there when using different RBID other than R1 and R2 as described in approach-2

Phani
From: Radia Perlman [mailto:radiaperlman@gmail.com<mailto:radiaperlman@gmail.com>]
Sent: Wednesday, January 09, 2013 2:53 AM
To: Phanidhar Koganti
Cc: Kesava_Vijaya_Krupak@Dell.com<mailto:Kesava_Vijaya_Krupak@Dell.com>; trill@ietf.org<mailto:trill@ietf.org>; d3e3e3@gmail.com<mailto:d3e3e3@gmail.com>; hu.fangwei@zte.com.cn<mailto:hu.fangwei@zte.com.cn>
Subject: Re: New version : TRILL Smart Endnodes draft

Most of what you said is correct.  One correction

a) When the packet reaches the egress RB I am presuming there will be a inner-MAC lookup to deliver the packet to the egress end-node.

correct...when egress RB R has to look up the inner MAC address E, which it has to do anyway without smart endnodes, in order to choose which port to forward it on.  With smart endnodes, when R looks up MAC address E, it not only discovers which port to send it on, but that E is "smart", in which case R must leave the TRILL encapsulation

b) Edge-RB to smart endnode cannot have TRILL encapsulation right?

Not correct.  Traffic from egress RB to smart endnode will have TRILL encapsulation.  So for example, let's say R is the egress RB, and R has a link with two endnodes; E1 (which is smart) and E2 (which is not smart).

When R receives a TRILL packet from the campus, with TRILL destination nickname=R, R looks at the MAC destination.  If it is E2, then R removes the TRILL encapulation and forwards a native packet onto the link.  If it is E1, then R forwards the packet with the TRILL header.

c) Edge-RB to smart endnode cannot have TRILL encapsulation right? If so for my clarification we are saying the traffic towards the end-node will be non-TRILL while towards the ingress edge-RB will be TRILL encapsulated?

Hopefully my answer to b) clarified this.  On the link between endnodes and R, whether it's to or from endnode <--> edge RB, the packet will have TRILL encapsulation if the endnode is smart, and not have TRILL encapsulation if the endnode is not smart.

Radia


On Thu, Jan 3, 2013 at 3:19 AM, Phanidhar Koganti <pkoganti@brocade.com<mailto:pkoganti@brocade.com>> wrote:
The draft defines the control and data path behavior from smart end-node to edge-RB. When the packet reaches the egress RB I am presuming there will be a inner-MAC lookup to deliver the packet to the egress end-node. Edge-RB to smart endnode cannot have TRILL encapsulation right? If so for my clarification we are saying the traffic towards the end-node will be non-TRILL while towards the ingress edge-RB will be TRILL encapsulated?

Phani

From: trill-bounces@ietf.org<mailto:trill-bounces@ietf.org> [mailto:trill-bounces@ietf.org<mailto:trill-bounces@ietf.org>] On Behalf Of Kesava_Vijaya_Krupak@Dell.com<mailto:Kesava_Vijaya_Krupak@Dell.com>
Sent: Thursday, January 03, 2013 4:19 PM
To: trill@ietf.org<mailto:trill@ietf.org>
Cc: d3e3e3@gmail.com<mailto:d3e3e3@gmail.com>; radiaperlman@gmail.com<mailto:radiaperlman@gmail.com>; hu.fangwei@zte.com.cn<mailto:hu.fangwei@zte.com.cn>
Subject: [trill] New version : TRILL Smart Endnodes draft

Hi all,

A new version of the Trill Smart Endnodes draft has been posted.

http://datatracker.ietf.org/doc/draft-perlman-trill-smart-endnodes

Kindly let us know your comments.

Thanks,
kvk