[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] snabbswitch integration with QEMU for userspace etherne

From: Luke Gorrie
Subject: Re: [Qemu-devel] snabbswitch integration with QEMU for userspace ethernet I/O
Date: Tue, 28 May 2013 12:10:50 +0200

On 27 May 2013 11:34, Stefan Hajnoczi <address@hidden> wrote:
vhost_net is about connecting the a virtio-net speaking process to a
tun-like device.  The problem you are trying to solve is connecting a
virtio-net speaking process to Snabb Switch.

Either you need to replace vhost or you need a tun-like device

Replacing vhost would mean that your switch implements virtio-net,
shares guest RAM with the guest, and shares the ioeventfd and irqfd
which are used to signal with the guest.

This would be a great solution from my perspective. This is the design that I am now struggling to find a good implementation strategy for.
At that point your switch is similar to the virtio-net data plane work that Ping Fan Liu is working
on but your switch is in a separate process rather than a thread.

Thanks for the reference! I was not aware of this work and it sounds highly relevant.

How does your switch talk to hardware?  If you have userspace NIC
drivers that bypass the Linux network stack then the approach I
mentioned fits well.

The switch talks to hardware using a built-in userspace ("kernel bypass") device driver.

The switch runs in a single userspace process with realtime priority and polls for traffic. The design is similar to what Intel are now promoting with their Data Plane Development Kit. The only system call in the main traffic loop is to sleep for a microsecond or so when idle.

The Intel 10G NIC driver is written in Lua btw, in case anybody is curious to check out something so exotic here's the link: https://github.com/SnabbCo/snabbswitch/blob/master/src/intel10g.lua

reply via email to

[Prev in Thread] Current Thread [Next in Thread]