53 lines
1.2 KiB
Bash
53 lines
1.2 KiB
Bash
# Copyright (c) 2004-2006 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# Contributed by Sven Wegener (swegener@gentoo.org)
|
|
|
|
# void autoipd_depend(void)
|
|
#
|
|
# Sets up the dependencies for the module
|
|
autoipd_depend() {
|
|
after interface
|
|
}
|
|
|
|
# void autoipd_expose(void)
|
|
#
|
|
# Expose variables that can be configured
|
|
autoipd_expose() {
|
|
variables autoipd
|
|
}
|
|
|
|
# bool autoipd_start(char *iface)
|
|
#
|
|
# Tries to configure the interface via avahi-autoipd
|
|
autoipd_start() {
|
|
local iface="${1}" ifvar="$(bash_variable "${iface}")" opts="autoipd_${ifvar}" addr=""
|
|
|
|
interface_exists "${iface}" true || return 1
|
|
|
|
ebegin "Starting avahi-autoipd"
|
|
if /usr/sbin/avahi-autoipd --daemonize --syslog --wait ${!opts} "${iface}"
|
|
then
|
|
eend 0
|
|
addr="$(interface_get_address "${iface}")"
|
|
einfo "${iface} received address ${addr}"
|
|
return 0
|
|
fi
|
|
|
|
eend "${?}" "Failed to get address via avahi-autoipd!"
|
|
}
|
|
|
|
# bool autoipd_stop(char *iface)
|
|
#
|
|
# Stops a running avahi-autoipd instance
|
|
autoipd_stop() {
|
|
local iface="${1}"
|
|
|
|
/usr/sbin/avahi-autoipd --check --syslog "${iface}" || return 0
|
|
|
|
ebegin "Stopping avahi-autoipd"
|
|
/usr/sbin/avahi-autoipd --kill --syslog "${iface}"
|
|
eend "${?}" "Failed to stop running avahi-autoipd instance!"
|
|
}
|
|
|
|
# vim: set ts=4 :
|