thank you so much! Just so I do the right thing here:

  1. my entry in /etc/init.d/startvpn is:
    start(){
    /etc/init.d/openvpn disable
    enabled=$(uci get glconfig.openvpn.enable)
    [ -z “$enabled” -o “$enabled” = “0” ] && return;
    so I replace that (or just /etc/init.d/openvpn disable) with [/usr/sbin/openvpn --config “$ovpn” --script-security 2 --route-delay 2 --route-up /usr/bin/ovpn_check_route --remap-usr1 SIGHUP --writepid /var/run/ovpn_client.pid &]

  2. I create a new (as there is no such file in my GL-MT300N-V2) file in /usr/bin/ovpn_check_route with the content as per above. with chmod 755

Also, will all this stay when the new firmware comes out OR I would need to change all this again?

UPDATE:

  1. the change /etc/init.d/openvpn disable to /usr/sbin/openvpn --config “$ovpn” --script-security 2 --route-delay 2 --route-up /usr/bin/ovpn_check_route --remap-usr1 SIGHUP --writepid /var/run/ovpn_client.pid & did not make any difference - I still was not able to reliably switch between defferent VPN configs unless rebooted the router.
  2. HOWEVER, when I changed the Switch Button Configuration from OpenVPN toggle to default (i.e. no effect to anything) - I was able to switch between VPN servers reliable regardless what start openvpn line was present in /etc/init.d/startvpn (BTW: was I correct in changing the right line? which one would be the best to keep?)
  3. I keep the Switch Button Configuration to default for now, until you advise on above and what is the next steps to fix the latter.

Please, advise.