]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospfd: Send update for route with new metric 15460/head
authorAlexander Rose <alexander.rose@secunet.com>
Fri, 1 Mar 2024 12:02:02 +0000 (13:02 +0100)
committerAlexander Rose <alexander.rose@secunet.com>
Fri, 1 Mar 2024 12:10:43 +0000 (13:10 +0100)
When an AS-external-route is deleted on our system and later added again
with a new metric, then the ospfd would first send a LS-update to remove
the old route and later another LS-update to add the route with the new
metric again.
But when this metric-change happens with no time inbetween the ospfd
recognizes this as the same route and does not send any LS-update.
With the change made here, the ospfd will interpret this route as a
different route, when the metric has changed.

Signed-off-by: Alexander Rose <alexander.rose@secunet.com>
ospfd/ospf_asbr.c

index 5baad1754d5afb16c96b22ae195ac325988dff45..9b62f36d7a6c01a26ca99f793895753c5efdc24c 100644 (file)
@@ -110,7 +110,8 @@ ospf_external_info_add(struct ospf *ospf, uint8_t type, unsigned short instance,
                new = rn->info;
                if ((new->ifindex == ifindex)
                    && (new->nexthop.s_addr == nexthop.s_addr)
-                   && (new->tag == tag)) {
+                   && (new->tag == tag)
+                   && (new->metric == metric)) {
                        route_unlock_node(rn);
                        return NULL; /* NULL => no LSA to refresh */
                }