summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/datapath.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2013-12-13 15:22:22 +0100
committerJesse Gross <jesse@nicira.com>2014-01-07 00:53:24 +0100
commit09c5e6054e206ecf13945f50711856a5cb2d5de1 (patch)
treebc81d09ae6a56eade80edd5f6ab8baf873e2ab33 /net/openvswitch/datapath.c
parentopenvswitch: Use skb_zerocopy() for upcall (diff)
downloadlinux-09c5e6054e206ecf13945f50711856a5cb2d5de1.tar.xz
linux-09c5e6054e206ecf13945f50711856a5cb2d5de1.zip
openvswitch: Compute checksum in skb_gso_segment() if needed
The copy & csum optimization is no longer present with zerocopy enabled. Compute the checksum in skb_gso_segment() directly by dropping the HW CSUM capability from the features passed in. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch/datapath.c')
-rw-r--r--net/openvswitch/datapath.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index 85578342d566..61ae3b86a995 100644
--- a/net/openvswitch/datapath.c
+++ b/net/openvswitch/datapath.c
@@ -311,7 +311,7 @@ static int queue_gso_packets(struct datapath *dp, struct sk_buff *skb,
struct sk_buff *segs, *nskb;
int err;
- segs = __skb_gso_segment(skb, NETIF_F_SG | NETIF_F_HW_CSUM, false);
+ segs = __skb_gso_segment(skb, NETIF_F_SG, false);
if (IS_ERR(segs))
return PTR_ERR(segs);