mwan3: make it clearer who initiated the start
authorFlorian Eckert <redacted>
Wed, 4 Nov 2020 15:24:55 +0000 (16:24 +0100)
committerFlorian Eckert <redacted>
Fri, 6 Nov 2020 09:41:28 +0000 (10:41 +0100)
It was somewhat opaque how the variable a is questioned. To show this
better the variable is now a string and not a boolean. So you can see
directly what should happen. With a boolean you always have to think
about what it means when 0 or 1 is used.

Signed-off-by: Florian Eckert <redacted>
net/mwan3/files/etc/hotplug.d/iface/15-mwan3
net/mwan3/files/etc/init.d/mwan3
net/mwan3/files/lib/mwan3/mwan3.sh
net/mwan3/files/usr/sbin/mwan3

index 5fe3e33e0f1c1b6ad65b0afb5cf53928857f8b2d..f1755d26fcca752e096bb6dc260bdc6e525117db 100644 (file)
@@ -23,7 +23,7 @@ fi
 
 config_load mwan3
 /etc/init.d/mwan3 running || {
-       [ "$MWAN3_STARTUP" = 1 ] || procd_lock
+       [ "$MWAN3_STARTUP" = "init" ] || procd_lock
        LOG notice "mwan3 hotplug $ACTION on $INTERFACE not called because globally disabled"
        mwan3_flush_conntrack "$INTERFACE" "$ACTION"
        exit 0
@@ -69,7 +69,7 @@ case "$ACTION" in
                mwan3_create_iface_iptables $INTERFACE $DEVICE
                mwan3_create_iface_rules $INTERFACE $DEVICE
                mwan3_set_iface_hotplug_state $INTERFACE "$status"
-               if [ "$MWAN3_STARTUP" != 1 ]; then
+               if [ "$MWAN3_STARTUP" = "cmd" ]; then
                        mwan3_create_iface_route $INTERFACE $DEVICE
                        mwan3_set_general_rules
                        [ "$status" = "online" ] && mwan3_set_policies_iptables
index bd1ea72603778189d0e798963dfd729874989396..23c21ab5d70e3217667c09f599599b792356eef8 100644 (file)
@@ -36,7 +36,7 @@ start_service() {
        mwan3_set_custom_ipset
        mwan3_set_general_rules
        mwan3_set_general_iptables
-       config_foreach mwan3_ifup interface 1
+       config_foreach mwan3_ifup interface "init"
        wait $hotplug_pids
        mwan3_set_policies_iptables
        mwan3_set_user_rules
index 8a5fe6f0d98e0815fb375ffafd26d1f9f168674b..43740e2def7294a832936efb0029dd31687bc2ae 100644 (file)
@@ -955,12 +955,12 @@ mwan3_interface_shutdown()
 
 mwan3_ifup()
 {
-       local up l3_device status interface true_iface mwan3_startup
+       local interface=$1
+       local caller=$2
 
-       interface=$1
-       mwan3_startup=$2
+       local up l3_device status true_iface
 
-       if [ "${mwan3_startup}" != 1 ]; then
+       if [ "${caller}" = "cmd" ]; then
                # It is not necessary to obtain a lock here, because it is obtained in the hotplug
                # script, but we still want to do the check to print a useful error message
                /etc/init.d/mwan3 running || {
@@ -979,7 +979,7 @@ mwan3_ifup()
        }
        hotplug_startup()
        {
-               env -i MWAN3_STARTUP=$mwan3_startup ACTION=ifup \
+               env -i MWAN3_STARTUP=$caller ACTION=ifup \
                    INTERFACE=$interface DEVICE=$l3_device \
                    sh /etc/hotplug.d/iface/15-mwan3
        }
@@ -988,7 +988,7 @@ mwan3_ifup()
                return
        fi
 
-       if [ "${mwan3_startup}" = 1 ]; then
+       if [ "${caller}" = "init" ]; then
                hotplug_startup &
                hotplug_pids="$hotplug_pids $!"
        else
index 45776bdfc37e49f019f33ae6b2df2e523c11aa40..803e74b9a04c1657b4e43cda3e80182731b3e24d 100644 (file)
@@ -54,7 +54,7 @@ ifup() {
                exit 0
        fi
 
-       mwan3_ifup "$1"
+       mwan3_ifup "$1" "cmd"
 }
 
 interfaces()
git clone https://git.99rst.org/PROJECT