From df88860947686a5e6507fc5d60ff33eac1158c6b Mon Sep 17 00:00:00 2001 From: davidovski Date: Tue, 29 Mar 2022 23:36:22 +0100 Subject: using sysvinit system bootscripts --- xi/lib/services/ipv4-static-route | 98 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 xi/lib/services/ipv4-static-route (limited to 'xi/lib/services/ipv4-static-route') diff --git a/xi/lib/services/ipv4-static-route b/xi/lib/services/ipv4-static-route new file mode 100755 index 0000000..4db3a5d --- /dev/null +++ b/xi/lib/services/ipv4-static-route @@ -0,0 +1,98 @@ +#!/bin/sh +######################################################################## +# Begin /lib/services/ipv4-static-route +# +# Description : IPV4 Static Route Script +# +# Authors : Kevin P. Fleming - kpfleming@linuxfromscratch.org +# DJ Lucas - dj@linuxfromscratch.org +# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org +# +# Version : LFS 7.0 +# +######################################################################## + +. /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 " + ;; + + (*) + log_failure_msg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue." + exit 1 + ;; +esac + +if [ -n "${GATEWAY}" ]; then + MSG="The GATEWAY variable cannot be set in ${IFCONFIG} for static routes.\n" + log_failure_msg "$MSG Use STATIC_GATEWAY only, cannot continue" + exit 1 +fi + +if [ -n "${need_ip}" ]; then + if [ -z "${IP}" ]; then + log_failure_msg "IP variable missing from ${IFCONFIG}, cannot continue." + exit 1 + fi + + if [ -z "${PREFIX}" ]; then + log_failure_msg "PREFIX variable missing from ${IFCONFIG}, cannot continue." + exit 1 + fi + + args="${args} ${IP}/${PREFIX}" + desc="${desc}${IP}/${PREFIX}" +fi + +if [ -n "${need_gateway}" ]; then + if [ -z "${STATIC_GATEWAY}" ]; then + log_failure_msg "STATIC_GATEWAY variable missing from ${IFCONFIG}, cannot continue." + exit 1 + fi + args="${args} via ${STATIC_GATEWAY}" +fi + +if [ -n "${SOURCE}" ]; then + args="${args} src ${SOURCE}" +fi + +case "${2}" in + up) + log_info_msg "Adding '${desc}' route to the ${1} interface..." + ip route add ${args} dev ${1} + evaluate_retval + ;; + + down) + log_info_msg "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 /lib/services/ipv4-static-route -- cgit v1.2.1