D.27. /etc/sysconfig/network-devices/services/ipv4-static



#!/bin/sh


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


# Begin $network_devices/services/ipv4-static


#


# Description : IPV4 Static Boot Script


#


# Authors     : Nathan Coulson - nathan@linuxfromscratch.org


#        Kevin P. Fleming - kpfleming@linuxfromscratch.org


#


# Version     : 00.00


#


# Notes       :


#


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





. /etc/sysconfig/rc 


. ${rc_functions} 


. ${IFCONFIG}





if [ -z "${IP}" ]; then


    boot_mesg "IP variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}


    echo_failure


    exit 1


fi





if [ -z "${PREFIX}" -a -z "${PEER}" ]; then


    boot_mesg -n "PREFIX variable missing from ${IFCONFIG}," ${WARNING}


    boot_mesg " assuming 24."


    echo_warning


    PREFIX=24


    args="${args} ${IP}/${PREFIX}"


elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then


    boot_mesg "PREFIX and PEER both specified in ${IFCONFIG}, cannot continue." ${FAILURE}


    echo_failure


    exit 1


elif [ -n "${PREFIX}" ]; then


    args="${args} ${IP}/${PREFIX}"


elif [ -n "${PEER}" ]; then


    args="${args} ${IP} peer ${PEER}"


fi





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


    args="${args} broadcast ${BROADCAST}"


fi





case "${2}" in


    up)


        boot_mesg "Adding IPv4 address ${IP} to the ${1} interface..."


        ip addr add ${args} dev ${1}


        evaluate_retval


    


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


            if ip route | grep -q default; then


                boot_mesg "Gateway already setup; skipping." ${WARNING}


                echo_warning


            else


                boot_mesg "Setting up default gateway..."


                ip route add default via ${GATEWAY} dev ${1}


                evaluate_retval


             fi


        fi


    ;;


    


    down)


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


            boot_mesg "Removing default gateway..."


            ip route del default


            evaluate_retval


        fi


    


        boot_mesg "Removing IPv4 address ${IP} from the ${1} interface..."


        ip addr del ${args} dev ${1}


        evaluate_retval


    ;;


    


    *)


        echo "Usage: ${0} [interface] {up|down}"


        exit 1


    ;;


esac





# End $network_devices/services/ipv4-static



Host by Unixetc