gre: Correctly account for hardware header length.
authorJesse Gross <jesse@nicira.com>
Fri, 19 Feb 2010 14:42:43 +0000 (09:42 -0500)
committerJesse Gross <jesse@nicira.com>
Fri, 5 Mar 2010 21:31:27 +0000 (16:31 -0500)
commit83d3917d5405478bfa40aaf9debd66ea833c3b55
treec33b8e6f9e78e55da475483cd2bcd2dd4b671457
parent82ff0d0a931ddc610c366551a948ffb33e9c8008
gre: Correctly account for hardware header length.

On recent kernels there are two fields that we can use to keep track
of the overhead due to tunneling: hard_header_len and needed_headroom.
On older kernels everything got shoved into hard_header_len and the
actual header length got lost, which caused MTU calculations to be
incorrect.  Since we know the device type we can figure out what the
header length should be.
datapath/linux-2.6/compat-2.6/ip_gre.c