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 Unixetc