import networking.initd from alpine
This commit is contained in:
parent
24bfcc1737
commit
3b7181cf28
1 changed files with 73 additions and 0 deletions
73
dist/openrc/networking.initd
vendored
Normal file
73
dist/openrc/networking.initd
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
# note that the spoofprotect, syncoockies and ip_forward options are set in
|
||||
# /etc/sysctl.conf
|
||||
|
||||
: ${cfgfile:="/etc/network/interfaces"}
|
||||
ifstate=/run/ifstate
|
||||
|
||||
single_iface="${RC_SVCNAME#*.}"
|
||||
if [ "$single_iface" = "$RC_SVCNAME" ]; then
|
||||
single_iface=
|
||||
fi
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
want dev-settle
|
||||
after bootmisc hwdrivers modules
|
||||
provide net
|
||||
keyword -jail -prefix -vserver -docker
|
||||
}
|
||||
|
||||
# find interfaces we want to start
|
||||
find_ifaces() {
|
||||
if [ -n "$single_iface" ]; then
|
||||
echo $single_iface
|
||||
else
|
||||
awk '$1 == "auto" {for (i = 2; i <= NF; i = i + 1) printf("%s ", $i)}' "$cfgfile"
|
||||
fi
|
||||
}
|
||||
|
||||
# return the list of interfaces we should try stop
|
||||
find_running_ifaces() {
|
||||
if [ -n "$single_iface" ]; then
|
||||
echo $single_iface
|
||||
else
|
||||
awk -F= '{print $2}' $ifstate
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
local iface= ret=1
|
||||
ebegin "Starting networking"
|
||||
eindent
|
||||
for iface in $(find_ifaces); do
|
||||
local r=0
|
||||
ebegin "$iface"
|
||||
if ! ifup -i "$cfgfile" $iface >/dev/null; then
|
||||
ifdown -i "$cfgfile" $iface >/dev/null 2>&1
|
||||
r=1
|
||||
fi
|
||||
# atleast one interface needs to be started for action
|
||||
# to be success
|
||||
eend $r && ret=0
|
||||
done
|
||||
eoutdent
|
||||
return $ret
|
||||
}
|
||||
|
||||
stop() {
|
||||
local iface=
|
||||
# Don't stop the network at shutdown.
|
||||
yesno ${keep_network:-YES} && yesno $RC_GOINGDOWN && return 0
|
||||
|
||||
ebegin "Stopping networking"
|
||||
eindent
|
||||
for iface in $(find_running_ifaces); do
|
||||
ebegin "$iface"
|
||||
ifdown -i "$cfgfile" -f $iface >/dev/null
|
||||
eend $?
|
||||
done
|
||||
eoutdent
|
||||
return 0
|
||||
}
|
Loading…
Reference in a new issue