Re: [Bier] BIER WGLC: draft-ietf-bier-php

Xiejingrong <xiejingrong@huawei.com> Thu, 10 October 2019 09:12 UTC

Return-Path: <xiejingrong@huawei.com>
X-Original-To: bier@ietfa.amsl.com
Delivered-To: bier@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61DB3120090 for <bier@ietfa.amsl.com>; Thu, 10 Oct 2019 02:12:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.099
X-Spam-Level:
X-Spam-Status: No, score=-4.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 xEoKrbv-sSn8 for <bier@ietfa.amsl.com>; Thu, 10 Oct 2019 02:12:35 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 509D8120013 for <bier@ietf.org>; Thu, 10 Oct 2019 02:12:35 -0700 (PDT)
Received: from lhreml703-cah.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id A5DD2FC892EABDE2FE38; Thu, 10 Oct 2019 10:12:32 +0100 (IST)
Received: from NKGEML414-HUB.china.huawei.com (10.98.56.75) by lhreml703-cah.china.huawei.com (10.201.108.44) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 10 Oct 2019 10:12:31 +0100
Received: from NKGEML514-MBX.china.huawei.com ([fe80::40a8:f0d:c0f3:2ca5]) by nkgeml414-hub.china.huawei.com ([10.98.56.75]) with mapi id 14.03.0439.000; Thu, 10 Oct 2019 17:12:19 +0800
From: Xiejingrong <xiejingrong@huawei.com>
To: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>, "gjshep@gmail.com" <gjshep@gmail.com>, BIER WG <bier@ietf.org>
Thread-Topic: [Bier] BIER WGLC: draft-ietf-bier-php
Thread-Index: AQHVb/mA0DNvbC9wPUiVKpt1yB8I3qdR90AwgACkhACAAQPugA==
Date: Thu, 10 Oct 2019 09:12:18 +0000
Message-ID: <16253F7987E4F346823E305D08F9115AAB9F1B07@nkgeml514-mbx.china.huawei.com>
References: <CABFReBrqzdz1wbK_weeQD05LfrDZbSsfroj46ecpfWDiBoX2Qw@mail.gmail.com> <CABFReBp=n9KgS4ipkWvxAKdc5ciX6ej+=aZJzhUTGyQyTArdsQ@mail.gmail.com> <16253F7987E4F346823E305D08F9115AAB9F167D@nkgeml514-mbx.china.huawei.com> <DM5PR05MB3548F2830381D4656F0CB106D4940@DM5PR05MB3548.namprd05.prod.outlook.com>
In-Reply-To: <DM5PR05MB3548F2830381D4656F0CB106D4940@DM5PR05MB3548.namprd05.prod.outlook.com>
Accept-Language: en-US, zh-CN
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.111.217.214]
Content-Type: multipart/alternative; boundary="_000_16253F7987E4F346823E305D08F9115AAB9F1B07nkgeml514mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/bier/SYMmZ-ikIi_38EvXBJM3c14nHm0>
Subject: Re: [Bier] BIER WGLC: draft-ietf-bier-php
X-BeenThere: bier@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "\"Bit Indexed Explicit Replication discussion list\"" <bier.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bier>, <mailto:bier-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bier/>
List-Post: <mailto:bier@ietf.org>
List-Help: <mailto:bier-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bier>, <mailto:bier-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Oct 2019 09:12:39 -0000

Hi Jeffrey,

Thanks much for the clarification.
One-hop unicast tunnel is not necessary, and I assume a packet may look like this: Ethernet(type=0x8847) + DCB Label + IP Packet.
And thus the PHP don’t necessarily detail the ‘unicast tunnel’ finding procedure.
They both work for me.

But I failed to understand the “Interface based RPF can still be done”.
Let me assume MVPN scenario, Ingress PE1 and Ingress PE2  connect to P1, P1 connect to PE3(requesting PHP), how does the PE3 do the RPF so that multicast data packet from PE1 (the incorrect UMH)  could be dropped one PE3?
Allocate DCB label per VPN per Ingress PE ?

For the following text, I’d like to check one-by-one the possible BIER Payload, and feel that IPv4 payload and IPv6 payload could be supported by PHP too. I don’t know why it is not included in this doc.

(1)     the payload after BIER header is Downstream-assigned-MPLS Payload (BIER Proto = 1) //This payload type could be supported by PHP as this doc says.

(2)     the payload after BIER header is Upstream-assigned-MPLS Payload (BIER Proto = 2)

(3)     the payload after BIER header is Ethernet Payload (BIER Proto = 3)

(4)     the payload after BIER header is IPv4 Payload (BIER Proto = 4)  //I feel this payload type could be supported by PHP (the packet after PHP is Ethernet + IPv4 payload, or Ethernet + Label X + IPv4 payload), Label X is either a normal LSP label indicating any payload, or a Label advertised to indicating IPv4 payload.

(5)     the payload after BIER header is OAM Payload (BIER Proto = 5)

(6)     the payload after BIER header is IPv6 Payload (BIER Proto = 6) //I feel this payload type could be supported by PHP (the packet after PHP is Ethernet + IPv6 payload, or Ethernet + Label Y + IPv6 payload), Label X is either a normal LSP label indicating any payload, or a Label advertised to indicating IPv6 payload.

(7)     the payload after BIER header is VXLAN Payload (BIER Proto = TBD)  //This payload type could be supported by PHP as this doc says. (a little confusion, the packet is Ethernet + ???)
   The procedures in this section apply only if, by means outside the
   scope of this document, it is known that the payload after BIER
   header is one of the following: (MPLS payload, NVO3 payload)

