summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_fastfwd.c
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2007-03-18 23:05:20 +0000
committerbms <bms@FreeBSD.org>2007-03-18 23:05:20 +0000
commitb7e4c9974400c687352d82bff237079493bee8e9 (patch)
tree57cd47ad9a0898662fb13b65750c5e81fbe0e08b /sys/netinet/ip_fastfwd.c
parentf0adcfa59c474c0bafe9c043b97b24039458376d (diff)
downloadFreeBSD-src-b7e4c9974400c687352d82bff237079493bee8e9.zip
FreeBSD-src-b7e4c9974400c687352d82bff237079493bee8e9.tar.gz
In IPv4 fast forwarding path, send ICMP unreachable messages for
routes which have RTF_REJECT set *and* a zero expiry timer. PR: kern/109246 MFC after: 10 days Submitted by: Ingo Flaschberger
Diffstat (limited to 'sys/netinet/ip_fastfwd.c')
-rw-r--r--sys/netinet/ip_fastfwd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet/ip_fastfwd.c b/sys/netinet/ip_fastfwd.c
index 90b3480..12b606a 100644
--- a/sys/netinet/ip_fastfwd.c
+++ b/sys/netinet/ip_fastfwd.c
@@ -500,7 +500,8 @@ passout:
* Check if route is dampned (when ARP is unable to resolve)
*/
if ((ro.ro_rt->rt_flags & RTF_REJECT) &&
- ro.ro_rt->rt_rmx.rmx_expire >= time_uptime) {
+ (ro.ro_rt->rt_rmx.rmx_expire == 0 ||
+ time_uptime < ro.ro_rt->rt_rmx.rmx_expire)) {
icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_HOST, 0, 0);
goto consumed;
}
OpenPOWER on IntegriCloud