diff options
author | Igor Ryzhov <iryzhov@nfware.com> | 2021-10-22 00:17:40 +0200 |
---|---|---|
committer | Igor Ryzhov <iryzhov@nfware.com> | 2021-11-22 18:47:23 +0100 |
commit | 096f7609f9168ad1a2503acad31d3afc8f00f9e5 (patch) | |
tree | 7acf9cbf0f944b032da6a796fcf8d7f6a06fe90a /staticd | |
parent | Merge pull request #10057 from ton31337/fix/we_shouldn_send_LLA_for_RS (diff) | |
download | frr-096f7609f9168ad1a2503acad31d3afc8f00f9e5.tar.xz frr-096f7609f9168ad1a2503acad31d3afc8f00f9e5.zip |
*: cleanup ifp->vrf_id
Since f60a1188 we store a pointer to the VRF in the interface structure.
There's no need anymore to store a separate vrf_id field.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'staticd')
-rw-r--r-- | staticd/static_routes.c | 8 | ||||
-rw-r--r-- | staticd/static_vrf.c | 11 | ||||
-rw-r--r-- | staticd/static_vrf.h | 1 | ||||
-rw-r--r-- | staticd/static_zebra.c | 5 |
4 files changed, 7 insertions, 18 deletions
diff --git a/staticd/static_routes.c b/staticd/static_routes.c index 45c42ddce..1d52dd30e 100644 --- a/staticd/static_routes.c +++ b/staticd/static_routes.c @@ -432,13 +432,13 @@ static void static_ifindex_update_nh(struct interface *ifp, bool up, if (up) { if (strcmp(nh->ifname, ifp->name)) return; - if (nh->nh_vrf_id != ifp->vrf_id) + if (nh->nh_vrf_id != ifp->vrf->vrf_id) return; nh->ifindex = ifp->ifindex; } else { if (nh->ifindex != ifp->ifindex) return; - if (nh->nh_vrf_id != ifp->vrf_id) + if (nh->nh_vrf_id != ifp->vrf->vrf_id) return; nh->ifindex = IFINDEX_INTERNAL; } @@ -723,7 +723,7 @@ static void static_fixup_intf_nh(struct route_table *stable, continue; frr_each(static_path_list, &si->path_list, pn) { frr_each(static_nexthop_list, &pn->nexthop_list, nh) { - if (nh->nh_vrf_id != ifp->vrf_id) + if (nh->nh_vrf_id != ifp->vrf->vrf_id) continue; if (nh->ifindex != ifp->ifindex) @@ -750,7 +750,7 @@ void static_install_intf_nh(struct interface *ifp) struct static_vrf *svrf = vrf->info; /* Not needed if same vrf since happens naturally */ - if (vrf->vrf_id == ifp->vrf_id) + if (vrf->vrf_id == ifp->vrf->vrf_id) continue; /* Install any static routes configured for this interface. */ diff --git a/staticd/static_vrf.c b/staticd/static_vrf.c index 4bea3075c..6ba0bf454 100644 --- a/staticd/static_vrf.c +++ b/staticd/static_vrf.c @@ -123,17 +123,6 @@ struct route_table *static_vrf_static_table(afi_t afi, safi_t safi, return svrf->stable[afi][safi]; } -struct static_vrf *static_vrf_lookup_by_id(vrf_id_t vrf_id) -{ - struct vrf *vrf; - - vrf = vrf_lookup_by_id(vrf_id); - if (vrf) - return ((struct static_vrf *)vrf->info); - - return NULL; -} - struct static_vrf *static_vrf_lookup_by_name(const char *name) { struct vrf *vrf; diff --git a/staticd/static_vrf.h b/staticd/static_vrf.h index be311af8c..885246bfa 100644 --- a/staticd/static_vrf.h +++ b/staticd/static_vrf.h @@ -39,7 +39,6 @@ struct stable_info { #define GET_STABLE_VRF_ID(info) info->svrf->vrf->vrf_id struct static_vrf *static_vrf_lookup_by_name(const char *vrf_name); -struct static_vrf *static_vrf_lookup_by_id(vrf_id_t vrf_id); void static_vrf_init(void); diff --git a/staticd/static_zebra.c b/staticd/static_zebra.c index 38b3c93d7..0e0f61d18 100644 --- a/staticd/static_zebra.c +++ b/staticd/static_zebra.c @@ -85,9 +85,10 @@ static int interface_address_delete(ZAPI_CALLBACK_ARGS) static int static_ifp_up(struct interface *ifp) { if (if_is_vrf(ifp)) { - struct static_vrf *svrf = static_vrf_lookup_by_id(ifp->vrf_id); + struct static_vrf *svrf = ifp->vrf->info; - static_fixup_vrf_ids(svrf); + if (svrf) + static_fixup_vrf_ids(svrf); } /* Install any static reliant on this interface coming up */ |