From: David Woodhouse Date: Tue, 11 Mar 2014 18:44:07 +0000 (-0700) Subject: Set MTU on Windows X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4aac2d3536dc3034f4fd8f4124d870dcc8e512ce;p=users%2Fdwmw2%2Fvpnc-scripts.git Set MTU on Windows Signed-off-by: David Woodhouse --- diff --git a/vpnc-script b/vpnc-script index 047e94a..79cf6e2 100755 --- a/vpnc-script +++ b/vpnc-script @@ -722,6 +722,31 @@ do_disconnect() { if [ -n "$INTERNAL_IP4_DNS" ]; then $RESTORERESOLVCONF fi + + + if [ -n "$IPROUTE" ]; then + if [ -n "$INTERNAL_IP4_ADDRESS" ]; then + $IPROUTE addr del "$INTERNAL_IP4_ADDRESS/255.255.255.255" peer "$INTERNAL_IP4_ADDRESS" dev "$TUNDEV" + fi + # If the netmask is provided, it contains the address _and_ netmask + if [ -n "$INTERNAL_IP6_ADDRESS" ] && [ -z "$INTERNAL_IP6_NETMASK" ]; then + INTERNAL_IP6_NETMASK="$INTERNAL_IP6_ADDRESS/128" + fi + if [ -n "$INTERNAL_IP6_NETMASK" ]; then + $IPROUTE -6 addr del $INTERNAL_IP6_NETMASK dev $TUNDEV + fi + else + if [ -n "$INTERNAL_IP4_ADDRESS" ]; then + ifconfig "$TUNDEV" 0.0.0.0 + fi + if [ -n "$INTERNAL_IP6_ADDRESS" ] && [ -z "$INTERNAL_IP6_NETMASK" ]; then + INTERNAL_IP6_NETMASK="$INTERNAL_IP6_ADDRESS/128" + fi + if [ -n "$INTERNAL_IP6_NETMASK" ]; then + ifconfig "$TUNDEV" inet6 del $INTERNAL_IP6_NETMASK + fi + fi + destroy_tun_device } diff --git a/vpnc-script-win.js b/vpnc-script-win.js index 5ec6a73..0c28344 100644 --- a/vpnc-script-win.js +++ b/vpnc-script-win.js @@ -47,6 +47,15 @@ case "connect": if (env("INTERNAL_IP4_NETMASK")) { internal_ip4_netmask = env("INTERNAL_IP4_NETMASK"); } + if (env("INTERNAL_IP4_MTU")) { + echo("MTU: " + env("INTERNAL_IP4_MTU")); + run("netsh interface ipv4 set subinterface \"" + env("TUNDEV") + + "\" mtu=" + env("INTERNAL_IP4_MTU") + " store=active"); + if (env("INTERNAL_IP6_ADDRESS")) { + run("netsh interface ipv6 set subinterface \"" + env("TUNDEV") + + "\" mtu=" + env("INTERNAL_IP4_MTU") + " store=active"); + } + } echo("Configuring \"" + env("TUNDEV") + "\" interface for Legacy IP..."); run("netsh interface ip set address \"" + env("TUNDEV") + "\" static " +