mirage/mirage-platform — pull request #20 by djs55 (2013-01-11 13:37:35+00:00)
Title: [xen] Add a mutex around netif write,writev

We need this to avoid one packet write calling notify() while a parallel
writev has only written some of the fragments onto the ring.

This fixes the phenomenon where a packet fragments (eg containing HTTP
headers) end up being transmitted as whole frames. It also removes the
curious duplicates experienced during a ping flood.

Note this needs some new APIs in shared-memory-ring.