D.28. /etc/sysconfig/network-devices/services/ipv4-static-route


#!/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       :

#

########################################################################



. /etc/sysconfig/rc 

. ${rc_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



if [ -n "${SOURCE}" ]; then

        args="${args} src ${SOURCE}"

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


Host by Alair