diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index f5aaaa31f..994f252f4 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -123,8 +123,10 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then config_load shadowsocks-libev if [ -n "$OMR_TRACKER_DEVICE_IP" ]; then local metric=$(ip rule show | grep "$OMR_TRACKER_DEVICE_IP" | awk '{print $5}') + ip route del default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric config_foreach del_ss_route server $metric else + ip route del default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE config_foreach del_ss_route server none fi } @@ -175,11 +177,18 @@ if [ "$multipath_config" = "master" ]; then ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337 fi fi + if [ -n "$OMR_TRACKER_DEVICE_IP" ]; then + local metric=$(ip rule show | grep "$OMR_TRACKER_DEVICE_IP" | awk '{print $5}') + [ -n "$metric" ] && { + ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric + } + fi multipath_config="on" else if [ -n "$OMR_TRACKER_DEVICE_IP" ]; then local metric=$(ip rule show | grep "$OMR_TRACKER_DEVICE_IP" | awk '{print $5}') [ -n "$metric" ] && { + ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric config_load shadowsocks-libev config_foreach set_ss_route server $metric }