summaryrefslogtreecommitdiff
path: root/init.d/staticroute.in
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-12-14 19:31:18 +0000
committerRoy Marples <roy@marples.name>2009-12-14 19:31:18 +0000
commita165fbe384ed4851ea42d7fa2d2d74daa0c02f1c (patch)
tree3162c8fff3cd0978e317e0032bb6ff44b797ed06 /init.d/staticroute.in
parent02c12c1caced4c2393e2ca15efdaca56d5f0d452 (diff)
downloadopenrc-a165fbe384ed4851ea42d7fa2d2d74daa0c02f1c.tar.gz
openrc-a165fbe384ed4851ea42d7fa2d2d74daa0c02f1c.tar.bz2
openrc-a165fbe384ed4851ea42d7fa2d2d74daa0c02f1c.tar.xz
Support inet6 routes.
Diffstat (limited to 'init.d/staticroute.in')
-rw-r--r--init.d/staticroute.in11
1 files changed, 9 insertions, 2 deletions
diff --git a/init.d/staticroute.in b/init.d/staticroute.in
index 9f38b56..9995d37 100644
--- a/init.d/staticroute.in
+++ b/init.d/staticroute.in
@@ -50,7 +50,7 @@ dump_args()
do_routes()
{
- local xtra=
+ local xtra= family=
[ "$RC_UNAME" != Linux ] && xtra=-q
ebegin "$1 static routes"
@@ -74,7 +74,14 @@ do_routes()
ip route $2 $args
;;
*)
- route $xtra $2 -$args
+ # Linux route does cannot work it out ...
+ if [ "$RC_UNAME" = Linux ]; then
+ case "$args" in
+ *:*) family="-A inet6";;
+ *) family=;;
+ esac
+ fi
+ route $famly $xtra $2 -$args
;;
esac
veend $?