summaryrefslogtreecommitdiff
path: root/staticd/static_routes.c
diff options
context:
space:
mode:
Diffstat (limited to 'staticd/static_routes.c')
-rw-r--r--staticd/static_routes.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/staticd/static_routes.c b/staticd/static_routes.c
index 60f384e517..1d52dd30e2 100644
--- a/staticd/static_routes.c
+++ b/staticd/static_routes.c
@@ -199,14 +199,14 @@ bool static_add_nexthop_validate(const char *nh_vrf_name,
switch (type) {
case STATIC_IPV4_GATEWAY:
case STATIC_IPV4_GATEWAY_IFNAME:
- if (if_lookup_exact_address(&ipaddr->ipaddr_v4, AF_INET,
- vrf->vrf_id))
+ if (if_address_is_local(&ipaddr->ipaddr_v4, AF_INET,
+ vrf->vrf_id))
return false;
break;
case STATIC_IPV6_GATEWAY:
case STATIC_IPV6_GATEWAY_IFNAME:
- if (if_lookup_exact_address(&ipaddr->ipaddr_v6, AF_INET6,
- vrf->vrf_id))
+ if (if_address_is_local(&ipaddr->ipaddr_v6, AF_INET6,
+ vrf->vrf_id))
return false;
break;
default:
@@ -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. */