net: gre: provide multicast mappings for ipv4 and ipv6
authorTimo Teräs <timo.teras@iki.fi>
Mon, 28 Mar 2011 22:40:53 +0000 (22:40 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Mar 2011 07:10:47 +0000 (00:10 -0700)
My commit 6d55cb91a0020ac0 (gre: fix hard header destination
address checking) broke multicast.

The reason is that ip_gre used to get ipgre_header() calls with
zero destination if we have NOARP or multicast destination. Instead
the actual target was decided at ipgre_tunnel_xmit() time based on
per-protocol dissection.

Instead of allowing the "abuse" of ->header() calls with invalid
destination, this creates multicast mappings for ip_gre. This also
fixes "ip neigh show nud noarp" to display the proper multicast
mappings used by the gre device.

Reported-by: Doug Kehn <rdkehn@yahoo.com>
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Acked-by: Doug Kehn <rdkehn@yahoo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found