diff options
Diffstat (limited to 'bootscripts/contrib/lsb-v3/sysconfig/network-devices/services/ipv4-static-route')
-rw-r--r-- | bootscripts/contrib/lsb-v3/sysconfig/network-devices/services/ipv4-static-route | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/bootscripts/contrib/lsb-v3/sysconfig/network-devices/services/ipv4-static-route b/bootscripts/contrib/lsb-v3/sysconfig/network-devices/services/ipv4-static-route new file mode 100644 index 000000000..4205a022d --- /dev/null +++ b/bootscripts/contrib/lsb-v3/sysconfig/network-devices/services/ipv4-static-route @@ -0,0 +1,92 @@ +#!/bin/sh +######################################################################## +# Begin $NETWORK_DEVICES/services/ipv4-static-route +# +# Description : IPV4 Static Route Script +# +# Authors : Kevin P. Fleming - kpfleming@linuxfromscratch.org +# +# Version : 00.00 +# +# Notes : +# +######################################################################## + +. /lib/lsb/init-functions +. ${IFCONFIG} + +case "${TYPE}" in + ("" | "network") + need_ip=1 + need_gateway=1 + ;; + + ("default") + need_gateway=1 + args="${args} default" + desc="default" + ;; + + ("host") + need_ip=1 + ;; + + ("unreachable") + need_ip=1 + args="${args} unreachable" + desc="unreachable " + ;; + + (*) + boot_mesg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue." ${FAILURE} + echo_failure + exit 1 + ;; +esac + +if [ -n "${need_ip}" ]; then + if [ -z "${IP}" ]; then + boot_mesg "IP variable missing from ${IFCONFIG}, cannot continue." ${FAILURE} + echo_failure + exit 1 + fi + + if [ -z "${PREFIX}" ]; then + boot_mesg "PREFIX variable missing from ${IFCONFIG}, cannot continue." ${FAILURE} + echo_failure + exit 1 + fi + + args="${args} ${IP}/${PREFIX}" + desc="${desc}${IP}/${PREFIX}" +fi + +if [ -n "${need_gateway}" ]; then + if [ -z "${GATEWAY}" ]; then + boot_mesg "GATEWAY variable missing from ${IFCONFIG}, cannot continue." ${FAILURE} + echo_failure + exit 1 + fi + args="${args} via ${GATEWAY}" +fi + +case "${2}" in + up) + boot_mesg "Adding '${desc}' route to the ${1} interface..." + ip route add ${args} dev ${1} + evaluate_retval + ;; + + down) + boot_mesg "Removing '${desc}' route from the ${1} interface..." + ip route del ${args} dev ${1} + evaluate_retval + ;; + + *) + echo "Usage: ${0} [interface] {up|down}" + exit 1 + ;; +esac + +# End $NETWORK_DEVICES/services/ipv4-static-route |