]> www.infradead.org Git - users/dwmw2/vpnc-scripts.git/commitdiff
Set MTU on Windows
authorDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 11 Mar 2014 18:44:07 +0000 (11:44 -0700)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 11 Mar 2014 18:44:07 +0000 (11:44 -0700)
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
vpnc-script
vpnc-script-win.js

index 047e94a74e54c5ea052c7cb07ba86c0f6691c458..79cf6e2d3732ccdbd10bd40803f49f69f033afd8 100755 (executable)
@@ -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
 }
 
index 5ec6a73841163b63f0347f422b0dcea26253fa9d..0c28344b7157a5953bc025154a86bf0a095b8a80 100644 (file)
@@ -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 " +