]>
Commit | Line | Data |
---|---|---|
02dbf7e7 MT |
1 | #!/bin/sh |
2 | ||
3 | . /lib/network/hook-header | |
4 | ||
5 | HOOK_NAME="ipv4-dhcp" | |
6 | HOOK_TYPE="zone" | |
7 | ||
8 | MESSAGE="DHCP Daemon..." | |
9 | EXECUTEABLE="/sbin/dhclient" | |
10 | ||
11 | case "${action}" in | |
12 | help) | |
13 | ;; | |
14 | ||
15 | info) | |
16 | echo "HOOK_NAME=$HOOK_NAME" | |
17 | echo "HOOK_TYPE=$HOOK_TYPE" | |
18 | ;; | |
19 | ||
20 | status) | |
21 | check_config zone | |
22 | pidfile="/var/run/dhclient_${zone}.pid" | |
23 | pidofproc -p ${pidfile} ${EXECUTEABLE} &>/dev/null | |
24 | exit $? | |
25 | ;; | |
26 | ||
27 | pre-up) | |
28 | ;; | |
29 | ||
30 | post-up) | |
31 | check_config zone | |
32 | pidfile="/var/run/dhclient_${zone}.pid" | |
33 | if [ -e "${pidfile}" ]; then | |
34 | kill $(<${pidfile}) &>/dev/null | |
35 | sleep 1 | |
36 | fi | |
37 | ${EXECUTEABLE} -pf ${pidfile} ${zone} | |
38 | evaluate_retval start | |
39 | ;; | |
40 | ||
41 | pre-down) | |
42 | check_config zone | |
43 | pidfile="/var/run/dhclient_${zone}.pid" | |
44 | killproc -p ${pidfile} ${EXECUTEABLE} | |
45 | evaluate_retval stop | |
46 | ;; | |
47 | ||
48 | post-down) | |
49 | ;; | |
50 | ||
26bfb541 | 51 | add) |
02dbf7e7 MT |
52 | while [ $# -gt 0 ]; do |
53 | case "$1" in | |
54 | --hostname=*) | |
55 | HOSTNAME=${1#--hostname=} | |
56 | ;; | |
57 | *) | |
58 | echo "Unknown option: $1" >&2 | |
59 | exit 1 | |
60 | ;; | |
61 | esac | |
62 | shift | |
63 | done | |
64 | cat <<EOF >${CONFIG_ZONES}/${zone}/ipv4-dhcp | |
65 | HOOK="${HOOK_NAME}" | |
66 | HOSTNAME="${HOSTNAME}" | |
67 | EOF | |
68 | [ "$?" = "0" ] && exit ${EXIT_OK} || exit ${EXIT_ERROR} | |
69 | ;; | |
26bfb541 MT |
70 | |
71 | rem) | |
72 | ;; | |
8ff69702 MT |
73 | |
74 | discover) | |
75 | exit ${EXIT_ERROR} | |
76 | ;; | |
77 | ||
02dbf7e7 MT |
78 | *) |
79 | echo "Usage: ${0} {config|pre-up|post-up|pre-down|post-down|status} [interface]" | |
80 | exit ${EXIT_ERROR} | |
81 | ;; | |
82 | esac | |
83 | ||
84 | # End $NETWORK_DEVICES/services/ipv4-dhcp |