A few more comments on this draft.

  1.  Section 4.2: Instead of ‘set to one’ it should say  ‘set to 1’.



  1.  Section 4.3: E bit set to value 0 must be shown in figure 4. E bit is 
mandatory in every TLV.


  1.  Section 4.4: G bit must be shown in figure 5.


  1.  Since we may have grouped and non-grouped TLVs, specifying index = 0 to 
imply that the TLV applies to all NLRIs of the PDU is kind of redundant. An 
indexed TLV with index = 0 is as good as a non-indexed TLV. In that case, we 
may as well omit the index if its value is going to be 0.


  1.  The draft says ‘A Group TLV MUST NOT include its own or another Group 
Index.’ Does it mean that nested groups are not allowed?


  1.  In Appendix A, in Figure 6, all TLVs must show E bit set to 0.


  1.  Section 4.3 states ‘The reported length in indexed TLVs refers to the 
total encoded TLV value (ie. with the length of the index field excluded).’. 
Should we include the ‘I flag’ (as mentioned in my previous mail below) that 
specifies if it is an index TLV vs non-Indexed TLV, then the TLV length  should 
include the length of the index field.


  1.  Figure 6 shows NLRI indexes from 1 to 10 and then group indexed 0x000b 
and 0x000c. That is the group indexes start at one more than the last NLRI 
index. Is that necessary? Can the group indexes also not start from 1? Since we 
anyway have the G bit, we know that it’s a group index and not an NLRI index.


  1.  I think the title of this draft should be ‘BMP Version 4: TLV Support for 
all BGP Monitoring Protocol (BMP) Messages’. Though in this draft the TLV 
support is being added only for Route Monitoring and Peer Down (which the 
abstract mentions anyway), the highlight of this version is TLV support for all 
BMP message types.
--
Regards,
Dhananjay

From: Dhananjay Patki (dhpatki) <[email protected]>
Date: Friday, 31 October 2025 at 11:42 PM
To: [email protected] <[email protected]>
Cc: [email protected] <[email protected]>
Subject: [GROW] Comment on draft-ietf-grow-bmp-tlv
Hi Paolo, Yunan,

It looks like we can have a combination indexed TLVs and non-indexed TLVs in 
the BMP messages. While this draft defined indexed TLVs, we may still have TLVs 
that need not be indexed as they won’t be per NLRI or NLRI group.

Non-indexed (Figure 1):

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |E|             Type            |     Length (2 octets)         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ~                      Value (variable)                         ~
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Indexed (Figure 4): NOTE: This figure in the draft does not show the E bit. But 
it should show as I have shown below. Also, the length of Type should be 15 
bits and not 2 octets.


  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |E|      Type (2 octets)        |     Length (2 octets)         |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |G|      Index (15 bits)        |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  ~                      Value (variable)                         ~

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

In order to be able to parse them separately, we need something like ‘I bit’ 
shown below that indicates whether this is an indexed TLV or non-indexed TLV?


  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |E|I|     Type (14 bits)        |     Length (2 octets)         |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |G|      Index (15 bits)        |  <-- Included based on the value of I bit

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  ~                      Value (variable)                         ~

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

If I = 0, the TLV won’t have 2 octets of G bit+Index
If I = 1, the TLV will have 2 octets of G bit+index

--
Regards,
Dhananjay
_______________________________________________
GROW mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to