chiark / gitweb /
mon/tripemon.in: Support the new-style bindings for Gtk and friends.
[tripe] / svc / tripe-ifup.in
index 8ca0c99c703e47cc6f6dec9c960caf28fd0b2d8a..79f5d46984c903a036f9c5c089c5bf0163522419 100644 (file)
@@ -53,7 +53,7 @@ case "${P_IFNAME+set}" in
 esac
 
 ###--------------------------------------------------------------------------
-### Configure the point-to-point link.
+### Configure the link.
 
 ## Split local addresses into v4 and v6 lists.
 unset l4addr l6addr
@@ -86,7 +86,7 @@ case $#,${r4addr+set} in
     ;;
 esac
 for a in "$@"; do
-  ip addr add "$a/32" dev "$ifname"
+  ip addr add "$a" dev "$ifname"
   haveaddr4=t
 done
 
@@ -97,15 +97,34 @@ set -- $l6addr
 case $have6,$# in
   t,[1-9]*)
     for a in "$@"; do
-      ip addr add "$a/128" dev "$ifname"
+      ip addr add "$a" dev "$ifname"
       haveaddr6=t
     done
     case ${r6addr+set} in
-      set) ip route add $r6addr/128 dev "$ifname" ;;
+      set) ip route add $r6addr 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" - 29 - $A_BULK_OVERHEAD)
+       ;;
+    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.