On 16-11-30 10:35 AM, Michael S. Tsirkin wrote: > On Tue, Nov 29, 2016 at 12:05:20PM -0800, John Fastabend wrote: >> This implements virtio_net for the mergeable buffers and big_packet >> modes. I tested this with vhost_net running on qemu and did not see >> any issues. For testing num_buf > 1 I added a hack to vhost driver >> to only but 100 bytes per buffer. >> >> There are some restrictions for XDP to be enabled and work well >> (see patch 3) for more details. >> >> 1. LRO must be off >> 2. MTU must be less than PAGE_SIZE >> 3. queues must be available to dedicate to XDP >> 4. num_bufs received in mergeable buffers must be 1 >> 5. big_packet mode must have all data on single page >> >> Please review any comments/feedback welcome as always. >> >> v2, fixes rcu usage throughout thanks to Eric and the use of >> num_online_cpus() usage thanks to Jakub. >> >> v3, add slowpath patch to handle num_bufs > 1 >> >> Thanks, >> John > > BTW this is threaded incorrectly: patch 1/6 isn't a reply to 0/6, > patches 2 and on are replies to patch 1. >
Ah yep, if you mangle the command line git will send the cover letter even if you have mangled 'to' email addresses but when it hits a real patch it aborts. At least on my version of git. > I'm busy until end of week, I'll review Monday. Sorry about the delay. In the meantime I'll post a v4 with better commit message (Alexei) and address a corner cases Jakub pointed out. > >> --- >> >> John Fastabend (6): >> net: virtio dynamically disable/enable LRO >> net: xdp: add invalid buffer warning >> virtio_net: Add XDP support >> virtio_net: add dedicated XDP transmit queues >> virtio_net: add XDP_TX support >> virtio_net: xdp, add slowpath case for non contiguous buffers >> >> >> drivers/net/virtio_net.c | 344 >> +++++++++++++++++++++++++++++++++++++++++++++- >> include/linux/filter.h | 1 >> net/core/filter.c | 6 + >> 3 files changed, 346 insertions(+), 5 deletions(-) >> >> -- >> Signature