aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorDmitry Kravkov <dmitry@broadcom.com>2013-02-18 04:50:52 -0500
committerDavid S. Miller <davem@davemloft.net>2013-02-19 00:51:09 -0500
commitaa0e51cdda005cd37e23751de54443b1e73e7def (patch)
treecd2d521d1c3bf360496c7eeda9b1739f93d088a0 /net/ipv4
parente0809dbc47dea83eba7a9abb70e87470904d4372 (diff)
ip_gre: allow CSUM capable devices to handle packets
If device is not able to handle checksumming it will be handled in dev_xmit Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/ip_gre.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index a56f1182c176..cdc31ac4a9df 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -745,12 +745,9 @@ static struct sk_buff *handle_offloads(struct sk_buff *skb)
745 goto error; 745 goto error;
746 skb_shinfo(skb)->gso_type |= SKB_GSO_GRE; 746 skb_shinfo(skb)->gso_type |= SKB_GSO_GRE;
747 return skb; 747 return skb;
748 } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
749 err = skb_checksum_help(skb);
750 if (unlikely(err))
751 goto error;
752 } 748 }
753 skb->ip_summed = CHECKSUM_NONE; 749 if (skb->ip_summed != CHECKSUM_PARTIAL)
750 skb->ip_summed = CHECKSUM_NONE;
754 751
755 return skb; 752 return skb;
756 753