High-performance TCP/IP networking for bhyve VMs using netmap passthrough
Vincenzo Maffione
v.maffione at gmail.com
Sat Aug 20 19:12:22 UTC 2016
Hello
Sorry for the delayed update, I've been offline for a week.
Project summary
=================
ptnet is a new multi-queue paravirtualized device that builds on ptnetmap
to allow VMs to exchange TCP traffic at 20 Gbps, while still offering the
same ptnetmap performance (10-100 Mpps) to native netmap applications.
The purpose of this SOC project is to write a ptnet driver for FreeBSD and
a corresponding device model for the bhyve hypervisor.
Status update for week 12 and 13
===================
During these weeks I've completed the ptnet device model emulation and
performed throughput tests.
Results are good (~15 Gbps throughput among two VMs), and 20 Mpps with
netmap (pkt-gen).
I've also slightly optimized the vmm.ko support to speed up the lookup of
the callback to be invoked on guest register write, using a RW lock in
place of a mutex.
Finally, I did bhyve code cleanup, and ported netmap and bhyve to the
freebsd head, since my developments were based on 10.3-release.
I prepared the documentation for the final submission in the wiki page of
my project (see link below).
Links:
Project wiki page: https://wiki.freebsd.org/SummerOfCode2016/PtnetDriverA
ndDeviceModel
Code:
https://svnweb.freebsd.org/socsvn/soc2016/vincenzo/head/sys/
dev/netmap/if_ptnet.c?view=markup
https://svnweb.freebsd.org/socsvn/soc2016/vincenzo/head/
usr.sbin/bhyve/pci_ptnetmap_netif.c?view=markup
https://svnweb.freebsd.org/socsvn/soc2016/vincenzo/head/
usr.sbin/bhyve/net_backends.c?view=markup
--
Vincenzo Maffione
More information about the soc-status
mailing list