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

#!/bin/sh
########################################################################
# Begin /lib/boot/ipv4-static
#
# Description : IPV4 Static Boot Script
#
# Authors     : Nathan Coulson - nathan@linuxfromscratch.org
#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
# Version     : LFS 7.0
#
########################################################################

. /lib/boot/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 /lib/boot/ipv4-static