You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
controller: Allow multiple LRs to advertise routes to the same VRF.
When several Logical_Routers were configured with the same
dynamic-routing-vrf-id, only one of them (or none) actually had its
routes synced to the shared host routing table (VRF).
Route exchange reconciles each VRF routing table as a single
authoritative set: re_nl_sync_routes() dumps the table and removes every
OVN owned route that is not part of the supplied set. Only one
datapath's routes were kept per table, so when a second Logical_Router
used the same dynamic-routing-vrf-id the collision was detected, logged
and synchronisation of that table was skipped entirely.
Pass the routes of all datapaths sharing a table to re_nl_sync_routes()
and reconcile their union. Equivalent routes advertised by several
datapaths are installed exactly once: while building the union only the
occurrence from the first table is kept, which also lets
handle_route_msg() stop at the first match.
Add a system test with two Logical_Routers exporting their connected
routes and a shared static prefix to the same VRF, including removal of
both routers.
CC: Jacob Tanenbaum <jtanenba@redhat.com>
Assisted-by: Claude Opus 4.8, Claude Code
Signed-off-by: Jakob Mueller <me@jakobm.de>
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
0 commit comments