gre: do not keep the GRE header around in collect medata mode
authorJiri Benc <jbenc@redhat.com>
Wed, 11 May 2016 13:53:57 +0000 (15:53 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 May 2016 19:16:32 +0000 (15:16 -0400)
commite271c7b4420ddbb9fae82a2b31a5ab3edafcf4fe
tree8c92fd7336a3bbec4d987dab1c67bfb347f56f9d
parent16ec3d4fbb967bd0e1c8d9dce9ef70e915a86615
gre: do not keep the GRE header around in collect medata mode

For ipgre interface in collect metadata mode, it doesn't make sense for the
interface to be of ARPHRD_IPGRE type. The outer header of received packets
is not needed, as all the information from it is present in metadata_dst. We
already don't set ipgre_header_ops for collect metadata interfaces, which is
the only consumer of mac_header pointing to the outer IP header.

Just set the interface type to ARPHRD_NONE in collect metadata mode for
ipgre (not gretap, that still correctly stays ARPHRD_ETHER) and reset
mac_header.

Fixes: a64b04d86d14 ("gre: do not assign header_ops in collect metadata mode")
Fixes: 2e15ea390e6f4 ("ip_gre: Add support to collect tunnel metadata.")
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_gre.c