chiark / gitweb /
Use the new `mLib' annotations on varargs functions.
[tripe] / svc / tripe-ifup.in
index 8ca0c99c703e47cc6f6dec9c960caf28fd0b2d8a..059c250b14f9a4f93c69a4a2e643992122c97dbb 100644 (file)
@@ -101,11 +101,30 @@ case $have6,$# in
       haveaddr6=t
     done
     case ${r6addr+set} in
-      set) ip route add $r6addr/128 dev "$ifname" ;;
+      set) ip route add $r6addr/128 proto static dev "$ifname" ;;
     esac
     ;;
 esac
 
+###--------------------------------------------------------------------------
+### Bring the interface up.
+
+case $haveaddr4,$haveaddr6 in
+  nil,nil)
+    ;;
+  *)
+    case "${P_MTU+set}" in
+      set)
+       mtu=$P_MTU;;
+      *)
+       pathmtu=$(pathmtu "$addr")
+       mtu=$(expr "$pathmtu" - 33 - $A_CIPHER_BLKSZ - $A_MAC_TAGSZ)
+       ;;
+    esac
+    ip link set dev "$ifname" up mtu "$mtu"
+    ;;
+esac
+
 ###--------------------------------------------------------------------------
 ### Set up routing.
 
@@ -123,7 +142,7 @@ set -- $route4
 case $haveaddr4,$# in
   t,[1-9]*)
     for p in "$@"; do
-      ip route add $p via "$r4addr"
+      ip route add $p proto static via "$r4addr"
     done
     ;;
 esac
@@ -133,30 +152,11 @@ set -- $route6
 case $haveaddr6,$# in
   t,[1-9]*)
     for p in "$@"; do
-      ip route add $p via "$r6addr"
+      ip route add $p proto static via "$r6addr"
     done
     ;;
 esac
 
-###--------------------------------------------------------------------------
-### Bring the interface up.
-
-case $haveaddr4,$haveaddr6 in
-  nil,nil)
-    ;;
-  *)
-    case "${P_MTU+set}" in
-      set)
-       mtu=$P_MTU;;
-      *)
-       pathmtu=$(pathmtu "$addr")
-       mtu=$(expr "$pathmtu" - 33 - $A_CIPHER_BLKSZ - $A_MAC_TAGSZ)
-       ;;
-    esac
-    ip link set dev "$ifname" up mtu "$mtu"
-    ;;
-esac
-
 ###--------------------------------------------------------------------------
 ### Maybe invoke a follow-on script.