Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jun 2015 21:53:32 +0200
From:      Stefano Garzarella <stefanogarzarella@gmail.com>
To:        soc-status@freebsd.org
Cc:        Luigi Rizzo <rizzo@iet.unipi.it>, Peter Grehan <grehan@freebsd.org>
Subject:   ptnetmap on bhyve status report
Message-ID:  <CAO0mX5a=q%2BvqgGnDNWMsTZXZAeG6Gvn0UpC6gzZnR0q--sB=bw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Dear All,
I=E2=80=99m 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


--=20
*Stefano Garzarella*
Software Engineer

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAO0mX5a=q%2BvqgGnDNWMsTZXZAeG6Gvn0UpC6gzZnR0q--sB=bw>