aboutsummaryrefslogtreecommitdiffstats
path: root/network-scripts/ifdown-routes
blob: 1d1549dc0c9583a481f69d0d805e82dbed628db6 (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
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