gluon-respondd: restart on state change of client iface

Because we unconditionally appended `-i br-client` to the command line of
respondd, it wasn't restarted when br-client changed state. Now, we use a
jsonfilter expression on the network.interface dump data, similar to how the
other interface names are generated, and only add the interface to the argument
list if it is up.
This commit is contained in:
Jan-Philipp Litza 2016-12-09 10:43:24 +01:00 committed by Matthias Schiffer
parent 3d5d69f9b0
commit 6788eb9ca0
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C
2 changed files with 4 additions and 2 deletions

View File

@ -7,7 +7,9 @@ DAEMON=/usr/bin/respondd
start_service() {
DEVS=""
for dev in $( ubus call network.interface dump | jsonfilter -e "@.interface[@.proto='gluon_mesh' && @.up=true].device") $(cat /lib/gluon/respondd/client.dev 2>/dev/null)
for dev in $( ubus call network.interface dump | jsonfilter \
-e "@.interface[@.proto='gluon_mesh' && @.up=true].device" \
-e "@.interface[@.interface='$(cat /lib/gluon/respondd/client.dev 2>/dev/null)' && @.up=true].device")
do
DEVS="$DEVS -i $dev"
done