igmpproxy: do not start instance if no upstream interface is available
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 12 Dec 2014 14:52:24 +0000 (14:52 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 12 Dec 2014 14:52:24 +0000 (14:52 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43659 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/services/igmpproxy/files/igmpproxy.init

index 44f3f64..dd2e430 100644 (file)
@@ -48,6 +48,8 @@ igmp_add_phyint() {
                return;
        }
 
+       [[ "$direction" = "upstream" ]] && has_upstream=1
+
        echo -e "\nphyint $device $direction ratelimit 0 threshold 1" >> /var/etc/igmpproxy.conf
 
        if [ -n "$altnets" ]; then
@@ -104,11 +106,14 @@ service_triggers() {
 }
 
 start_service() {
+       has_upstream=
        config_load igmpproxy
 
-       procd_open_instance
        config_foreach igmp_header igmpproxy
        config_foreach igmp_add_phyint phyint
+       [ -n "$has_upstream" ] || return
+
+       procd_open_instance
        procd_set_param command $PROG
        [ -n "$OPTIONS" ] && procd_append_param $OPTIONS
        procd_append_param command $CONFIGFILE