]> git.puffer.fish Git - matthieu/frr.git/commitdiff
ospfd: fix routemap update
authorIgor Ryzhov <iryzhov@nfware.com>
Thu, 17 Jun 2021 16:31:03 +0000 (19:31 +0300)
committermergify-bot <noreply@mergify.io>
Sat, 19 Jun 2021 12:54:38 +0000 (12:54 +0000)
Currently, if the routemap already exists, we delete the pointer to it
when it is updated. We should delete the pointer only if the route-map
is actually deleted.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
(cherry picked from commit 0fddd864b758f424eab484ea35f74479eda33fd2)

ospfd/ospf_routemap.c

index 2a65877ef0e6c6d3c4032353d53c414b384d5396..0928100f2496a7fdc5f528356db0a335e41b863d 100644 (file)
@@ -70,19 +70,14 @@ static void ospf_route_map_update(const char *name)
                                        /* Keep old route-map. */
                                        struct route_map *old = ROUTEMAP(red);
 
-                                       if (!old) {
-                                               /* Route-map creation */
-                                               /* Update route-map. */
-                                               ROUTEMAP(red) =
-                                                       route_map_lookup_by_name(
-                                                               ROUTEMAP_NAME(red));
-
-                                                       route_map_counter_increment(
-                                                               ROUTEMAP(red));
-                                       } else {
-                                               /* Route-map deletion */
-                                               ROUTEMAP(red) = NULL;
-                                       }
+                                       ROUTEMAP(red) =
+                                               route_map_lookup_by_name(
+                                                       ROUTEMAP_NAME(red));
+
+                                       if (!old)
+                                               route_map_counter_increment(
+                                                       ROUTEMAP(red));
+
                                        /* No update for this distribute type.
                                         */
                                        if (old == NULL