On Wed, Dec 07, 2016 at 02:21:24PM +0000, Peter Maydell wrote:
On 7 December 2016 at 14:07, Daniel P. Berrange <address@hidden> wrote:
On Wed, Dec 07, 2016 at 12:30:31PM +0000, Peter Maydell wrote:
On 7 December 2016 at 12:04, Daniel P. Berrange <address@hidden> wrote:
On Wed, Dec 07, 2016 at 12:01:14PM +0000, Peter Maydell wrote:
The usual suggested workaround is to use the -netdev fd option, like
fd=3 3<>/dev/tap$(< /sys/class/net/tap0/ifindex)
(which gets the shell to open the right /dev/tap device).
Unfortunately this isn't compatible with multi-queue support
because netdev complains
"ifname=, script=, downscript=, vnet_hdr=, helper=, queues=, fds=,
and vhostfds= are invalid with fd="
so you can't pass options like "queues=4"...
FWIW you should be able to instead do
fds=3 3<>/dev/tap$(< /sys/class/net/tap0/ifindex)
note 'fds' plural, instead of 'fd'
What's the difference between that and the "usual suggested workaround"
I described above that doesn't work with queues=... ?
It just seems the 'queues' param always wants you to use 'fds' instead
of 'fd' - 'fds' takes a comma-separated list of FDs - one per queue
and 'fd' only takes a single FD.
Oh, I see. That seems a bit obscure :-)
And pointless, because QemuOpts would have allowed use of 'fd' multiple
times instead of inventing a new arg. fd=1,fd=3,fd=6 could have worked
fine with multi-queue :-(
Regards,
Daniel