diff options
| author | Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> | 2026-07-23 09:10:32 +0000 |
|---|---|---|
| committer | Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> | 2026-07-24 08:04:27 +0000 |
| commit | daf57eb115053613d01e338b9022db16c045f033 (patch) | |
| tree | d7e71841b2e115e02cdfebb02f1852cb346ccaae | |
| parent | 8f320c2bc473a775ea9a55d17fa61f729e593867 (diff) | |
icmp: Verify redirect gateway with fib-aware ifa selection
During call to `icmp_verify_redirect_gateway()` ensure using
fib-aware source address selection function.
Reviewed by: glebius
Differential Revision: https://reviews.freebsd.org/D58409
| -rw-r--r-- | sys/netinet/ip_icmp.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index adf69c47aed5..fd1a3cd24c8f 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -965,8 +965,7 @@ icmp_verify_redirect_gateway(struct sockaddr_in *src, struct sockaddr_in *dst, if ((ifa = ifa_ifwithnet((struct sockaddr *)gateway, 0, fibnum))==NULL) return (ENETUNREACH); - /* TODO: fib-aware. */ - if (ifa_ifwithaddr_check((struct sockaddr *)gateway)) + if (ifa_ifwithaddr_fib_check((struct sockaddr *)gateway, fibnum)) return (EHOSTUNREACH); nh = fib4_lookup(fibnum, dst->sin_addr, 0, NHR_NONE, 0); |