I also think the ‘by means outside the scope of this document’ makes it difficult to use this PHP method.
Maybe the P1 router (as I assume above) need to judge the BIER Proto value to decide whether to satisfy the “PHP request” by the downstream PE3, and generate a warning if failed to satisfy the “PHP request” ?

Thanks
Jingrong

From: Jeffrey (Zhaohui) Zhang [mailto:zzhang@juniper.net]
Sent: Thursday, October 10, 2019 8:23 AM
To: Xiejingrong <xiejingrong@huawei.com>; gjshep@gmail.com; BIER WG <bier@ietf.org>
Subject: RE: [Bier] BIER WGLC: draft-ietf-bier-php

Hi Jingrong,

Please see zzh> below.

From: BIER <bier-bounces@ietf.org<mailto:bier-bounces@ietf.org>> On Behalf Of Xiejingrong
Sent: Wednesday, October 9, 2019 4:04 AM
To: gjshep@gmail.com<mailto:gjshep@gmail.com>; BIER WG <bier@ietf.org<mailto:bier@ietf.org>>
Subject: Re: [Bier] BIER WGLC: draft-ietf-bier-php

I think the idea of PHP to support BIER-incapable PE is kind of useful.
There are some comments as below:

1.
For the following text, let me assume the “sent to the downstream router without the BIER header directly or over any type of tunnel” as “sent to the downstream router without the BIER header through one-hop unicast tunnel or multi-hop unicast tunnel”.

Zzh> Not necessarily “one-hop tunnel”. It could be w/o using tunnel at all in the direct connection case.

How is the ‘unicast tunnel’ found and used for the PHP ? This seems important for deployment of this PHP draft, and need some clarification.
If this document support finding the ‘unicast tunnel’ by a host prefix (used as BFR-prefix), that seems fine. For example, in a LDP network, this host-prefix can be used as FEC to find a LDP LSP. Another example, In an SR-MPLS network, this host-prefix can be used to find an SRGB LSP.
If this document support finding the  ‘unicast tunnel’ by a non-host prefix (used as BFR-prefix) , there may be more information need to advertise.
   If the downstream neighbor for a BIER prefix is the one advertising
   the prefix with a PHP sub-sub-TLV or with an Implicit Null Label in
   the Label field in its BIER MPLS Encapsulation sub-sub-TLV, then when
   the corresponding BIRT or BIFT entry is created/updated, the
   forwarding behavior MUST be that the BIER header is removed and the
   payload be sent to the downstream router without the BIER header,
   either directly or over any type of tunnel.

Zzh> Put aside PHP for a moment. Let’s say BFR1 needs to send a BIER packet to BFR2, and there is a non-BFR in the middle. The BIER architecture spec says that you just tunnel the BIER packet to BFR2. Any tunnel that terminates at BFR2 will work – the payload through that tunnel is with the BIER header.
Zzh> Now comes back to PHP, and “BFR2” is requesting PHP. The same applies – packet is either sent w/o using a tunnel (in direct connect case) or using a tunnel (one-hop or multi-hop), and w/o the BIER header.
Zzh> In my view, this document does not need to talk about how to find that tunnel, just like in the architect spec.

2.
The following text is kind of unclear to me.
“as long as the edge router does not need to know the transmitting BFIR”  means that the edge router does not need to do RPF ?

Zzh> Interface based RPF can still be done, like in MVPN/GTM case – traffic needs to be coming from the “core”, which can be indicated by a VPN label (which is “downstream” allocated, and DCB label is considered as “downstream” allocated).

Besides, because the edge router won’t have the whole BIER header, there may be some other impacts.
There is no OAM field, so the edge router may not support the BIER OAM ?

Zzh> Right. I will clarify that.

For the lack of Proto field, see the following comment 3.
   While the above text uses MVPN/EVPN as example, BIER PHP is
   applicable to any scenario where the multicast flow overlay edge
   router does not support BIER, as long as the edge router does not
   need to know the transmitting BFIR.

3.
For the following text, I think the edge router may still be able to support other payload type by some means, especially the IPv4 and IPv6 payload for MVPN.
One way I imagine, the edge router could advertise some MPLS Label for type X payload(say IPv4), and advertise some MPLS Label for type Y payload(say IPv6) together with the BFR-prefix and the PHP sub-sub-TLV.

Zzh> And that is exactly covered by existing text that the payload is MPLS (downstream label) and NVO3 (global VNI) – Once you prepend that MPLS label to your type X/Y payload then the payload after BIER header becomes MPLS not X/Y anymore 😊

   The procedures in this section apply only if, by means outside the
   scope of this document, it is known that the payload after BIER
   header is one of the following: (MPLS payload, NVO3 payload)

Zzh> Thanks!
Zzh> Jeffrey

Thanks
Jingrong

From: BIER [mailto:bier-bounces@ietf.org] On Behalf Of Greg Shepherd
Sent: Saturday, September 21, 2019 5:22 AM
To: BIER WG <bier@ietf.org<mailto:bier@ietf.org>>
Subject: Re: [Bier] BIER WGLC: draft-ietf-bier-php

We're long past Aug 13th and not one response. PLEASE read and respond or we'll just let this expire.

Thanks,
Greg

On Tue, Jul 30, 2019 at 11:23 AM Greg Shepherd <gjshep@gmail.com<mailto:gjshep@gmail.com>> wrote:
Please read and respond to this thread:

https://datatracker.ietf.org/doc/draft-ietf-bier-php/<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-ietf-bier-php/__;!8WoA6RjC81c!WCH5_VMcq3ZIEki7Bcfmv_wbOSkAmKGrS5S8FUyAd5AO5uTR3muKqeH40W_1KOJD$>

EOTWT: Aug 13th.

Thanks,
Shep
(chairs)