Blame network-scripts/ifdown-routes
|
Packit Service |
18eaa3 |
#! /bin/bash
|
|
Packit Service |
18eaa3 |
#
|
|
Packit Service |
18eaa3 |
# Drops static routes which go through device $1
|
|
Packit Service |
18eaa3 |
|
|
Packit Service |
18eaa3 |
if [ -z "$1" ]; then
|
|
Packit Service |
18eaa3 |
echo $"usage: ifdown-routes <net-device> [<nickname>]"
|
|
Packit Service |
18eaa3 |
exit 1
|
|
Packit Service |
18eaa3 |
fi
|
|
Packit Service |
18eaa3 |
|
|
Packit Service |
18eaa3 |
# The routes are actually dropped just by setting the link down, so nothing
|
|
Packit Service |
18eaa3 |
# needs to be done
|
|
Packit Service |
18eaa3 |
|
|
Packit Service |
18eaa3 |
MATCH='^[[:space:]]*(\#.*)?$'
|
|
Packit Service |
18eaa3 |
|
|
Packit Service |
18eaa3 |
# Routing rules
|
|
Packit Service |
18eaa3 |
FILES="/etc/sysconfig/network-scripts/rule-$1 /etc/sysconfig/network-scripts/rule6-$1"
|
|
Packit Service |
18eaa3 |
if [ -n "$2" -a "$2" != "$1" ]; then
|
|
Packit Service |
18eaa3 |
FILES="$FILES /etc/sysconfig/network-scripts/rule-$2 /etc/sysconfig/network-scripts/rule6-$2"
|
|
Packit Service |
18eaa3 |
fi
|
|
Packit Service |
18eaa3 |
|
|
Packit Service |
18eaa3 |
for file in $FILES; do
|
|
Packit Service |
18eaa3 |
if [ -f "$file" ]; then
|
|
Packit Service |
18eaa3 |
proto=
|
|
Packit Service |
18eaa3 |
if [ "$file" != "${file##*/rule6-}" ]; then
|
|
Packit Service |
18eaa3 |
proto="-6"
|
|
Packit Service |
18eaa3 |
fi
|
|
Packit Service |
18eaa3 |
{ cat "$file" ; echo ; } | while read line; do
|
|
Packit Service |
18eaa3 |
if [[ ! "$line" =~ $MATCH ]]; then
|
|
Packit Service |
18eaa3 |
/sbin/ip $proto rule del $line
|
|
Packit Service |
18eaa3 |
fi
|
|
Packit Service |
18eaa3 |
done
|
|
Packit Service |
18eaa3 |
fi
|
|
Packit Service |
18eaa3 |
done
|