[ovs-dev] [PATCH net-next 2/2] openvswitch: Use zerocopy if applicable when performing the upcall

Jesse Gross jesse at nicira.com
Mon Jun 10 20:34:23 UTC 2013

On Fri, Jun 7, 2013 at 5:21 AM, Thomas Graf <tgraf at suug.ch> wrote:
> On 05/27/13 at 10:28am, Jesse Gross wrote:
>> On Saturday, May 25, 2013, Eric Dumazet wrote:
>> > On Sat, 2013-05-25 at 08:02 +0100, Thomas Graf wrote:
>> >
>> > > I ran TCP_CRR to verify the SYN/ACK use case and I did not
>> > > observe a difference. If you have any specific test in mind
>> > > I will be glad to run that before posting the 2nd revision.
>> >
>> > I guess you should test with rx checksum disabled as well, Jesse seemed
>> > to be concerned about that.
>>  I was actually thinking about the transmit side - rx checksum verification
>> doesn't matter much here since the result will get thrown away. However, if
>> the packet is CHECKSUM_PARTIAL then the checksum will have to get filled in
>> first and that's the code path that is a little different now.
> Do we actually need to complete the checksum before doing the
> upcall and if so, why? Couldn't the slow path do that if needed?
> The only reason I can think of where it would matter is if a
> controller injects the packet into another network stack such
> as RouteFlow.

Well, this is the slow path. I don't want to force userspace to deal
with this because it's an internal kernel optimization that is
platform-specific and requires carrying additional metadata around.

It's also very common for a packet to traverse another network stack -
it's typically a VM's.

More information about the dev mailing list