]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blame - pkgs/core/network/src/hooks/ipv4-dhcp
network: New package.
[people/amarx/ipfire-3.x.git] / pkgs / core / network / src / hooks / ipv4-dhcp
CommitLineData
02dbf7e7
MT
1#!/bin/sh
2
3. /lib/network/hook-header
4
5HOOK_NAME="ipv4-dhcp"
6HOOK_TYPE="zone"
7
8MESSAGE="DHCP Daemon..."
9EXECUTEABLE="/sbin/dhclient"
10
11case "${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
65HOOK="${HOOK_NAME}"
66HOSTNAME="${HOSTNAME}"
67EOF
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 ;;
82esac
83
84# End $NETWORK_DEVICES/services/ipv4-dhcp