[ovs-git] Open vSwitch: datapath: Fix WARN_ON sending GSO packets to userspace in Linux 2.6.22+. (master)

dev at openvswitch.org dev at openvswitch.org
Mon Sep 14 19:20:37 UTC 2009


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  cb5087caddd187e71d5f32118d8d807c9c131725 (commit)
       via  0d3b8a34d6eabf049ae7e2d5689a0e687495100d (commit)
      from  2e44e26d10a911eec911f303eca44fdc97a5d80c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit cb5087caddd187e71d5f32118d8d807c9c131725
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=cb5087caddd187e71d5f32118d8d807c9c131725
Author: Ben Pfaff <blp at nicira.com>
		
datapath: Fix WARN_ON sending GSO packets to userspace in Linux 2.6.22+.
		
Until now, when dp_output_control() queued a GSO packet to userspace, it
would first compute the checksum for the whole GSO packet, then break the
packet into segments.  However this had two drawbacks:

    1. The checksum had to be recomputed for each segment, wasting time.
    2. Linux 2.6.22 and later would emit a warning in skb_gso_segment()
       because the checksum was precomputed.

This commit changes dp_output_control() to instead break the packet into
segments, then compute the checksum across each of the segments
individually.  This fixes both drawbacks.

This commit has seen light testing on Xen's 2.6.27.  It has been build
tested on a few different kernel versions.


commit 0d3b8a34d6eabf049ae7e2d5689a0e687495100d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=0d3b8a34d6eabf049ae7e2d5689a0e687495100d
Author: Ben Pfaff <blp at nicira.com>
		
datapath: Fix comments.
		


-----------------------------------------------------------------------

Summary of changes:
 datapath/datapath.c |  157 +++++++++++++++++++++++++++------------------------
 datapath/datapath.h |    1 -
 2 files changed, 84 insertions(+), 74 deletions(-)


hooks/post-receive
-- 
Open vSwitch




More information about the git mailing list