aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/gre_demux.c
diff options
context:
space:
mode:
authorAmritha Nambiar <amritha.nambiar@intel.com>2014-07-10 17:29:21 -0700
committerDavid S. Miller <davem@davemloft.net>2014-07-11 13:53:39 -0700
commitd0a7ebbc119738439ff00f7fadbd343ae20ea5e8 (patch)
tree733dfd9b87e691fd28bd12b52c3a9ebb99c81e3e /net/ipv4/gre_demux.c
parentfarsync: fix invalid memory accesses in fst_add_one() and fst_init_card() (diff)
downloadlinux-dev-d0a7ebbc119738439ff00f7fadbd343ae20ea5e8.tar.xz
linux-dev-d0a7ebbc119738439ff00f7fadbd343ae20ea5e8.zip
GRE: enable offloads for GRE
To get offloads to work with Generic Routing Encapsulation (GRE), the outer transport header has to be reset after skb_push is done. This patch has the support for this fix and hence GRE offloading. Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com> Signed-off-by: Joseph Gasparakis <joseph.gasparakis@intel.com> Tested-By: Jim Young <jamesx.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/gre_demux.c')
-rw-r--r--net/ipv4/gre_demux.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/gre_demux.c b/net/ipv4/gre_demux.c
index 4e9619bca732..0485bf7f8f03 100644
--- a/net/ipv4/gre_demux.c
+++ b/net/ipv4/gre_demux.c
@@ -68,6 +68,7 @@ void gre_build_header(struct sk_buff *skb, const struct tnl_ptk_info *tpi,
skb_push(skb, hdr_len);
+ skb_reset_transport_header(skb);
greh = (struct gre_base_hdr *)skb->data;
greh->flags = tnl_flags_to_gre_flags(tpi->flags);
greh->protocol = tpi->proto;