aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2013-12-13 09:22:22 -0500
committerJesse Gross <jesse@nicira.com>2014-01-06 18:53:24 -0500
commit09c5e6054e206ecf13945f50711856a5cb2d5de1 (patch)
treebc81d09ae6a56eade80edd5f6ab8baf873e2ab33 /net/openvswitch
parentbda56f143c9dc38ae7926ba21ebeb35359a6c051 (diff)
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')
-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,
311 struct sk_buff *segs, *nskb; 311 struct sk_buff *segs, *nskb;
312 int err; 312 int err;
313 313
314 segs = __skb_gso_segment(skb, NETIF_F_SG | NETIF_F_HW_CSUM, false); 314 segs = __skb_gso_segment(skb, NETIF_F_SG, false);
315 if (IS_ERR(segs)) 315 if (IS_ERR(segs))
316 return PTR_ERR(segs); 316 return PTR_ERR(segs);
317 317