aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/ip_fastfwd.c
diff options
context:
space:
mode:
authorBruce M Simpson <bms@FreeBSD.org>2007-02-03 06:46:48 +0000
committerBruce M Simpson <bms@FreeBSD.org>2007-02-03 06:46:48 +0000
commitd256723b8b82b10fae493d156edf1fb212fd4feb (patch)
treec53e6c45cc591f37b9a6dbc575566b63ea4b19a5 /sys/netinet/ip_fastfwd.c
parent8cad31a4800d2ca6cadc9ce7dcb5dd783281ddad (diff)
downloadsrc-d256723b8b82b10fae493d156edf1fb212fd4feb.tar.gz
src-d256723b8b82b10fae493d156edf1fb212fd4feb.zip
In fast forwarding path, defer processing of 169.254.0.0/16
to ip_input(). See RFC 3927 section 2.7.
Notes
Notes: svn path=/head/; revision=166452
Diffstat (limited to 'sys/netinet/ip_fastfwd.c')
-rw-r--r--sys/netinet/ip_fastfwd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/ip_fastfwd.c b/sys/netinet/ip_fastfwd.c
index ce017d92f384..e98d63041bca 100644
--- a/sys/netinet/ip_fastfwd.c
+++ b/sys/netinet/ip_fastfwd.c
@@ -318,6 +318,8 @@ ip_fastforward(struct mbuf *m)
ntohl(ip->ip_dst.s_addr) == (u_long)INADDR_BROADCAST ||
IN_MULTICAST(ntohl(ip->ip_src.s_addr)) ||
IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) ||
+ IN_LINKLOCAL(ntohl(ip->ip_src.s_addr)) ||
+ IN_LINKLOCAL(ntohl(ip->ip_dst.s_addr)) ||
ip->ip_src.s_addr == INADDR_ANY ||
ip->ip_dst.s_addr == INADDR_ANY )
return m;