Subject: [Isis-wg] early AD review of draft-ietf-bier-isis-extensions-05

From: Alia Atlas <[email-masked]>
Date: Tue, 26 Sep 2017 19:09:11 -0400

I have done an early AD review of draft-ietf-bier-isis-extensions-05 in
preparation for receiving a request to publish it. First, I would like to
thank the authors - Les, Tony, Sam and Jeffrey - for their work on this
document.

In my ideal timing, this draft would be updated and ready for IETF Last
Call by Oct 5 so that it could reach the IESG telechat on Oct 26
with draft-ietf-bier-mpls-encapsulation
and draft-ietf-bier-ospf-bier-extensions. It would be great to have 4
drafts approved for RFC publication - or even some RFCs!  If we can't make
this timeline, then it'll add at least a month or more.

I do see a number of issues to be addressed.

Major:

1) Sec 4.1: "At present, IS-IS support for a given BIER domain/sub-domain is
   limited to a single area - or to the IS-IS L2 sub-domain."
   Why is there this limitation?  Having just reviewed the ospf draft, the
detail needed to handle inter-area seems straightforward there.  It'd be a
pity to have different support in ISIS and OSPF...
I didn't see anything about such a limitation in the bier-architecture or
bier-mpls-encapsulation drafts, so I'm startled to see it here.

At the very least, some explanation of why IS-IS can't handle inter-area
and the implications for deployments is needed.

In Sec 4.2, this is enforced by "BIER sub-TLVs MUST NOT be included when a
prefix reachability
      advertisement is leaked between levels." but I don't see any
reasoning for why the BIER sub-TLVs couldn't be included...

2) Sec 5.1: This section has concern about restricting the advertisement of
BIER information in IS-IS for scalability - but it doesn't discuss at all
when a router would stop advertising the BIER sub-TLVs.  It feels like the
section is hunting for a bit of a manageability or operational
considerations section.  I'm not comfortable with the interoperability
issues posed by not indicating what triggers should cause advertisements or
withdrawals.   Receiving an advertisement from a BFER seems like a
reasonable trigger to me, since it indicates an active receiver for the
<MT, SD>.

3) Sec 5.5 contradicts the last paragraph in Sec 2.1.1.1 in
draft-ietf-bier-mpls-encapsulation-08 which says" Note that in practice,
labels only have to be assigned if they are
   going to be used.  If a particular BIER domain supports BSLs 256 and
   512, but some SD, say SD 1, only uses BSL 256, then it is not
   necessary to assign labels that correspond to the combination of SD 1
   and BSL 512."

4) Sec 5.6: "A valid BFR-id MUST be unique within the flooding scope of the
BIER advertisments."  This doesn't leave scope for expanding to inter-area
in the future because the issue is not the flooding scope but rather the
distribution.

5) Sec 6.1: " The sub-TLV advertises a single <MT,SD> combination followed
by
   optional sub-sub-TLVs as described in the following sections."
The figure and field descriptions do not include the MT-ID.  There is
clearly the reserved octet intended for that??

6) Sec 6.2:  This section needs to clearly define the relationship between
the labels and the Set Index in the specified <MT, SD>.  It's also unclear
whether it is better to advertise all the labels ever needed or be able to
advertise only labels for a particular sequential number of SIs.   The
restriction that only one sub-sub-TLV with the same BitStringLength makes
that impossible (but so does the lack of explicit starting SI).

7) Sec 6.3: The values for the Length & Tree Type field need to be clearer
after the figure.  Also, is Tree Type an IANA-managed field??  I don't see
it in the IANA considerations.  Ca it be different between IS-IS and OSPF?

Minor:

a) Sec 2: "Invalid BFR-id: Unassigned BFR-id, consisting of all 0s."
A clearer definition might be "Invalid BFR-ID: The special value of 0 -
used to indicate that there is not a valid BFR-ID"  The same comment
applies to "Invalid BMP".

b) Sec 5.7:  Please add some text about dampening the reports of
misconfiguration - as usual.

Nits:

i) Sec 5.1: "supported bitstring lengths MLs "  All the other BIER drafts
use the acronym  BSL (BitStringLength).  Consistency is frequently useful
for clarity.

