Clarification w.r.t 'group-updates' attribute and BGP Update with multiple NLRI

140 views
Skip to first unread message

NS

unread,
Nov 2, 2017, 3:52:05 PM11/2/17
to exabgp-users
Hello,

I am using ExaBGP v3.4.20 and observing following behavior w.r.t 'group-updates' attribute:

'group-updates' is enabled and ExaBGP groups multiple NLRI in one BGP Update message *regardless* whether these multiple NLRIs have same (or different) next hop (MP_REACH) values.

(Note that I am using ExaBGP for FlowSpec routes but I guess for the problem statement, it should not matter whether it's FlowSpec routes or just 'normal' routes)

- If all the NLRIs have *same* next hop, BGP UPDATE message has one MP_REACH attribute and upstream router accept the BGP UPDATE message without any issues.

- If multiple NLRIs have *different* next hops (say 2 different next hops), BGP UPDATE message has multiple MP_REACH attributes and upstream router rejects the UPDATE message and sends back following error:

"UPDATE from A.B.C.D contains duplicate MP_REACH attribute"

I found the following thread which describes the same exact issue:
https://github.com/Exa-Networks/exabgp/issues/298

Just for my experimentation, I disabled 'group-updates' and this 'fixes' the multiple NLRI (with different next hops) to be sent in separate BGP UPDATE message.

However, this also now causes multiple BGP UPDATE messages for multiple NLRIs when they have 'same' next hop.

(Also, the other thread has following comment from author of ExaBGP: "I will update the code to only group IPv4."... )

So, my question(s) are:

1) How can we use 'group-updates' to still group multiple NLRI (as long as they have same next hop but not if they have different next hops).?

2) If that's not possible, can we clarify what's the intent of 'group-updates' and when/how should it be enabled for case when multiple NLRIs have *same nexthop*?

3) Also, what about IPV4/IPV6 handling? The other thread has a comment that confuses me w.r.t 'group-updates' implementation:

"I will update the code to only group IPv4."


Thanks!

P.S: the other thread talks about a patch.. however, I have not tried that yet (nor do I know if the patch fix is already included in 3.4.20

Thomas Mangin

unread,
Nov 2, 2017, 3:53:36 PM11/2/17
to exabgp...@googlegroups.com
Hello,

Can you please create an issue on Github as this behaviour need fixing pretty quickly if your analysis is right (and I have no reason to believe it is not).

Thomas
> --
> You received this message because you are subscribed to the Google Groups "exabgp-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to exabgp-users...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

NS

unread,
Nov 5, 2017, 3:12:48 PM11/5/17
to exabgp-users
FYI - I have opened the issue on Github

NS

unread,
Nov 5, 2017, 3:12:48 PM11/5/17
to exabgp-users
Hello Thomas,

Thank you for quick response!

As I was about to open the issue on Github, I did a quick search and seems like this exact issue was previously reported:


I see it has been closed but don't know what was the resolution?

Only difference between that issue and mine is I am seeing multiple MP_(UN)REACH attribute in same BGP UPDATE message for just IPv4 (not mix of IPv4 / IPv6).
Also, the suggested workaround (to disable 'group-updates') would then break the other case when multiple NLRIs have same next hop (and thus only 1 MP_REACH attribute) and should be grouped in one UPDATE message.

Should I still go ahead and open a new Github issue?

Thanks!

On Thursday, November 2, 2017 at 12:53:36 PM UTC-7, Thomas Mangin wrote:
Reply all
Reply to author
Forward
0 new messages