svn commit: r340436 - in head/sys/dev: netmap virtio/network
Vincenzo Maffione
vmaffione at freebsd.org
Wed Nov 14 20:46:36 UTC 2018
On Wed, Nov 14, 2018, 8:44 PM Rodney W. Grimes <
freebsd at pdx.rh.cn85.dnsmgr.net wrote:
> > Author: vmaffione
> > Date: Wed Nov 14 15:39:48 2018
> > New Revision: 340436
> > URL: https://svnweb.freebsd.org/changeset/base/340436
> >
> > Log:
> > vtnet: fix netmap support
> >
> > netmap(4) support for vtnet(4) was incomplete and had multiple bugs.
> > This commit fixes those bugs to bring netmap on vtnet in a functional
> state.
> >
> > Changelist:
> > - handle errors returned by virtqueue_enqueue() properly (they were
> > previously ignored)
> > - make sure netmap XOR rest of the kernel access each virtqueue.
> > - compute the number of netmap slots for TX and RX separately,
> according to
> > whether indirect descriptors are used or not for a given virtqueue.
> > - make sure sglist are freed according to their type (mbufs or netmap
> > buffers)
> > - add support for mulitiqueue and netmap host (aka sw) rings.
> > - intercept VQ interrupts directly instead of intercepting them in
> txq_eof
> > and rxq_eof. This simplifies the code and makes it easier to make
> sure
> > taskqueues are not running for a VQ while it is in netmap mode.
> > - implement vntet_netmap_config() to cope with changes in the number
> of queues.
> >
> > Reviewed by: bryanv
> > Approved by: gnn (mentor)
> > MFC after: 3 days
> > Sponsored by: Sunny Valley Networks
> > Differential Revision: https://reviews.freebsd.org/D17916
>
> I would like to get some wider test of this in ^head/
> specifically with use in a bhyve guest before we do
> an early merge to stable/12 so that this can be in
> the next build.
>
> If you are capable of testing this within bhyve as a guest
> please do so and provide feedback. It does not need to be
> a ^/head host, just the guest needs to be using vtnet
> nic's.
>
>
The tests I did are reported here https://reviews.freebsd.org/D17916 , and
consist of one or two ^/head guests, each
one having a vtnet NIC. The hypervisor is qemu-kvm, running in the host.
Unfortunately I cannot do tests with bhyve as an hypervisor, because that
requires a FreeBSD host (e.g., ^/head , stable/12 or stable/11),
and at the moment I don't have one.
Cheers,
Vincenzo
More information about the svn-src-all
mailing list