diff options
author | bms <bms@FreeBSD.org> | 2007-03-18 23:05:20 +0000 |
---|---|---|
committer | bms <bms@FreeBSD.org> | 2007-03-18 23:05:20 +0000 |
commit | b7e4c9974400c687352d82bff237079493bee8e9 (patch) | |
tree | 57cd47ad9a0898662fb13b65750c5e81fbe0e08b /sys/netinet/ip_fastfwd.c | |
parent | f0adcfa59c474c0bafe9c043b97b24039458376d (diff) | |
download | FreeBSD-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.c | 3 |
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; } |