On Fri, Jun 06, 2014 at 05:13:14PM -0700, Daniele Di Proietto wrote: > The netdev_send function has been modified to accept multiple packets, to > allow netdev providers to amortize locking and queuing costs. > This is especially true for netdev-dpdk. > > Later commits exploit the new API. > > Signed-off-by: Daniele Di Proietto <ddiproie...@vmware.com>
If I'm reading the patch right (it has conflicts against current master), then netdev_linux_send() has a special case that transforms ENOBUFS into EAGAIN but then it replaces it immediately with ENOBUFS from errno: /* The Linux AF_PACKET implementation never blocks waiting for room * for packets, instead returning ENOBUFS. Translate this into * EAGAIN for the caller. */ if (errno == ENOBUFS) { error = EAGAIN; } else if (errno == EINTR) { continue; } error = errno; break; If I understand the intent, I'd probably write that as: /* The Linux AF_PACKET implementation never blocks waiting for room * for packets, instead returning ENOBUFS. Translate this into * EAGAIN for the caller. */ error = errno == ENOBUFS ? EAGAIN : errno; if (error == EINTR) { continue; } break; That jumped out at me because it was the site of a conflict, but I didn't really read the read. I'd appreciate a rebase and repost. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev