aboutsummaryrefslogtreecommitdiffstats
path: root/sysconfig/network-scripts/ifdown-routes
blob: 0109404f315d29e75159bb88b608a6a1b9a6e3de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#! /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