diff --git a/mptcp/files/etc/hotplug.d/net/30-mptcp b/mptcp/files/etc/hotplug.d/net/30-mptcp index 9c5d3bc28..4e5cc50a1 100644 --- a/mptcp/files/etc/hotplug.d/net/30-mptcp +++ b/mptcp/files/etc/hotplug.d/net/30-mptcp @@ -5,8 +5,6 @@ # Author: Mario Krueger # Released under GPL 3 or later -[ "$ACTION" = ifup -o "$ACTION" = ifupdate ] || exit 0 - enable=`uci -q get network.globals.multipath` || exit 0 [ "$enable" = "enable" ] || exit 0 @@ -47,17 +45,17 @@ set_default() { local gateway local network local netmask - network_get_ipaddr ipaddr $config - network_get_gateway gateway $config + config_get ipaddr $config ipaddr + config_get gateway $config gateway network_get_subnet network $config - __network_ifstatus netmask $config "['ipv4-address'][0]['mask']" + config_get netmask $config netmask network=`ipcalc.sh $network | sed -n '/NETWORK=/{;s/.*=//;s/ .*//;p;}'` ip rule del table $id ip route flush $id ip rule add from $ipaddr table $id - ip route add $network/$netmask dev $iface scope link table $id - ip route add default via $gateway dev $iface table $id + ip route replace $network/$netmask dev $iface scope link table $id + ip route replace default via $gateway dev $iface table $id ip route flush $id [ "$mode" = "master" ] && { diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index fc9a54748..e825dedc1 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -1,11 +1,11 @@ #!/bin/sh /etc/rc.common -START=10 +START=18 USE_PROCD=1 start_service() { - hotplug-call net + /sbin/hotplug-call net } reload_service() { diff --git a/mptcp/files/etc/uci-defaults/mptcp-defaults b/mptcp/files/etc/uci-defaults/mptcp-defaults index 61146c99b..a2f2469b9 100755 --- a/mptcp/files/etc/uci-defaults/mptcp-defaults +++ b/mptcp/files/etc/uci-defaults/mptcp-defaults @@ -1,6 +1,14 @@ #!/bin/sh -uci -q batch <