diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2013-03-18 17:10:58 -0500 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2013-04-06 17:26:10 -0500 |
commit | 1e6cef540789ce8b781eb3037ff7058c1a07c07d (patch) | |
tree | ce43b4782513deea473fc9aa3348c146307dda4f /net/adsl.sh | |
download | netifrc-1e6cef540789ce8b781eb3037ff7058c1a07c07d.tar.gz netifrc-1e6cef540789ce8b781eb3037ff7058c1a07c07d.tar.bz2 netifrc-1e6cef540789ce8b781eb3037ff7058c1a07c07d.zip |
initial commit ported from OpenRc
Diffstat (limited to 'net/adsl.sh')
-rw-r--r-- | net/adsl.sh | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/net/adsl.sh b/net/adsl.sh new file mode 100644 index 0000000..744ebc2 --- /dev/null +++ b/net/adsl.sh @@ -0,0 +1,74 @@ +# Copyright (c) 2004-2007 Gentoo Foundation +# Copyright (c) 2007-2008 Roy Marples <roy@marples.name> +# Released under the 2-clause BSD license. + +adsl_depend() +{ + program /usr/sbin/adsl-start /usr/sbin/pppoe-start + before dhcp +} + +adsl_setup_vars() +{ + local startstop="$1" cfgexe= + + if [ -x /usr/sbin/pppoe-start ]; then + exe="/usr/sbin/pppoe-${startstop}" + cfgexe=pppoe-setup + else + exe="/usr/sbin/adsl-${startstop}" + cfgexe=adsl-setup + fi + + # Decide which configuration to use. Hopefully there is an + # interface-specific one + cfgfile="/etc/ppp/pppoe-${IFACE}.conf" + [ -f "${cfgfile}" ] || cfgfile="/etc/ppp/pppoe.conf" + + if [ ! -f "${cfgfile}" ]; then + eerror "no pppoe.conf file found!" + eerror "Please run ${cfgexe} to create one" + return 1 + fi + + return 0 +} + +adsl_start() +{ + local exe= cfgfile= user= + + adsl_setup_vars start || return 1 + + # Might or might not be set in conf.d/net + eval user=\$adsl_user_${IFVAR} + + # Start ADSL with the cfgfile, but override ETH and PIDFILE + einfo "Starting ADSL for ${IFACE}" + ( + cat "${cfgfile}"; + echo "ETH=${IFACE}"; + echo "PIDFILE=/var/run/rp-pppoe-${IFACE}.pid"; + [ -n "${user}" ] && echo "USER=${user}"; + ) | ${exe} >/dev/null + eend $? +} + +adsl_stop() +{ + local exe= cfgfile= + + [ ! -f /var/run/rp-pppoe-"${IFACE}".pid ] && return 0 + + adsl_setup_vars stop || return 1 + + einfo "Stopping ADSL for ${IFACE}" + ( + cat "${cfgfile}"; + echo "ETH=${IFACE}"; + echo "PIDFILE=/var/run/rp-pppoe-${IFACE}.pid"; + ) | ${exe} >/dev/null + eend $? + + return 0 +} |