]> git.puffer.fish Git - mirror/frr.git/commitdiff
staticd: replace NB checks with assert 9338/head
authorIgor Ryzhov <iryzhov@nfware.com>
Mon, 9 Aug 2021 09:48:38 +0000 (12:48 +0300)
committerIgor Ryzhov <iryzhov@nfware.com>
Mon, 9 Aug 2021 09:48:38 +0000 (12:48 +0300)
If there's no route table in a VRF, it's a hard bug - staticd will crash
on any subsequent action with this route anyway. So let's assert the
existence of a route table instead of returning an unrecoverable error.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
staticd/static_nb_config.c
staticd/static_routes.c

index 582b838ce4129a6129e835ae2ff5616590d1bcc3..deeca97b0e48369e9309d2a84477c7034c3cdb04 100644 (file)
@@ -471,13 +471,6 @@ int routing_control_plane_protocols_control_plane_protocol_staticd_route_list_cr
                yang_afi_safi_identity2value(afi_safi, &afi, &safi);
 
                rn = static_add_route(afi, safi, &prefix, NULL, s_vrf);
-               if (!rn) {
-                       flog_warn(
-                               EC_LIB_NB_CB_CONFIG_APPLY,
-                               "route node %s creation failed",
-                               yang_dnode_get_string(args->dnode, "./prefix"));
-                       return NB_ERR;
-               }
                if (vrf->vrf_id == VRF_UNKNOWN)
                        snprintf(
                                args->errmsg, args->errmsg_len,
@@ -752,13 +745,6 @@ int routing_control_plane_protocols_control_plane_protocol_staticd_route_list_sr
                afi = family2afi(src_prefix.family);
                src_rn =
                        static_add_route(afi, safi, &rn->p, &src_prefix, s_vrf);
-               if (!src_rn) {
-                       flog_warn(EC_LIB_NB_CB_CONFIG_APPLY,
-                                 "src rn %s creation failed",
-                                 yang_dnode_get_string(args->dnode,
-                                                       "./src-prefix"));
-                       return NB_ERR;
-               }
                nb_running_set_entry(args->dnode, src_rn);
                break;
        }
index 0ca0011d004ffccce5a3075aa6e80b7ba83c709f..77a10092f8ad78afe3fbdfc1dd4fc7c26f788c7f 100644 (file)
@@ -126,8 +126,7 @@ struct route_node *static_add_route(afi_t afi, safi_t safi, struct prefix *p,
        struct static_route_info *si;
        struct route_table *stable = svrf->stable[afi][safi];
 
-       if (!stable)
-               return NULL;
+       assert(stable);
 
        /* Lookup static route prefix. */
        rn = srcdest_rnode_get(stable, p, src_p);