Re: [Bier] draft-ietf-bier-ipv6-requirements-09

Adrian Farrel <adrian@olddog.co.uk> Thu, 26 November 2020 16:24 UTC

Return-Path: <adrian@olddog.co.uk>
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 42ED43A146D for <bier@ietfa.amsl.com>; Thu, 26 Nov 2020 08:24:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.916
X-Spam-Level:
X-Spam-Status: No, score=-1.916 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_NONE=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 XxeyqNdYH6dV for <bier@ietfa.amsl.com>; Thu, 26 Nov 2020 08:24:17 -0800 (PST)
Received: from mta8.iomartmail.com (mta8.iomartmail.com [62.128.193.158]) (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 E6E653A146B for <bier@ietf.org>; Thu, 26 Nov 2020 08:24:16 -0800 (PST)
Received: from vs2.iomartmail.com (vs2.iomartmail.com [10.12.10.123]) by mta8.iomartmail.com (8.14.4/8.14.4) with ESMTP id 0AQGODUJ019772; Thu, 26 Nov 2020 16:24:13 GMT
Received: from vs2.iomartmail.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0945B2204A; Thu, 26 Nov 2020 16:24:13 +0000 (GMT)
Received: from asmtp2.iomartmail.com (unknown [10.12.10.249]) by vs2.iomartmail.com (Postfix) with ESMTPS id E840A22044; Thu, 26 Nov 2020 16:24:12 +0000 (GMT)
Received: from LAPTOPK7AS653V ([195.166.134.111]) (authenticated bits=0) by asmtp2.iomartmail.com (8.14.4/8.14.4) with ESMTP id 0AQGOBY4009558 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 26 Nov 2020 16:24:12 GMT
Reply-To: <adrian@olddog.co.uk>
From: "Adrian Farrel" <adrian@olddog.co.uk>
To: "'Jeffrey \(Zhaohui\) Zhang'" <zzhang@juniper.net>, "'Tony Przygienda'" <tonysietf@gmail.com>, "'Greg Shepherd'" <gjshep@gmail.com>
Cc: "'BIER WG'" <bier@ietf.org>
References: <CABNhwV0aZRqXP2wAweEktsibTYpHqHhDB9OTPkO+1JmyOb7-gA@mail.gmail.com> <MN2PR05MB5981CEBAA6AB7329350293EED4E10@MN2PR05MB5981.namprd05.prod.outlook.com> <CABNhwV26CqDs8vwT=mcPQMVGVTFLVEOgVYtaYZyuyNiBFMYGcw@mail.gmail.com> <MN2PR05MB5981CB5AB50C0641A54DDCDAD4E00@MN2PR05MB5981.namprd05.prod.outlook.com> <CABFReBqJ5HVUBzbNv-LjYsCqjdvtNvXtdOjCscGftkBrVtbEmA@mail.gmail.com> <CA+wi2hMTxELaf6MQv2ocdp7nxeOusW_dv6hUZ6O2uRZa=ob6Qg@mail.gmail.com> <02fd01d6c3f5$a8f23de0$fad6b9a0$@olddog.co.uk> <MN2PR05MB59815B822B853C19A60251DED4F90@MN2PR05MB5981.namprd05.prod.outlook.com>
In-Reply-To: <MN2PR05MB59815B822B853C19A60251DED4F90@MN2PR05MB5981.namprd05.prod.outlook.com>
Date: Thu, 26 Nov 2020 16:24:10 -0000
Organization: Old Dog Consulting
Message-ID: <033a01d6c410$92e413f0$b8ac3bd0$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_033B_01D6C410.92E52560"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQJW4ZgcgJn9V6dtIlaK/47czvNh1wE/cTJnAeqNA30DXQLSuwINZ543AaWk7vEBlsWxfwEyp29BqHI973A=
Content-Language: en-gb
X-Originating-IP: 195.166.134.111
X-Thinkmail-Auth: adrian@olddog.co.uk
X-TM-AS-GCONF: 00
X-TM-AS-Product-Ver: IMSVA-9.0.0.1623-8.2.0.1013-25814.001
X-TM-AS-Result: No--1.670-10.0-31-10
X-imss-scan-details: No--1.670-10.0-31-10
X-TMASE-Version: IMSVA-9.0.0.1623-8.2.1013-25814.001
X-TMASE-Result: 10--1.669800-10.000000
X-TMASE-MatchedRID: 8HTFlOrbAtHxIbpQ8BhdbEQjOqFi1L/nGGXRndNt79XHMkjqltnstx31 tfm5k9qzm3NlNtkwfiW3U0269csg/I3lNOd71eFHM71h0SMVl8I5iooXtStiHnTcRTxyvO5LlZD 0s0VTR02mKMa2bvnGXkSr+ZlgilcCWL/SZmf7PbC7B1QwzOcQDwPQogCre6qltXl9IxEPXOrhmo EMFHeqoSUrvEKHNLGxD2xKxHysWk8JdRNgF/lve4VMtEwAWsdcTxL5U2EWalukS8ofY79gjMuoo B2sakIfFV+bJDoCOkANtU3wx+MCltxXg3OszYixBi0Si9jXsY06QyCoXf5AuNnT/cqUnvn3eeB0 dQ5GVgtYAk7hv6UdIWGn0i+T8Da6I7N3ndflhMD0VCHd+VQiHssF0raalpiWGUs9b7xvtJrBZqE dJyZjPWB8IZeWOPRh3VGIhkVJVRiXJdfgFqZWuLSlePUaQB97XUj+PNjK1Ce25k6eqVEEFSQc9I gPCFWGq/Cg/LhSgsgmKaZQTQ7YsP+ziWQMxVNeG0nj51HrLOMQ+WDCVQjtqzLZyQk29Rf4rr5TE 4GLzk1vDXAP8IbGwaJKS8NcBKjcFeWzU33bBTxlI0vGyCjKv+imxgRHwEwmRkwPNDLH9wqhw9Wu z72XZZq9T79l48KjZGQ/gSM8l+xCJ6Xfw6zn3ArgwFF/sjum2u6+oPMdQ+5JfyfUaPjAAYJ/tgh TZ5hDFpDmxDbwMmC0YuCiAsSh06YeOiYJ7x75LGDmqzfHOB9G2f/FZ6s1RxbozYDXkvVAcqDdkI ibZdGjdqhHrpHiYdNcC2rcF2T8eKZAID3hHVaeAiCmPx4NwGmRqNBHmBveGtkvK5L7RXGw7M6dy uYKg4VH0dq7wY7uBqzI+9YvcHGZqxmo+tB5vL15fXqvizWYBsttM+P2HvHC+hwnyz9Ydf5Lsqj1 Xl6jZYdNf+brxH4k4DfdztX9A/sPnZsWronX9FyaTKwApeInVUnmlnVazkj8IAZng4aGtbYHCUu 0jqXt0YLA6TvEzyS/+IWAT7MjuPY/Z8G+wfg8+SYI40iV36Q0wdm2k748C8XKjsVbJjU=
X-TMASE-SNAP-Result: 1.821001.0001-0-1-12:0,22:0,33:0,34:0-0
Archived-At: <https://mailarchive.ietf.org/arch/msg/bier/F3QrTBXgV6CSqs8GTcgwPiAolnU>
Subject: Re: [Bier] draft-ietf-bier-ipv6-requirements-09
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, 26 Nov 2020 16:24:20 -0000

Hi Jeffery,

 

Happy Thanksgiving!

 

Are you saying that all IPv6 routers use flow label and other primary header for entropy and none of them looks into the payload? (I’m asking cos I don’t know what v6 routers do.)

RFC 6437 implies that routers should use the “traditional” 5-tuple in addition to the flow label. But maybe routers don’t follow 6437?

 

BTW, I not trying to debate the solutions. I’m trying to find out what behavior is required in the IPv6 tunnel between BFRs. It appears that ECMP is required (good). Are we asking for any “special” ECMP behavior, or do we assume that the tunnel transit nodes are blind legacy nodes that cannot tell a BIER packet from any other packet?

 

Cheers,

Adrian

 

From: Jeffrey (Zhaohui) Zhang <zzhang@juniper.net> 
Sent: 26 November 2020 15:25
To: adrian@olddog.co.uk; 'Tony Przygienda' <tonysietf@gmail.com>om>; 'Greg Shepherd' <gjshep@gmail.com>
Cc: 'BIER WG' <bier@ietf.org>
Subject: RE: [Bier] draft-ietf-bier-ipv6-requirements-09

 

Hi Adrian,

 

Looks like I don’t have a life – making arguments for this life and death situation on Thanksgiving day 😊 

 

Anyway, about the ECMP topic, not sure if the following addresses your questions/comments.

 

At BIER layer itself, BIER packet has an entry field used for hashing to decide which ECMP path to the next BFR it will take. This is used by any BFR.

 

If BFR1 determines that for to reach BFR2 it is going to use tunnel1 (vs. tunnel2 or another L2 link), and tunnel1 is an IPv6 tunnel, then with BIERin6 an IPv6 header is put on by BFR1, with the BIER header following the IPv6 header, and the BIER header’s entropy field copied into IPv6 header’s flow label field. That flow label field is then used by the routers along the tunnel to do ECMP.

 

Jeffrey

 

From: BIER <bier-bounces@ietf.org <mailto:bier-bounces@ietf.org> > On Behalf Of Adrian Farrel
Sent: Thursday, November 26, 2020 8:12 AM
To: 'Tony Przygienda' <tonysietf@gmail.com <mailto:tonysietf@gmail.com> >; 'Greg Shepherd' <gjshep@gmail.com <mailto:gjshep@gmail.com> >
Cc: 'BIER WG' <bier@ietf.org <mailto:bier@ietf.org> >
Subject: Re: [Bier] draft-ietf-bier-ipv6-requirements-09

 

[External Email. Be cautious of content]

 

I’ve been reading up on this thread and the three related drafts.

 

I don’t dip into BIER often (I’m not a multicast person, and I have a life), but this seemed to be a fairly weighty topic which has been bubbling away for a while, and the volume of the discussion suggested that this is a really important question (it sounded like a life and death decision judging by some of the emails!).

 

I think Tony captured some really key points in his email below. I particularly like his observation that BIER is working at the neck of the hourglass: that demands caution and good judgement; it also requires everyone to step back and do the right thing regardless of their investment (emotional or financial) in their preferred solution.

 

It seems to me (again, from the outside, and apologies if this is re-opening age-old discussions) that most of this is just protocol engineering. We have long experience at making any protocol do anything we want. If a particular solution lacks some capability, it can always be added with an extra TLV. That makes comparisons of solutions (also known as beauty contests) somewhat pointless: if you judge A better than B because B lacks some feature, then we just add the feature to B, and the cycle starts again.

 

That means that, while the requirements work is highly valuable for working out what the solution should deliver, it is not so helpful in determining which solution the WG should pursue. We are left, IMHO, with some of the edge requirements about transiting non-BIER nodes. These are nodes that can happily process “normal” IPv6 packets, but don’t know what to do with a BIER encapsulation. That looks like Section 3.1.3 of the requirements draft.

 

Embedded in that requirement is discussion of what an IPv6 router that is a transit might do with a packet. On the whole, routers just route on the fields in the v6 header itself, but they may look deeper in order to perform ECMP functions etc. For example, they may look for the transport payload to hash on ports etc. To achieve this, a router must be able to step over any additional headers (RH, DOH, etc.) to find the payload or must know not to even try. In general, a router that doesn’t understand a header will step over it if it can, but will probably give up the hunt for hashable fields. 

 

At this point I ran aground ☹ 8926 doesn’t have anything to say about ECMP in a BIER network (with or without BIER-capable routers). But 8279 has a nice fat section on ECMP, but this seems to describe how ECMP works when processing the BIER encapsulation for equal cost paths between BIER routers, not for how the “underlay” (the IPv6 network in this case) might handle equal cost paths in its own routing.

 

Any clues as to how ECMP is expected to work in the context of the v6 requirements? Anything that should be added to 3.1.3 or a new section?

 

Thanks,

Adrian

 

 

From: BIER <bier-bounces@ietf.org <mailto:bier-bounces@ietf.org> > On Behalf Of Tony Przygienda
Sent: 20 November 2020 05:36
To: Greg Shepherd <gjshep@gmail.com <mailto:gjshep@gmail.com> >
Cc: BIER WG <bier@ietf.org <mailto:bier@ietf.org> >; Gyan Mishra <hayabusagsm@gmail.com <mailto:hayabusagsm@gmail.com> >; draft-ietf-bier-ipv6-requirements <draft-ietf-bier-ipv6-requirements@ietf.org <mailto:draft-ietf-bier-ipv6-requirements@ietf.org> >; EXT-zhang.zheng@zte.com.cn <mailto:EXT-zhang.zheng@zte.com.cn>  <zhang.zheng@zte.com.cn <mailto:zhang.zheng@zte.com.cn> >; Alvaro Retana <aretana.ietf@gmail.com <mailto:aretana.ietf@gmail.com> >; Jeffrey (Zhaohui) Zhang <zzhang@juniper.net <mailto:zzhang@juniper.net> >
Subject: Re: [Bier] draft-ietf-bier-ipv6-requirements-09

 

Well, I’m glad that the work on requirements draft, albeit as product found wanting in AD’s assessment, has led to clarification of the crucial questions that e'one seems to agree need to be asked. 

It surprised me then mildly that my co-chair had to explicitly lay out the semantics of what was a clear direction spelled out during the meeting but that’s all well to get e’one better in sync I guess. Needless to say I am sharing his assessment and questions put to the room entirely. 

Some things that I think need explicit spelling out IMO after the last few meetings (since I’m not sure e’one in the process internalized that) is that WG is not here to tell people they cannot work on something whatever the perception seems to be, IETF doesn’t work that way. People go sideways and build stuff based on what we publish/develop in open source and for their customers in all kind of ways which may be neither fitting into an architecture, consensus or interest of a WG all the time. And that’s wonderful and more power to them, RFCs are free to download and they are just RFCs, they are not stone tablets brought from the mountain. However, and that's a big however, _if_ a work is looking for WG adoption and ultimately RFC status, the IETF process kicks in and the process has been here and well debugged over 30 years and that’s why Internet was built IME. The process is unusual in the way that it resists pretty well pressure based on non-technical claims, exceedingly poor architectural choices, chair shopping, padding of communication channels with “I participated only once to send a +1 to a list”, ad-hominem attacks and similar shenanigans that have been all tried over and over again. In the same vein the process tends to weigh based on reputation of “who said what in which context”'; such reputation being built on community service and sound work over many years. And sometimes hard calls are made based on rough consensus called by people that are here to steer stuff and nudge it along the way. Sure, it’s easy to standardize and build “something”, it’s very hard to keep it going operationally @ Internet scale for 20 years and lots of those lessons are unfortunately scar tissue not easily transferred except at level of RFC1925. Last point to emphasize is that BIER is not the average set of RFCs, we have been handed the permission to go into the hourglass of the Internet, something that happens every 15 years or so. The stuff we deliver is as fundamental as MPLS or IP forwarding plane and as PS has to meet toughest architectural standards to prevent a melt-down of non-orthogonal, under’spec’ed solutions leading to poor operational properties @ scale and non-interoperable solutions which long-term serves no'one well that relies on IP technology to support high quality infrastructure @ scale. 

 

 

Juniper Business Use Only