-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bgpd, tests: don't send local nexthop from rr client #17073
bgpd, tests: don't send local nexthop from rr client #17073
Conversation
Should LL nexthop be included if peer R2 has |
In subgroup_announce_check(), the variable reflect is misleading, as it suggests a relation to route reflection. However, it actually refers to the scenario where an iBGP peer announces a route to another iBGP peer. Rename reflect to ibgp_to_ibgp. Signed-off-by: Louis Scalbert <[email protected]>
AS 65000 | AS 65001 | RR | | | R1 --- | --- R2 | When r1 peer is an iBGP route reflector client of rr and r2 peer is a eBGP neighbor of rr, and all three routers shares the same network, r2 receives announcements coming from r1 with a IPv6 link-local nexthop from rr. This is incorrect as r2 should send traffic to r1 without involving rr. Do not send an IPv6 link-local nexthop if the originating peer is a route-reflector client. Link: FRRouting#16219 (comment) Link: FRRouting#17037 (comment) Signed-off-by: Louis Scalbert <[email protected]>
d494470
to
c4a8263
Compare
Link-Local nexthop is not mandatory. As soon as the The |
Thanks for the clarification. |
That is correct.
It would better to append a link-local nexthop for sure. But technically, I cannot know in Indeed, in Conclusion: since the IPv6 Link-local nexthop is optional, we never include for prefix originating from a route-reflector client unless
Again, this issue is out of scope of this pull-request. |
I think this reveals a more fundamental problem: in current implementation, a subgroup can't guarantee the number of next-hops is the same for all peers. (As an example, we've recently hit this when enabling IPv6-unicast AF between IPv4 peers. Due to some timing issue, some link-local address has not been processed when peer is establishing. Resulting in some peers have valid
I agree this PR is not intended to solve them all, but I don't think it's a good approach to fix for specific cases here and there. I also don't see a strong connection between RR client and link-local next-hop (it's almost the same if R1 is an eBGP peer of RR, provided the three share the same network). Maybe could postpone the decision of LL next-hop till concrete peer processing? Or just disable LL next-hop whenever we are not confident enough. |
Please open an issue with more details. I have seen an issue with global but not with link-local so far. I have a fix for that ed7710f May be a similar issue with link-local ?
We will see with the issue |
Yes, it's similar. Link-local next-hop is not updated in
I will open an issue later. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
Hi, I opened a discussion #17128 (for general link-local next-hop handling). Please have a look. |
Depends on #17071 merge
When r1 peer is an iBGP route reflector client of rr and r2 peer is a
eBGP neighbor of rr, and all three routers shares the same network, r2
receives announcements coming from r1 with a IPv6 link-local nexthop
from rr. This is incorrect as r2 should send traffic to r1 without
involving rr.
Do not send an IPv6 link-local nexthop if the originating peer is a
route-reflector client.
Link: #16219 (comment)
Link: #17037 (comment)