packages/net/isc-dhcp/files/dhcrelay4.init
Philip Prindeville ac531a9c54 isc-dhcp: bump version to latest and fix build issues
Version bumped to 4.3.5.  Separated out compile/install steps since
compiling with $DESTDIR yields bogus results. Removed rfc-3527 patch
as something similar (better) is now upstream (well, more complete
error checking anyway). Change relay scripts from '-l ifname' to
'-U ifname' to correspond to upstream changes.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2017-01-06 15:52:28 -07:00

53 lines
1.1 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2012 OpenWrt.org
START=91
SERVICE_SIG="KILL"
SERVICE_PID_FILE="/var/run/dhcrelay4.pid"
SERVICE_USE_PID=1
start() {
. /lib/functions/network.sh
config_load dhcrelay
local args=""
local enabled
config_get_bool enabled ipv4 enabled 0
[ "$enabled" -eq 0 ] && return 0
# listen interfaces
local interfaces
local ifname
config_get interfaces ipv4 interfaces
for net in $interfaces; do
if network_get_device ifname "$net"; then
append args "-i $ifname"
fi
done
# link selection sub-option (RFC3527)
local link_selection
config_get link_selection ipv4 link_selection
if network_get_device ifname "$link_selection"; then
append args "-U $ifname"
fi
# relay mode
local relay_mode
config_get relay_mode ipv4 relay_mode
[ -n "$relay_mode" ] && append args "-m $relay_mode"
# dhcp server address
local server
config_get server ipv4 dhcpserver
[ -n "$server" ] || return 0
append args "$server"
service_start /usr/sbin/dhcrelay -4 -q \
-pf $SERVICE_PID_FILE $args
}
stop() {
service_stop /usr/sbin/dhcrelay
}