diff options
author | Thomas Graf <tgraf@suug.ch> | 2013-12-13 15:22:22 +0100 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2014-01-07 00:53:24 +0100 |
commit | 09c5e6054e206ecf13945f50711856a5cb2d5de1 (patch) | |
tree | bc81d09ae6a56eade80edd5f6ab8baf873e2ab33 /net/openvswitch/datapath.c | |
parent | openvswitch: Use skb_zerocopy() for upcall (diff) | |
download | linux-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.c | 2 |
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); |