diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2021-06-23 16:35:44 +0200 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2021-11-17 11:17:44 +0100 |
commit | 1e9044be8d4325fa82f01d72eb6c8581dcd6fd06 (patch) | |
tree | 587f2a6a425b6328de693f0e39bd79c0e4e82d47 /staticd/static_routes.c | |
parent | Merge pull request #10071 from donaldsharp/valgrind_supp_change (diff) | |
download | frr-1e9044be8d4325fa82f01d72eb6c8581dcd6fd06.tar.xz frr-1e9044be8d4325fa82f01d72eb6c8581dcd6fd06.zip |
*: clean up ifp-by-local-address function(s)
Most users of if_lookup_address_exact only cared about whether the
address is any local address. Split that off into a separate function.
For the users that actually need the ifp - which I'm about to add a few
of - change it to prefer returning interfaces that are UP.
(Function name changed due to slight change in behavior re. UP state, to
avoid possible bugs from this change.)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'staticd/static_routes.c')
-rw-r--r-- | staticd/static_routes.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/staticd/static_routes.c b/staticd/static_routes.c index 60f384e51..45c42ddce 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: |