summaryrefslogtreecommitdiffstats
path: root/staticd
diff options
context:
space:
mode:
authorIgor Ryzhov <iryzhov@nfware.com>2021-10-22 00:17:40 +0200
committerIgor Ryzhov <iryzhov@nfware.com>2021-11-22 18:47:23 +0100
commit096f7609f9168ad1a2503acad31d3afc8f00f9e5 (patch)
tree7acf9cbf0f944b032da6a796fcf8d7f6a06fe90a /staticd
parentMerge pull request #10057 from ton31337/fix/we_shouldn_send_LLA_for_RS (diff)
downloadfrr-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.c8
-rw-r--r--staticd/static_vrf.c11
-rw-r--r--staticd/static_vrf.h1
-rw-r--r--staticd/static_zebra.c5
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 */