Subject: [Idr] reserved attribute bits, challenges with using them

From: Jeff Wheeler <[email-masked]>
Date: Thu, 7 Feb 2013 17:34:46 -0500

The Hares/Scudder draft regarding the use of reserved bits in the BGP
Attribute Flags field, on the surface, aims to provide a means to use
these bits in the future.  I do not know of any proposed use for them,
but if there were, obviously some problems must first be resolved.

The first is the issue they seek to fix, which is, to make it safe to
propagate values other than 0 in those bits.

The second problem is that a receiving router cannot know, with
certainty, that zeroes in these bits are actually information, or if a
router in the signaling path has reset them to 0.

Imagine that the Capability idea were adopted and you had the
following routers and BGP sessions:
 R1---R2---R3---R4
Routers R1, R3, and R4 all support this new Capability and agree that
they can pass 1 bits in the reserved field.  However, R2 is older, and
it is zeroing out the bits.  R3 has direct knowledge that R2 might
behave this way, because R3 knows R2 did not announce the new Cap
Code.  R4, on the other hand, doesn't know if the zeroes it sees in
the reserved bits were included intentionally or if R2 erased the
information and propagated the routes and attributes anyway.  R4 has
no idea if the value of a reserved bit is the one applied by the
origin router, or if it got lost along the way.

I believe any effort to make the reserved bits useful should deal with
this problem.  Otherwise, no information can be reliably carried in 0
values of reserved bits, because you will not know when the values
have been lost.

This can be accomplished by mandating that the first reserved bit be
set to 1 whenever any of the other three bits are being used to signal
information (whether those three bits are 0 or 1.)  If R4 sees a 1 in
the first reserved bit, it knows it can rely on the information
contained in the other three.  If not, it knows something has been
lost.

This seems like a lot of fuss over nothing, since there appears to be
no use for these bits; but if the standard is going to be adjusted so
they can be used, then IMO the above functionality is important.
Certainly any vendor who wishes to propagate these values should agree
it is important to know if the value is being carried end-to-end or
not!

-- 
Jeff S Wheeler <[email-masked]>
Sr Network Operator  /  Innovative Network Concepts