Blame network-scripts/ifdown-routes

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