5 # Adds static routes which go through device $DEVICE
6 # Called from ifup-post.
8 if [ ! -f /etc/sysconfig/static-routes -a ! -f /etc/sysconfig/static-routes6 ]; then
12 # note the trailing white space character in the grep gets rid of aliases
13 grep -E "^($DEVICE|any)[[:blank:]]" /etc/sysconfig/static-routes | while read device args; do
14 if [[ "$args" = *:* ]]; then
15 if is_no "$IPV6_NETWORKING"; then
19 if is_no "$IPV4_NETWORKING"; then
23 /sbin/ip route add $args dev $REALDEVICE
26 if ! is_no "$IPV6_NETWORKING"; then
27 grep -E "^($DEVICE|any)[[:blank:]]" /etc/sysconfig/static-routes6 | while read device args; do
28 /sbin/ip -6 route add $args dev $REALDEVICE
32 # based on information from http://avahi.org/wiki/AvahiAutoipd#Routes
33 if is_yes "$ZEROCONF" && ! /sbin/ip link show dev $REALDEVICE | grep -q POINTOPOINT ; then
34 # metric based on device ifindex, so the same route may be added to
35 # multiple devices. Big, so it won't conflict with anything else.
36 if [ -f /sys/class/net/$REALDEVICE/ifindex ] ; then
37 metric="$(cat /sys/class/net/$REALDEVICE/ifindex)"
38 metric=$(($metric + 1000))
43 # default route in default table, so it won't override default
44 # route set by other means
45 /sbin/ip route add default metric $metric dev $REALDEVICE table default
47 # add 169.254.0.0/16 route if not already present on the device
48 current=$(/sbin/ip route show 169.254.0.0/16 dev $REALDEVICE)
49 if [ -z "$current" ] ; then
50 /sbin/ip route add 169.254.0.0/16 metric $metric dev $REALDEVICE