chiark / gitweb /
Merge branch '1.0.0pre19.x'
[tripe] / svc / tripe-ifup.in
index e9e9cb9..63b5b2d 100644 (file)
@@ -124,9 +124,6 @@ case $have6,$# in
       try ip addr add "$a" dev "$ifname"
       haveaddr6=t
     done
-    case ${r6addr+set} in
-      set) try ip route add $r6addr proto static dev "$ifname" ;;
-    esac
     ;;
 esac
 
@@ -150,6 +147,18 @@ case $haveaddr4,$haveaddr6 in
 esac
 
 ###--------------------------------------------------------------------------
+### Set the peer IPv6 address if any.
+
+## IPv6 point-to-point links seem broken in Linux.  Attach the local and
+## remote addresses by hand.
+set -- $l6addr
+case $have6,$#,${r6addr+set} in
+  t,[1-9]*,set)
+    try ip route add $r6addr proto static dev "$ifname"
+    ;;
+esac
+
+###--------------------------------------------------------------------------
 ### Set up routing.
 
 ## Split the routes into v4 and v6 lists.