-
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
Multi-protocol IPv4 BGP overrides IPv6 nexthop on reflection #15610
Comments
If we don't find a quick solution, IMO we should revert it ASAP. |
louis-6wind
added a commit
to louis-6wind/frr
that referenced
this issue
Mar 28, 2024
This reverts commit 0325116. It was causing an issue where a nexthop for IPv6 over an IPv4 session was always rewritten to an IPv4-mapped IPv6 address even when a valid IPv6 global address was existing. Link: FRRouting#15610 Signed-off-by: Louis Scalbert <[email protected]>
louis-6wind
added a commit
to louis-6wind/frr
that referenced
this issue
Apr 5, 2024
This reverts commit 0325116. It was causing an issue where a nexthop for IPv6 over an IPv4 session was always rewritten to an IPv4-mapped IPv6 address even when a valid IPv6 global address was existing. Link: FRRouting#15610 Signed-off-by: Louis Scalbert <[email protected]>
Many thanks, apologies for not being able to validate the provided patch but I have spent a couple of days unpuzzling how to now recompile FRR with patches and rebuild the VyOS nightly ISO. Hoping to be able to contribute better in future. |
louis-6wind
added a commit
to louis-6wind/frr
that referenced
this issue
Apr 8, 2024
This reverts commit 0325116. It was causing an issue where a nexthop for IPv6 over an IPv4 session was always rewritten to an IPv4-mapped IPv6 address even when a valid IPv6 global address was existing. Link: FRRouting#15610 Signed-off-by: Louis Scalbert <[email protected]>
louis-6wind
added a commit
to louis-6wind/frr
that referenced
this issue
Apr 10, 2024
This reverts commit 0325116. It was causing an issue where a nexthop for IPv6 over an IPv4 session was always rewritten to an IPv4-mapped IPv6 address even when a valid IPv6 global address was existing. Link: FRRouting#15610 Signed-off-by: Louis Scalbert <[email protected]>
louis-6wind
added a commit
to louis-6wind/frr
that referenced
this issue
Apr 19, 2024
This reverts commit 0325116. It was causing an issue where a nexthop for IPv6 over an IPv4 session was always rewritten to an IPv4-mapped IPv6 address even when a valid IPv6 global address was existing. Link: FRRouting#15610 Signed-off-by: Louis Scalbert <[email protected]>
louis-6wind
added a commit
to louis-6wind/frr
that referenced
this issue
Apr 23, 2024
This reverts commit 0325116. It was causing an issue where a nexthop for IPv6 over an IPv4 session was always rewritten to an IPv4-mapped IPv6 address even when a valid IPv6 global address was existing. Link: FRRouting#15610 Signed-off-by: Louis Scalbert <[email protected]>
EasyNetDev
pushed a commit
to EasyNetDev/frr
that referenced
this issue
May 13, 2024
This reverts commit 0325116. It was causing an issue where a nexthop for IPv6 over an IPv4 session was always rewritten to an IPv4-mapped IPv6 address even when a valid IPv6 global address was existing. Link: FRRouting#15610 Signed-off-by: Louis Scalbert <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
We believe that the below patch, to force 6vPE prefixes to use an IPv4 gateway encoded as IPv6 (eg ::ffff:51.49.31.54), to break multi-protocol BGP sessions where there is no MPLS forwarding path, but instead another type of layer 2 tunnelling fabric.
Merged last month:
#15453
We're kindly asking that a work around or option exist to disable this behaviour. FRR acting as a route reflector correctly learns the route, sets appropriate next-hop gateways for exchanged prefixes and can route packets towards the destination. Route reflector clients however receive prefixes where the next hop has been set as the route reflector's router ID, encoded as IPv6.
Route reflector clients have access to the provider edge gateways and should, as the route reflector itself does, recursively resolve the prefix. Changing an attribute of a reflected prefix whilst processing it as wanted locally is IMHO unexpected.
Version
How to reproduce
FRR configuration file for RR1, which learns route for Google (in the example provided):
Setting either
set ipv6 next-hop prefer-global
and/orattribute-unchanged next-hop
in the import/export route maps and router settings makes zero difference:Network:
Expected behavior
Other route reflector clients should receive the iBGP route with the next-hop set as it shows on the FRR instance (the route reflector) that ingested the route.
On the first route reflector, the route is ingested with the IPv6 next-hop set as it was received and everything works:
Actual behavior
FRR is assuming that I want 6vPE and 'helpfully' advertises
::ffff:3331:162e
(IPv4 51.49.22.46 encoded as IPv6). This breaks other devices.I'm kindly asking that
attribute-unchanged next-hop
could be supported for corner cases where multi-protocol BGP is of high value but transport is not wanted via MPLS.Other router is is peering IPv4 and IPv6 over an IPv4 session still continues to receive routes with the route reflector's router ID set as the IPv6 encoded next hop:
ie: Routes are inactive, as it can't resolve the gateways of ::ffff:51.49.22.45 or ::ffff:51.49.22.46 (the route reflector IPs. I would expect the prefix to be received and processed like it is on the route reflector itself.
IPv4 routes are reflected as expected:
Additional context
Has been working perfectly on FRR 8.5.1, due for an upgrade and sad to see this broken in FRR 9.1.
Checklist
The text was updated successfully, but these errors were encountered: