Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Quagga: Dev

BGP End-of-RIB

 

 

Quagga dev RSS feed   Index | Next | Previous | View Threaded


chris.hall.list at highwayman

Mar 14, 2012, 11:05 AM

Post #1 of 2 (248 views)
Permalink
BGP End-of-RIB

So, I've been looking at the BGP Update Message Attribute handling...

...RFC4724 says that a completely empty UPDATE message is an
End-of-RIB for IPv4 Unicast.

...it then says:

"For any other address family, it is an UPDATE message that
contains only the MP_UNREACH_NLRI attribute [BGP-MP] with
no withdrawn routes for that <AFI, SAFI>."

I read this as meaning that to be an End-of-RIB, the update MESSAGE
should contain absolutely nothing other than the empty
MP_UNREACH_NLRI.

The current code:

1. will not recognise an empty MP_UNREACH_NLRI for IPv4
Unicast as an End-of-RIB.

It is arguable that is what the RFC means by "For any
*other* address family" (my emphasis).

It would be perverse to send such a message...

...so, so far, so good.

2. will recognise an empty MP_UNREACH_NLRI as End-of-RIB
*provided* there are no other Withdrawn Routes.

This means that there may be:

* any number of other attributes.

* any number of ordinary IPv4 Unicast NLRI

* any number of NLRI in an MP_REACH_NLRI attribute

Which isn't what I read the RFC as specifying.

Now, I guess you have to be borderline mad to issue an empty
MP_UNREACH_NLRI in any case *except* End-of-RIB.

So, I suppose one could piggy-back the End-of-RIB in the same message
as the last NLRI for the AFI/SAFI in question.

Is the current code allowing for something which happens in practice,
but the RFC does not (as I read it) allow ?

Or is the current code just a wee bit sloppy ?

Is there an expert in the house who can advise, please ?

Thanks,

Chris

_______________________________________________
Quagga-dev mailing list
Quagga-dev [at] lists
http://lists.quagga.net/mailman/listinfo/quagga-dev


equinox at diac24

Mar 16, 2012, 12:30 PM

Post #2 of 2 (224 views)
Permalink
Re: BGP End-of-RIB [In reply to]

On Wed, Mar 14, 2012 at 06:05:38PM -0000, 'Chris Hall' wrote:
> "For any other address family, it is an UPDATE message that
> contains only the MP_UNREACH_NLRI attribute [BGP-MP] with
> no withdrawn routes for that <AFI, SAFI>."
>
> I read this as meaning that to be an End-of-RIB, the update MESSAGE
> should contain absolutely nothing other than the empty
> MP_UNREACH_NLRI.
[...]
> 2. will recognise an empty MP_UNREACH_NLRI as End-of-RIB
> *provided* there are no other Withdrawn Routes.
>
> This means that there may be:
>
> * any number of other attributes.
>
> * any number of ordinary IPv4 Unicast NLRI
>
> * any number of NLRI in an MP_REACH_NLRI attribute

I haven't exactly touched Graceful Restart much, but I agree on your
analysis that the checks are incomplete and accept as EOR messages that
shouldn't be accepted as EOR.

Whether this is done for compatibility with other vendors, I have no
idea. If it's needed, I guess we'll learn proper code commenting the
hard way...


-David
_______________________________________________
Quagga-dev mailing list
Quagga-dev [at] lists
http://lists.quagga.net/mailman/listinfo/quagga-dev

Quagga dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.