aboutsummaryrefslogtreecommitdiffstats
path: root/network-scripts/ifdown-routes
diff options
context:
space:
mode:
authorDavid Kaspar [Dee'Kej] <dkaspar@redhat.com>2018-05-25 20:01:54 +0200
committerDee'Kej <deekej@linuxmail.org>2018-05-30 12:32:22 +0200
commita145ddda284570e57413e37f025c3657205e17d8 (patch)
treea371338da02e38d8745964f75239c8ee62cc459b /network-scripts/ifdown-routes
parentdb1ca2fadd20d0a4fb5a0fe18adcd8c960db9cf3 (diff)
downloadinitscripts-a145ddda284570e57413e37f025c3657205e17d8.tar
initscripts-a145ddda284570e57413e37f025c3657205e17d8.tar.gz
initscripts-a145ddda284570e57413e37f025c3657205e17d8.tar.bz2
initscripts-a145ddda284570e57413e37f025c3657205e17d8.tar.xz
initscripts-a145ddda284570e57413e37f025c3657205e17d8.zip
Repository scheme updated to new layout
NOTE: This commit just moves files around, without actually fixing the Makefiles and specfile. See follow up commits which resolve this.
Diffstat (limited to 'network-scripts/ifdown-routes')
-rwxr-xr-xnetwork-scripts/ifdown-routes33
1 files changed, 33 insertions, 0 deletions
diff --git a/network-scripts/ifdown-routes b/network-scripts/ifdown-routes
new file mode 100755
index 00000000..1d1549dc
--- /dev/null
+++ b/network-scripts/ifdown-routes
@@ -0,0 +1,33 @@
+#! /bin/bash
+#
+# Drops static routes which go through device $1
+
+if [ -z "$1" ]; then
+ echo $"usage: ifdown-routes <net-device> [<nickname>]"
+ exit 1
+fi
+
+# The routes are actually dropped just by setting the link down, so nothing
+# needs to be done
+
+MATCH='^[[:space:]]*(\#.*)?$'
+
+# Routing rules
+FILES="/etc/sysconfig/network-scripts/rule-$1 /etc/sysconfig/network-scripts/rule6-$1"
+if [ -n "$2" -a "$2" != "$1" ]; then
+ FILES="$FILES /etc/sysconfig/network-scripts/rule-$2 /etc/sysconfig/network-scripts/rule6-$2"
+fi
+
+for file in $FILES; do
+ if [ -f "$file" ]; then
+ proto=
+ if [ "$file" != "${file##*/rule6-}" ]; then
+ proto="-6"
+ fi
+ { cat "$file" ; echo ; } | while read line; do
+ if [[ ! "$line" =~ $MATCH ]]; then
+ /sbin/ip $proto rule del $line
+ fi
+ done
+ fi
+done