diff options
| author | Igor Ryzhov <iryzhov@nfware.com> | 2021-10-22 01:17:40 +0300 | 
|---|---|---|
| committer | Igor Ryzhov <iryzhov@nfware.com> | 2021-11-22 20:47:23 +0300 | 
| commit | 096f7609f9168ad1a2503acad31d3afc8f00f9e5 (patch) | |
| tree | 7acf9cbf0f944b032da6a796fcf8d7f6a06fe90a /staticd | |
| parent | d32c92a4c0fcee71a8a6d02cb9ff84607cfdcc07 (diff) | |
*: 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 45c42ddcef..1d52dd30e2 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 4bea3075c9..6ba0bf4544 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 be311af8c4..885246bfaa 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 38b3c93d76..0e0f61d186 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 */  | 
