P2P: Use alternative way of starting dnsmasq if needed
Some other dnsmasq users (like libvirt) seem to be binding the DHCP server to all interfaces which prevents the previously used mechanism here from working (bind on the DHCP socket fails). If a failure is noticed, try to start dnsmasq with -z option to avoid that.
This commit is contained in:
parent
0fb337c121
commit
afa4926c95
1 changed files with 8 additions and 2 deletions
|
@ -27,9 +27,15 @@ if [ "$CMD" = "P2P-GROUP-STARTED" ]; then
|
||||||
rm /var/run/dhclient.leases-$GIFNAME
|
rm /var/run/dhclient.leases-$GIFNAME
|
||||||
kill_daemon dnsmasq /var/run/dnsmasq.pid-$GIFNAME
|
kill_daemon dnsmasq /var/run/dnsmasq.pid-$GIFNAME
|
||||||
ifconfig $GIFNAME 192.168.42.1 up
|
ifconfig $GIFNAME 192.168.42.1 up
|
||||||
|
if ! dnsmasq -x /var/run/dnsmasq.pid-$GIFNAME \
|
||||||
|
-i $GIFNAME \
|
||||||
|
-F192.168.42.11,192.168.42.99; then
|
||||||
|
# another dnsmasq instance may be running and blocking us; try to
|
||||||
|
# start with -z to avoid that
|
||||||
dnsmasq -x /var/run/dnsmasq.pid-$GIFNAME \
|
dnsmasq -x /var/run/dnsmasq.pid-$GIFNAME \
|
||||||
-i $GIFNAME \
|
-i $GIFNAME \
|
||||||
-F192.168.42.11,192.168.42.99
|
-F192.168.42.11,192.168.42.99 --listen-address 192.168.42.1 -z
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "$4" = "client" ]; then
|
if [ "$4" = "client" ]; then
|
||||||
kill_daemon dhclient /var/run/dhclient-$GIFNAME.pid
|
kill_daemon dhclient /var/run/dhclient-$GIFNAME.pid
|
||||||
|
|
Loading…
Reference in a new issue