summaryrefslogtreecommitdiff
blob: 60c57399e6bbf20ef0b401b6e9d0eee85b61b8af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
# Copyright (c) 2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

# Contributed by Roy Marples (uberlord@gentoo.org)

. "${svclib}/sh/rc-services.sh"
. "${svclib}/net.modules.d/helpers.d/functions"
conf=$(add_suffix "/etc/conf.d/net")
[[ -e ${conf} ]] && source "${conf}"

service="net.${interface}"

if [[ ${action} != "up" ]]; then
	if service_starting "${service}" || service_started "${service}" ; then
		mark_service_inactive "${service}"
	fi
	remove_state "${interface}" false
else
	! service_stopping "${service}" && mark_service_started "${service}"
fi

if [[ ${RC_AUTO_INTERFACE} == "yes" ]]; then
	best_interface=$( select_best_interface )
	apply_state "${best_interface}"
elif [[ ${action} == "up" ]]; then
	apply_state "${interface}"
fi

# vim:ts=4