aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPouria Mousavizadeh Tehrani <pouria@FreeBSD.org>2026-07-23 09:10:32 +0000
committerPouria Mousavizadeh Tehrani <pouria@FreeBSD.org>2026-07-24 08:04:27 +0000
commitdaf57eb115053613d01e338b9022db16c045f033 (patch)
treed7e71841b2e115e02cdfebb02f1852cb346ccaae
parent8f320c2bc473a775ea9a55d17fa61f729e593867 (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.c3
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);