[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:
#!/bin/bash
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.