ptnetmap on bhyve status report

Stefano Garzarella stefanogarzarella at gmail.com
Tue Jun 23 19:53:54 UTC 2015


Dear All,
I’m finished to implement ptnetmap on top of virtio-net.
The FreeBSD code is available on
https://svnweb.freebsd.org/socsvn/soc2015/stefano/
I tested it with FreeBSD and Linux guest and QEMU-KVM host.

I tried to do very small changes in the virtio-net device driver, so the
major
modifications are in the sys/dev/netmap/if_vtnet_netmap.h

I used virtio-net device to exchange notification between host and guest
through
interrupt (host -> guest) and iowrite (guest -> host), and ptnetmap-memdev
to share netmap memory.
ptnetmap-memdev is a PCI device that expose, through PCI_BAR, the netmap
memory allocator to the guest.

I had the same performance of previous implementation (with e1000): 24 Mpps
with VALE ports, up to 50 Mpps with netmap-pipes and 14.88 Mpps (line-rate)
with 10-Gbps NIC (ixgbe).

I'm going to start the next step: implement the ptnetmap-memdev frontend in
bhyve to map (through PCI_BAR) the netmap memory into the guest.
The device driver for the guest is already done, because I used it with
QEMU-KVM.

Thanks,
Stefano Garzarella


-- 
*Stefano Garzarella*
Software Engineer

e-mail: stefano.garzarella at gmail.com
github: http://github.com/stefano-garzarella
linkedin: http://it.linkedin.com/pub/stefano-garzarella


More information about the soc-status mailing list