summaryrefslogtreecommitdiff
path: root/examples/var_service/dhcpd_if/run
diff options
context:
space:
mode:
authorDenys Vlasenko2016-10-03 23:43:44 +0200
committerDenys Vlasenko2016-10-03 23:43:44 +0200
commit095ddf7669a05b52839ccbfd2c324de718241747 (patch)
tree61fe4384e08985b5a217f9d4456da3e51875f606 /examples/var_service/dhcpd_if/run
parent7f0ebbc69ed14b2f35e8bc62b03612b94e270955 (diff)
downloadbusybox-095ddf7669a05b52839ccbfd2c324de718241747.zip
busybox-095ddf7669a05b52839ccbfd2c324de718241747.tar.gz
examples: add example of a DHCP server
As usual, by multiplying directories - "dhcpd_eth0", "dhcpd_wlan1" you can run many servers on different interfaces. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'examples/var_service/dhcpd_if/run')
-rwxr-xr-xexamples/var_service/dhcpd_if/run23
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/var_service/dhcpd_if/run b/examples/var_service/dhcpd_if/run
new file mode 100755
index 0000000..de85dec
--- /dev/null
+++ b/examples/var_service/dhcpd_if/run
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+exec 2>&1
+exec </dev/null
+
+pwd="$PWD"
+
+if="${PWD##*/dhcpd_}"
+
+echo "* Upping iface $if"
+ip link set dev $if up
+
+>>udhcpd.leases
+sed 's/^interface.*$/interface '"$if/" -i udhcpc.conf
+
+echo "* Starting udhcpd"
+exec \
+env - PATH="$PATH" \
+softlimit \
+setuidgid root \
+udhcpd -f -vv udhcpc.conf
+
+exit $?