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

Xiejingrong <xiejingrong@huawei.com> Fri, 11 October 2019 05: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 BEB27120047 for <bier@ietfa.amsl.com>; Thu, 10 Oct 2019 22:12:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-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 JrEH-73r7A3m for <bier@ietfa.amsl.com>; Thu, 10 Oct 2019 22:12:42 -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 4897B120024 for <bier@ietf.org>; Thu, 10 Oct 2019 22:12:42 -0700 (PDT)
Received: from lhreml708-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id E5B3BBC2076C67B15B87; Fri, 11 Oct 2019 06:12:39 +0100 (IST)
Received: from lhreml701-chm.china.huawei.com (10.201.108.50) by lhreml708-cah.china.huawei.com (10.201.108.49) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 11 Oct 2019 06:12:39 +0100
Received: from lhreml701-chm.china.huawei.com (10.201.108.50) by lhreml701-chm.china.huawei.com (10.201.108.50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Fri, 11 Oct 2019 06:12:38 +0100
Received: from NKGEML412-HUB.china.huawei.com (10.98.56.73) by lhreml701-chm.china.huawei.com (10.201.108.50) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1713.5 via Frontend Transport; Fri, 11 Oct 2019 06:12:37 +0100
Received: from NKGEML514-MBX.china.huawei.com ([fe80::40a8:f0d:c0f3:2ca5]) by nkgeml412-hub.china.huawei.com ([10.98.56.73]) with mapi id 14.03.0439.000; Fri, 11 Oct 2019 13:12:26 +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/mA0DNvbC9wPUiVKpt1yB8I3qdR90AwgACkhACAAQPugIAAOw0AgAElwwA=
Date: Fri, 11 Oct 2019 05:12:25 +0000
Message-ID: <16253F7987E4F346823E305D08F9115AAB9F1FD8@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> <16253F7987E4F346823E305D08F9115AAB9F1B07@nkgeml514-mbx.china.huawei.com> <DM5PR05MB35481E08CEE5617532B16ED5D4940@DM5PR05MB3548.namprd05.prod.outlook.com>
In-Reply-To: <DM5PR05MB35481E08CEE5617532B16ED5D4940@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_16253F7987E4F346823E305D08F9115AAB9F1FD8nkgeml514mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/bier/QT6MTkEfPwqQMEhI8yc7n5kIvVA>
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: Fri, 11 Oct 2019 05:12:48 -0000

Hi Jeffrey,
Please see inline below marked with XJR

From: Jeffrey (Zhaohui) Zhang [mailto:zzhang@juniper.net]
Sent: Friday, October 11, 2019 3:25 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,

From: Xiejingrong <xiejingrong@huawei.com<mailto:xiejingrong@huawei.com>>
Sent: Thursday, October 10, 2019 5:12 AM
To: Jeffrey (Zhaohui) Zhang <zzhang@juniper.net<mailto:zzhang@juniper.net>>; 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

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.


Zzh2> Right.

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 ?

Zzh2> “Interface based RPF” only requires per-VPN label; “sender based RPF” (that BGP-MVPN requires for some scenarios) requires either per-VPN per Ingress PE labels (like the Ingress Replication case) or per-VPN label plus a PE Distinguisher label (just like when we need to identify the sending PE in the bi-directional tunnel case). In both cases, the labels are from DCB and it boils down to “downstream assigned label” case.

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.

Zzh2> To allow RPF, we will need a label (similar to VPN case, just that the label will point to “virtual interface” in the master/default routing instance for RPF purpose). That boils down to “downstream assigned label” case again.
Zzh2> This is assuming IP multicast.
XJR: Got it. This is what I am thinking about. For IPv4 payload and IPv6 payload, it could be supported by PHP too if it is allowed to disable RPF.


(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 + ???)
Zzh2> Good question. In draft-ietf-bier-evpn, the VXLAN header comes right after the BIER header w/o the IP/UDP header. With BIER PHP, It would be “outer header (Ethernet or tunnel) + VXLAN header (w/o the IP/UDP part)” if we don’t do anything special. That may not work if the outer header does not have a way to indicate the payload is VXLAN header w/o the IP/UDP part.
Zzh2> The reason that draft-ietf-bier-evpn put the VXLAN header right after BIER header w/o the IP/UDP part is so that we don’t have the overhead of unnecessary IP/UDP header, plus that we don’t need to allocate a multicast address to be used in the IP header. Perhaps, when PHP is used, we should use IP/UDP header after all? If we do that, should we allocate an address from the 224.0.0.0/24 block, and we would not need RPF check?
XJR: Either works for me.
XJR: Use an outer IP+UDP+VXLAN for inner BUM packet is a common case without BIER header, and it add value of flooding-reduction with BIER header. The group address can be any one configured.
XJR: Disabling RPF is still useful in cases like BUM traffic or single-homed source deployment. If disabling RPF is considered in PHP, then I suggest that IPv4 payload and IPv6 payload can also be mentioned.

Zzh2> Jeffrey

   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<mailto:xiejingrong@huawei.com>>; 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

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)