[ovs-dev] [PATCH] Out-of-order data packets in upcalls processing logic fixed

Dmitry Fleytman dmitry at daynix.com
Thu Jul 18 14:32:08 UTC 2013


From: Dmitry Fleytman <dfleytma at redhat.com>

Hello dev at openvswitch.org!

We are working on Windows virtio network driver certification
for virtual machines running "on top" of OpenVSwitch.

The test suite used for Microsoft certification (HCK) contains tests
that verify correct packet ordering for data flows between systems
(virtual machines) under test.

In some cases there are packet reordering issues that make tests fail.
Part of problems we observe related to user mode services behavior.

Namely, user mode logic groups incoming packets by flows and then
process flows in arbitrary order based on flow hash keys values.
This behavior may lead to unexpected packets reordering. For example
two packets that belong to the same "logical stream" and differ
by ECN bit only placed to different flows and may be transmitted
in reverse order.

We've prepared a patch that fixes the issue in a natural manner -
preserves order of packets being routed via user mode services.

It's our first patch for OpenVSwitch so if we miss something please let us know.

Dmitry Fleytman (1):
  Out-of-order data packets in upcalls processing logic fixed

 ofproto/ofproto-dpif.c |   65 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 48 insertions(+), 17 deletions(-)




More information about the dev mailing list