svc/conntrack.in: Update NetworkManager protocol handling.
[tripe] / svc / tripe-ifup.in
index 8ca0c99..79f5d46 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,16 +97,35 @@ 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.
 
 ## Split the routes into v4 and v6 lists.
@@ -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,31 +152,12 @@ 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.
 
 case "${P_IFUPEXTRA+set}" in