summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_fastfwd.c
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2007-02-03 06:46:48 +0000
committerbms <bms@FreeBSD.org>2007-02-03 06:46:48 +0000
commit929d8d99d7b7d6c9b712e7a69050dedd2c18e286 (patch)
treec53e6c45cc591f37b9a6dbc575566b63ea4b19a5 /sys/netinet/ip_fastfwd.c
parent426b160b280671c53d383973b3ccfbc7af6ef4de (diff)
downloadFreeBSD-src-929d8d99d7b7d6c9b712e7a69050dedd2c18e286.zip
FreeBSD-src-929d8d99d7b7d6c9b712e7a69050dedd2c18e286.tar.gz
In fast forwarding path, defer processing of 169.254.0.0/16
to ip_input(). See RFC 3927 section 2.7.
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 ce017d9..e98d630 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;
OpenPOWER on IntegriCloud