diff options
| -rw-r--r-- | init.d/Makefile | 4 | ||||
| -rw-r--r-- | init.d/loopback.in | 35 | ||||
| -rw-r--r-- | init.d/network.in | 13 | ||||
| -rw-r--r-- | runlevels/Makefile | 2 | 
4 files changed, 42 insertions, 12 deletions
| diff --git a/init.d/Makefile b/init.d/Makefile index 04e09a70..e7e2d861 100644 --- a/init.d/Makefile +++ b/init.d/Makefile @@ -1,6 +1,6 @@  DIR=	${INITDIR} -SRCS=	bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \ -	root.in savecache.in swap.in swapfiles.in \ +SRCS=	bootmisc.in fsck.in hostname.in local.in localmount.in loopback.in \ +	netmount.in root.in savecache.in swap.in swapfiles.in \  	tmpfiles.setup.in swclock.in sysctl.in urandom.in ${SRCS-${OS}}  BIN=	${OBJS} diff --git a/init.d/loopback.in b/init.d/loopback.in new file mode 100644 index 00000000..e5cc118b --- /dev/null +++ b/init.d/loopback.in @@ -0,0 +1,35 @@ +#!@SBINDIR@/runscript +# Copyright (c) 2013 William Hubbs <w.d.hubbs@gmail.com> +# Released under the 2-clause BSD license. + +description="Configures the loopback interface." + +depend() +{ +	return 0 +} + +start() +{ +	if [ "$RC_UNAME" = Linux ]; then +		ebegin "Bringing up network interface lo" +		if type ip > /dev/null 2>&1; then +			ip addr add 127.0.0.1/8 dev lo brd + scope host +			ip route add 127.0.0.0/8 dev lo scope host +			ip link set lo up +		else +			ifconfig lo 127.0.0.1 netmask 255.0.0.0 +			route add -net 127.0.0.0 netmask 255.0.0.0 gw 127.0.0.1 +		fi +	else +		ebegin "Bringing up network interface lo0" +		ifconfig lo0 127.0.0.1 netmask 255.0.0.0 +		route -q add -inet 127.0.0.0 -netmask 255.0.0.0 127.0.0.1 +	fi +	eend $? +} + +stop() +{ +	return 0 +} diff --git a/init.d/network.in b/init.d/network.in index 898b0a8e..5a87a841 100644 --- a/init.d/network.in +++ b/init.d/network.in @@ -223,15 +223,6 @@ start()  	einfo "Starting network"  	routeflush -	if [ "$RC_UNAME" = "Linux" ]; then -		ifconfig lo 127.0.0.1 netmask 255.0.0.0 || cr=1 -		route add -net 127.0.0.0 netmask 255.0.0.0 \ -			gw 127.0.0.1 reject 2>/dev/null -	else -		ifconfig lo0 127.0.0.1 netmask 255.0.0.0 || cr=1 -		route -q add -inet 127.0.0.0 -netmask 255.0.0.0 \ -			127.0.0.1 -reject || cr=1 -	fi  	eindent  	for int in $(interfaces); do  		local func= cf= @@ -330,6 +321,10 @@ stop()  	routeflush  	eindent  	for int in $(reverse $(interfaces u)); do +		case "$int" in +			lo|lo0) continue ;; +			*) ;; +		esac  		intv=$(shell_var "$int")  		eval downcmd=\$ifdown_$intv  		eval cmd=\$ip_$intv diff --git a/runlevels/Makefile b/runlevels/Makefile index 7bcf29fe..6eb84ca8 100644 --- a/runlevels/Makefile +++ b/runlevels/Makefile @@ -1,4 +1,4 @@ -BOOT=		bootmisc fsck hostname localmount \ +BOOT=		bootmisc fsck hostname localmount loopback \  		root swap swapfiles sysctl urandom ${BOOT-${OS}}  DEFAULT=	local netmount  SHUTDOWN=	savecache ${SHUTDOWN-${OS}} | 
