diff options
author | bms <bms@FreeBSD.org> | 2007-02-03 06:46:48 +0000 |
---|---|---|
committer | bms <bms@FreeBSD.org> | 2007-02-03 06:46:48 +0000 |
commit | 929d8d99d7b7d6c9b712e7a69050dedd2c18e286 (patch) | |
tree | c53e6c45cc591f37b9a6dbc575566b63ea4b19a5 /sys/netinet/ip_fastfwd.c | |
parent | 426b160b280671c53d383973b3ccfbc7af6ef4de (diff) | |
download | FreeBSD-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.c | 2 |
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; |