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

Lucy yong <lucy.yong@huawei.com> Tue, 01 September 2015 19:48 UTC

Return-Path: <lucy.yong@huawei.com>
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 843001A702D for <bess@ietfa.amsl.com>; Tue, 1 Sep 2015 12:48:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.21
X-Spam-Level:
X-Spam-Status: No, score=-4.21 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 p4m2ac3cFfY7 for <bess@ietfa.amsl.com>; Tue, 1 Sep 2015 12:48:42 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 44E7B1B2F7E for <bess@ietf.org>; Tue, 1 Sep 2015 12:48:41 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml403-hub.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id BXA57544; Tue, 01 Sep 2015 19:48:38 +0000 (GMT)
Received: from DFWEML705-CHM.china.huawei.com (10.193.5.142) by lhreml403-hub.china.huawei.com (10.201.5.217) with Microsoft SMTP Server (TLS) id 14.3.235.1; Tue, 1 Sep 2015 20:48:36 +0100
Received: from DFWEML701-CHM.china.huawei.com ([10.193.5.50]) by dfweml705-chm ([10.193.5.142]) with mapi id 14.03.0235.001; Tue, 1 Sep 2015 12:48:26 -0700
From: Lucy yong <lucy.yong@huawei.com>
To: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>, "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+oSbSr4N7sHOM6gAAAX5GwAAOXAfA=
Date: Tue, 01 Sep 2015 19:48:26 +0000
Message-ID: <2691CE0099834E4A9C5044EEC662BB9D571D78ED@dfweml701-chm>
References: <2691CE0099834E4A9C5044EEC662BB9D571D7792@dfweml701-chm> <BLUPR0501MB17158B3790D5A894347476ADD46A0@BLUPR0501MB1715.namprd05.prod.outlook.com>
In-Reply-To: <BLUPR0501MB17158B3790D5A894347476ADD46A0@BLUPR0501MB1715.namprd05.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.47.155.97]
Content-Type: multipart/alternative; boundary="_000_2691CE0099834E4A9C5044EEC662BB9D571D78EDdfweml701chm_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <http://mailarchive.ietf.org/arch/msg/bess/Ix_QZI1Z1qQW8rBXDMXxZDkhsj8>
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:48:48 -0000

Hi Jeffery,

Thank you for your quick reply. To clarify, the first part of my previous email is to state what are specified in the draft. Starting "Since the essential rule" is about the simper solution in my mind that can apply this approach, which requires some rules and procedure changes in Section 6.2 and 9.



From: Jeffrey (Zhaohui) Zhang [mailto:zzhang@juniper.net]
Sent: Tuesday, September 01, 2015 2:27 PM
To: Lucy yong; draft-ietf-bess-ir@tools.ietf.org
Cc: bess@ietf.org
Subject: RE: [bess] comment on draft-ietf-bess-ir

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<mailto:draft-ietf-bess-ir@tools.ietf.org>
Cc: bess@ietf.org<mailto: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.
[Lucy] Please clarify: both have the same forwarding state for the downstream segment at a time or forever? Section 9 states that many reason may cause to change the parents for a leaf A-D.

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.
[Lucy] This is always valid to do. My point is when it is proper to have a shared label.

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.
[Lucy] why can't the child send the Leaf A-D for new patent first to the new parent and send withdraw Leaf A-D to old Patent the later when it stops accepting the packet from old-parent?  In fact, this is what I propose below.

Thanks,
Lucy

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