Re: [bess] comment on draft-ietf-bess-ir

"Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net> Tue, 01 September 2015 19:27 UTC

Return-Path: <zzhang@juniper.net>
X-Original-To: bess@ietfa.amsl.com
Delivered-To: bess@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7C9511B345B for <bess@ietfa.amsl.com>; Tue, 1 Sep 2015 12:27:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eYp9TTx4Lcuf for <bess@ietfa.amsl.com>; Tue, 1 Sep 2015 12:27:02 -0700 (PDT)
Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0129.outbound.protection.outlook.com [65.55.169.129]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 543B91B34B7 for <bess@ietf.org>; Tue, 1 Sep 2015 12:26:42 -0700 (PDT)
Received: from BLUPR0501MB1715.namprd05.prod.outlook.com (10.163.120.18) by BLUPR0501MB1713.namprd05.prod.outlook.com (10.163.120.16) with Microsoft SMTP Server (TLS) id 15.1.256.15; Tue, 1 Sep 2015 19:26:40 +0000
Received: from BLUPR0501MB1715.namprd05.prod.outlook.com ([10.163.120.18]) by BLUPR0501MB1715.namprd05.prod.outlook.com ([10.163.120.18]) with mapi id 15.01.0256.013; Tue, 1 Sep 2015 19:26:39 +0000
From: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>
To: Lucy yong <lucy.yong@huawei.com>, "draft-ietf-bess-ir@tools.ietf.org" <draft-ietf-bess-ir@tools.ietf.org>
Thread-Topic: [bess] comment on draft-ietf-bess-ir
Thread-Index: AdDk3ISJn9nFD8+oSbSr4N7sHOM6gAAAX5Gw
Date: Tue, 01 Sep 2015 19:26:39 +0000
Message-ID: <BLUPR0501MB17158B3790D5A894347476ADD46A0@BLUPR0501MB1715.namprd05.prod.outlook.com>
References: <2691CE0099834E4A9C5044EEC662BB9D571D7792@dfweml701-chm>
In-Reply-To: <2691CE0099834E4A9C5044EEC662BB9D571D7792@dfweml701-chm>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=zzhang@juniper.net;
x-originating-ip: [66.129.241.10]
x-microsoft-exchange-diagnostics: 1; BLUPR0501MB1713; 5:PJNI9Qc98pfUfsiYPj7h+gIykiTe4pJSEDUNgPhApmINAK+5lsDsgwtq15A5qly0FQEhya133nqR9m1UtxvasfS2Grr0uMb4Wmt634AURWWYWVzZCvPg8NELnU4SnsIGFIO/+GXOIH5jxcHyOnAqgQ==; 24:vxofgnL9T5PRvpbdEGeRKmSpVVqsCDO0Gnqz+3JXFwidnVC1Qq7/iGt2vLgxbeFLOnvHxuuckPD+6sYof8wI2VykJo06t5hmN9dSu8kcTC8=; 20:Ws+2FGwMBFbU2Bbu4y2qui4frOjRNn7lH/l5wWOEk3ox9HXuy/2excfUH0RHn2mvZd0yimE0RTJzYNW+mol/lg==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0501MB1713;
x-microsoft-antispam-prvs: <BLUPR0501MB1713161CFB127B44F116536AD46A0@BLUPR0501MB1713.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(108003899814671);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(5005006)(8121501046)(3002001); SRVR:BLUPR0501MB1713; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0501MB1713;
x-forefront-prvs: 06860EDC7B
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(377454003)(199003)(189002)(46102003)(19580405001)(64706001)(5001830100001)(50986999)(102836002)(5001860100001)(68736005)(66066001)(76176999)(62966003)(15975445007)(54356999)(101416001)(76576001)(10400500002)(77096005)(19300405004)(19580395003)(5003600100002)(2501003)(5001770100001)(2950100001)(2656002)(16236675004)(87936001)(19609705001)(33656002)(19625215002)(5002640100001)(74316001)(230783001)(97736004)(5001960100002)(77156002)(86362001)(5004730100002)(189998001)(81156007)(2900100001)(5007970100001)(99286002)(106356001)(92566002)(105586002)(40100003)(122556002)(4001540100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR0501MB1713; H:BLUPR0501MB1715.namprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_BLUPR0501MB17158B3790D5A894347476ADD46A0BLUPR0501MB1715_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Sep 2015 19:26:39.4893 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0501MB1713
Archived-At: <http://mailarchive.ietf.org/arch/msg/bess/xn9KCmrJCmIAkxHM9v7g4TO6OIQ>
Cc: "bess@ietf.org" <bess@ietf.org>
Subject: Re: [bess] comment on draft-ietf-bess-ir
X-BeenThere: bess@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: BGP-Enabled ServiceS working group discussion list <bess.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bess>, <mailto:bess-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bess/>
List-Post: <mailto:bess@ietf.org>
List-Help: <mailto:bess-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bess>, <mailto:bess-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Sep 2015 19:27:06 -0000

Hi Lucy,

Please see zzh> below.

From: BESS [mailto:bess-bounces@ietf.org] On Behalf Of Lucy yong
Sent: Tuesday, September 01, 2015 1:35 PM
To: draft-ietf-bess-ir@tools.ietf.org
Cc: bess@ietf.org
Subject: [bess] comment on draft-ietf-bess-ir

Hi Authors,

The draft is well written. Some simper implementation maybe considered.

The mechanism is to build a distribution tree, i.e. a P-tunnel by ingress replication (IR) at each segment. To achieve that, AS number is used as the tree root ID and RT is used for Parent identifier. The implementation requires each parent to track all its children and each child selects one parent.

Zzh> While in a separate thread you and I talked about AS number identifying the tree root for an inter-as inclusive tree, more accurately it is that the Inter-AS I-PMSI route identifying the Ingress Replication tunnel. As this draft pointed out, an I/S-PMSI route identifies the tunnel, whether the route is tied to an AS (in case of Inter-AS I-PMSI), or some other things (e.g. an S-PMSI).

Section 6.2 describes the rules for intermediate node as a child to allocate a single label for two received Leaf A-D routes from its downstream.

Zzh> More accurately, a single label for the upstream segment of two different tunnels. Suppose there are two tunnels, both have the same forwarding state for the downstream segment, then the upstream can share the same label.

Section 9 describes that the solution is able to support dynamic Leaf A-D route (join and withdraw). This makes the rule #2 in section 6.2 becomes a near impossible condition because the Leaf A-D route at downstream may change for the time being.

Zzh> Section 6.2 already points out the following:

   Of course, N MAY always specify distinct non-zero labels in each of
   the Leaf A-D routes that it originates.

I.e., you can always advertise different labels for different tunnels. The more complicated label allocation scheme in the section allows for different tunnel segments to share the same forwarding state, and is an optimization. The implementation of that is not infeasible.

Section 9 further describes "the make before break" implementation and requires some cooperation between patent and its child who is changing to a new parent;  that is: the patent detects the change from RT value changes and update its state (not as parent for the child), but continually send the packet in data plane until receiving the withdraw Leaf A-D route from the child; the child sends the leaf A-D with the new parent identified by IP address-specific RT, but continually acceptes the packets from old-patent for  a while before accepts the packets from new patent.

Zzh> When a child changes the RT value because it picks a new parent, the old parent will get a withdraw - not that it gets the updated route (with the new RT) first and then a withdraw later.

Since the essential rule in this mechanism is for each child to select one and only one patent, the child node can implement "make before break" without parent assistant. Thus, patent does not need to update the multicast state based on RT change, just update the multicast state when receiving the withdraw Leaf A-D route. Let the child to manage it. If two nodes send the same packet to a child, the child only accepts the packet from its parent and discards a packet from non parent now as the essential rule. When a child changes parents, it just needs to continually accept the packet from old parent for a while, after accepting the packet from the new UMH, it sends the withdraw lead A-D and stop accepting the packet from old parent.

Zzh> Perhaps this can be done by the child to include the RT for the new parent and the RT for the old parent for a while, and then remove the RT for the old parent later. The drawback is that an additional route update is needed.

The essential rule can relax the #2 rule in section 6.2, i.e. no need to restrict N's forwarding state for K1 and K2 are exactly same, i.e. the same set of downstream neighbors. This will be more practical.

We just need to state rules for a node to discard the received packet, 1)  the packet is from non-patent node; 2) the node never advertises for the corresponding Leaf A-D route.

Zzh> Section 6.2 and section 9 are independent?

Jeffrey

To balance avoiding packet discard at a downstream node and sharing a label in upstream path, an intermediate node can have a proper algorithm for label allocation.

Does this make a sense? Comment?

Thanks.
Lucy