ii) Sec 6.2: "Length: 1 octet."   Please specify the value!

Regards,
Alia

---

From: Antoni Przygienda <[email-masked]>
Date: Wed, 27 Sep 2017 03:10:25 +0000

2) Sec 5.1: This section has concern about restricting the advertisement of BIER information in IS-IS for scalability - but it doesn't discuss at all when a router would stop advertising the BIER sub-TLVs.  It feels like the section is hunting for a bit of a manageability or operational considerations section.  I'm not comfortable with the interoperability issues posed by not indicating what triggers should cause advertisements or withdrawals.   Receiving an advertisement from a BFER seems like a reasonable trigger to me, since it indicates an active receiver for the <MT, SD>.

Have to disagree to large extent:

a)      Section is basically saying “it’s outside the scope of this doc but here’s a couple of hints”. We should probably say “those are all _optional_ extensions”. We may be better off moving it into “operational considerations” section, that’s true.

b)      Suggested trigger is possible one but smarter ones are possible, e.g. a node may know it’s not on any BIER computed tree (SPF or other) and save memory by not advertising. All that are implementation techniques and the draft is kind of overspecifying here a bit.

c)      I don’t see how any _valid_ trigger will cause interoperability problems with other possible triggers.

In summary, let’s say “it’s all optional” and generate an “operational considerations” section with this text?

3) Sec 5.5 contradicts the last paragraph in Sec 2.1.1.1 in draft-ietf-bier-mpls-encapsulation-08 which says" Note that in practice, labels only have to be assigned if they are
   going to be used.  If a particular BIER domain supports BSLs 256 and
   512, but some SD, say SD 1, only uses BSL 256, then it is not
   necessary to assign labels that correspond to the combination of SD 1
   and BSL 512."

Actually, I don’t think so. The encaps draft talks about BIER _domain_ doing 256+512 while _sub_domain_1 does only 256. The ISIS draft talks about the _sub_domain, i.e. in a subdomain everyone must advertise enough labels for  BSLs they support while in a _domain_ each _subdomain_ may do different things. Observe that we have the future capability of converting BSLs in a subdomain and it may come handy later (we can send smaller BMLs if we see lots zeroes or bunch things up together if we see really small BSLs flying or support BSL migration in a subdomain). For now we don’t have conversion and with that we may blackhole if people disagree on the BSLs they support in a subdomain.

4) Sec 5.6: "A valid BFR-id MUST be unique within the flooding scope of the BIER advertisments."  This doesn't leave scope for expanding to inter-area in the future because the issue is not the flooding scope but rather the distribution.

? within the scope the BFR-ids must be unique per BFER says it all. I think that’s consistent with any scope, inter-, intra- or planetary reach … ;-)

5) Sec 6.1: " The sub-TLV advertises a single <MT,SD> combination followed by
   optional sub-sub-TLVs as described in the following sections."
The figure and field descriptions do not include the MT-ID.  There is clearly the reserved octet intended for that??

Nope. ISIS MT is built very, very cleanly in this respect, i.e. the TLVs are all already annotated and provide the MT scope. Hence it doesn’t show up anywhere here. Did I say ISIS is very, very clean when it comes to MT ;-)

6) Sec 6.2:  This section needs to clearly define the relationship between the labels and the Set Index in the specified <MT, SD>.  It's also unclear whether it is better to advertise all the labels ever needed or be able to advertise only labels for a particular sequential number of SIs.   The restriction that only one sub-sub-TLV with the same BitStringLength makes that impossible (but so does the lack of explicit starting SI).

That goes far back. We agreed to use a set-0-based range covering all BFR-ids. IGP TLVs are scarce resource and it makes for a much simpler processing on computation. Labels are not _that_ scarce given how many routers we cover by each label.  I don’t think we’ll move that.

7) Sec 6.3: The values for the Length & Tree Type field need to be clearer after the figure.  Also, is Tree Type an IANA-managed field??  I don't see it in the IANA considerations.  Ca it be different between IS-IS and OSPF?

Good catch, needs adding in IANA section.

Another one:

6.4 is possibly underspecified. It should explicitly state that \cap_C implies that the router can convert only between _all_ the BSLs that it advertises (and not any arbitrary downstream BSL from it).