Basically the original netfront just contains feature testing, basically checking for feature-netmap
and bypasses the netfront calls to this file over here (with a each correspondent call on a proper prefix/suffix):
The ring data structures are simpler than the Xen I/O rings:
Right now we are looking towards being mainstream, so the implementation (mostly backend) will be under a lot of development until the Xen Hackaton. That means giving support to all netmap-supported drivers (and not only ixgbe) and supporting other OSes (FreeBSD as driver domain).
The installation will always remain the same:
$ make KSRC=/path-to-linux-source prepare
$ make KSRC=/path-to-linux-headers
$ rmmod xen-netback
$ insmod ../netmap/LINUX/netmap_lin.ko
$ insmod ../netmap/LINUX/ixgbe/ixgbe.ko
$ insmod ./xen-netback/xen-netback.ko
Finally, some performance numbers:
Our tests show TCP at 10Gbit/s packet I/O without offloadings (835 Kpps) , with numbers shown with iperf. UDP forwarding goes up to 8.2 Mpps (using netmap pkt-gen).