[Top][All Lists]

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

RE: qemu 4.2 and bridge-helper

From: Alexei Colin
Subject: RE: qemu 4.2 and bridge-helper
Date: Sun, 15 Mar 2020 19:47:07 +0000

> -----Original Message-----
> From: Qemu-discuss [mailto:qemu-discuss-bounces+acolin=address@hidden] On 
> Behalf Of Frans de Boer
> Sent: Saturday, March 14, 2020 4:18 PM
> To: address@hidden
> Subject: qemu 4.2 and bridge-helper

> qemu-system-x86_64: bridge helper failed
> And, yes I have set bridge.conf to "allow br0". Not matter what, It will not 
> work with Qemu 4.2.
> Any suggestions?

You are running qemu as non-root, correct? If so, do you have setuid bit set on 
qemu-bridge-helper? And the executable bit?
    sudo chown root /usr/lib64/qemu/qemu-bridge-helper
    sudo chown u+s /usr/lib64/qemu/qemu-bridge-helper
    ls -l /usr/lib64/qemu/qemu-bridge-helper

Just for diagnostics, to narrow down if permissions are the issue, you can 
check if things work when you run Qemu as root.

Also, do you have br0 bridge device created, listed in 'ip addr' output?

    ip link add br0 type bridge
    ip addr

Also, double check where your Qemu is looking for bridge.conf, it will look for 
it at $PREFIX/etc/qemu/bridge.conf, where prefix was specified when Qemu built 
with ./configure --prefix=$PREFIX.

If all else fails, when I got this error with tap networking some time ago, I 
debugged by creating a wrapper script at /tmp/qemu-bridge-helper-wrapper and 
passing -netdev tap,...,helper=/tmp/qemu-bridge-helper-wrapper to qemu, in 
order to get the arguments with which qemu invokes the helper and get some 
ability to capture output and trace. A wrapper script like this:

        echo "$@"
        /usr/lib64/qemu/qemu-bridge-helper "$@"

Then, using some combination of editing the command in the script and running 
qemu-bridge-helper manually, I replicated the invocation done by qemu and 
caught  the reason for failure. It maybe helpful to run the helper through 
'strace -f -e trace=file qemu-bridge-helper ...' to check which files it's 
looking at and which syscalls are failing if any. Also, might be helpful run 
Qemu via 'strace -e trace=proc qemu....' to get the command line and the error 
code from the system/fork/exec call with which qemu invokes the helper.

reply via email to

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