]> git.baikalelectronics.ru Git - kernel.git/commit
gre: fix hard header destination address checking
authorTimo Teräs <timo.teras@iki.fi>
Wed, 3 Mar 2010 04:01:13 +0000 (04:01 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Mar 2010 08:53:52 +0000 (00:53 -0800)
commit423ef448a1d3abd03591c43f416986e17350052d
tree9aabbb2dac62f2e3ddcb8347da94df76f8976da7
parentd3a387f8b44935ca5dfa9ce2e42b7e978c7b23a5
gre: fix hard header destination address checking

ipgre_header() can be called with zero daddr when the gre device is
configured as multipoint tunnel and still has the NOARP flag set (which is
typically cleared by the userspace arp daemon).  If the NOARP packets are
not dropped, ipgre_tunnel_xmit() will take rt->rt_gateway (= NBMA IP) and
use that for route look up (and may lead to bogus xfrm acquires).

The multicast address check is removed as sending to multicast group should
be ok.  In fact, if gre device has a multicast address as destination
ipgre_header is always called with multicast address.

Signed-off-by: Timo Teras <timo.teras@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_gre.c