<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 7 Feb 2020, 11:28 Neil Jerram, <<a href="mailto:neil@tigera.io">neil@tigera.io</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr">On Thu, Feb 6, 2020 at 3:22 PM Ondrej Zajicek <<a href="mailto:santiago@crfreenet.org" target="_blank" rel="noreferrer">santiago@crfreenet.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Feb 06, 2020 at 12:34:00PM +0000, Neil Jerram wrote:<br>
> Good morning all!<br>
> <br>
> I'm debugging a situation where I'm seeing different IPv6 next hop<br>
> behaviour in two setups with different versions of my team's software.<br>
> <br>
> In both setups:<br>
> There are 3 routers A, B and C, all peered with another router X.<br>
> They are all on the same L2 bridge, and have global IPv6 addresses in the<br>
> 2001:20::/64 subnet.<br>
> A, B and C all export a route for fd00:10:96::/112<br>
> ...<br>
> Any ideas?  Can you advise where I should look or check next, to try to<br>
> understand why the UPDATE message has two next hop addresses in one setup,<br>
> but only one in the other?<br>
<br>
Hi<br>
<br>
Check code in IPv6 version of bgp_create_update(). It depends on how<br>
sender get the routes (local or received, were they received alredy with<br>
link-local next hop, were the next hop modified) and whether it is IBGP or<br>
EBGP and whether next hop is the same as sender.<br>
<br>
> Also, does the passing of two next hop addresses in setup #1 fully explain<br>
> why the ECMP routes programmed into the kernel use link-local gateway<br>
> addresses?<br>
<br>
Yes, link-local next hop is preferered as direct gateway.<br>
<br>
> Also, are the routes with global next hops more correct in some sense than<br>
> those with link-local next hops; or vice versa?  Would you expect them both<br>
> to forward data correctly?<br>
<br>
Well, it is a bit strange quirk of IPv6 BGP. In general, both global and<br>
link-local next hops should be sent when sender, receiver and global next<br>
hop are on the same subnet. Global next hop is used for recursive next<br>
hop evalulation, while link-local is used for forwarding.<br></blockquote><div><br></div><div>Thank you very much Ondrej for all this.  I will work through understanding and checking the details that you have provided.</div><div><br></div><div>Best wishes,</div><div>   Neil</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Thanks again Ondrej, I found the root cause here, with your help. In both of my setups the peers were in fact directly connected, but one of the setups was configuring with "direct;" and the other setup with "multihop;".</div><div dir="auto"><br></div><div dir="auto">Best wishes,</div><div dir="auto">     Neil</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>