]> git.proxmox.com Git - mirror_frr.git/commit - ospf6d/ospf6_abr.c
ospf6d: Fix ECMP inter-area route nexthop update
authorMartin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
Mon, 17 Jan 2022 12:54:02 +0000 (13:54 +0100)
committerMartin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
Thu, 20 Jan 2022 14:18:32 +0000 (15:18 +0100)
commitb74e965142d80b7827cd6ac1291e1a3a73b9e617
tree787e1037069696304ec8f9f46eaf21dd343cdc41
parentcce7c33396e8b30f92e3474860f78d0e21d01a57
ospf6d: Fix ECMP inter-area route nexthop update

Fixes #9720. When updating an ECMP inter-area route, we compute
a new route and check whether that already exists. If so, we keep the old
route and only update its nexthops. Previously, we merged the new route's
nexthops into the old one's, but this way, it's impossible to remove
nexthops from the old route, resulting in stale nexthops.

This commit fixes this by first removing all nexthops from the old route and
then copying all nexthops from the new route into it. If the new route has
fewer nexthops, the old one will have as well afterwards.

Signed-off-by: Martin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
ospf6d/ospf6_abr.c