Re: [Bier] Benjamin Kaduk's Discuss on draft-ietf-bier-te-arch-10: (with DISCUSS and COMMENT)

Carsten Bormann <> Wed, 22 December 2021 18:11 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5A12D3A059F; Wed, 22 Dec 2021 10:11:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 8DW14h9erSwU; Wed, 22 Dec 2021 10:11:16 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C52F43A0524; Wed, 22 Dec 2021 10:11:09 -0800 (PST)
Received: from [] ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 4JK1bb3shmzDCbt; Wed, 22 Dec 2021 19:11:07 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.\))
From: Carsten Bormann <>
In-Reply-To: <>
Date: Wed, 22 Dec 2021 19:11:07 +0100
Cc: The IESG <>,,, Alvaro Retana <>,, Benjamin Kaduk <>
X-Mao-Original-Outgoing-Id: 661889466.911707-ccb21a70ecbd3efa11ca8c53fd8a5664
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <>
X-Mailer: Apple Mail (2.3608.
Archived-At: <>
Subject: Re: [Bier] Benjamin Kaduk's Discuss on draft-ietf-bier-te-arch-10: (with DISCUSS and COMMENT)
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "\"Bit Indexed Explicit Replication discussion list\"" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 22 Dec 2021 18:11:21 -0000

On 2021-08-26, at 08:59, Benjamin Kaduk via Datatracker <> wrote:
> pseudocode in Figure 6

I’m sorry, I’m not an expert about BIER-TE, so take the below with a grain of salt.

I ran into the pseudocode in a discussion we had about including pseudocode in an RFC.

The code I find is “almost C”; I don’t understand why you didn’t go the last mile so you can check what you did.

An indicator that gives away the code might have problems is the different spacing for
(no spaces around operators) vs. much, but not all, of the rest.

But more importantly, what does this pseudocode mean:

           foreach adjacency BIFT[Index+Offset] {

Is there an “in” missing?
I learn from the explanation that the code "loops over the adjacencies because there may be more than one adjacency for a bit”, so maybe there is a mapping from a bit position (not the bit itself, which is 1 or 0) to a list of adjacencies?

What is the difference between commas inside and outside the {}?

                   case forward_routed({VRF},l3-neighbor):

These are questions that an implementer who is tasked to look at this pseudocode will have in all likelihood, so I would expect that the WG wants this clarified.

Grüße, Carsten