Annotation of /trunk/mkinitrd-magellan/busybox/examples/var_service/dhcp_if/dhcp_handler
Parent Directory | Revision Log
Revision 984 -
(hide annotations)
(download)
Sun May 30 11:32:42 2010 UTC (14 years ago) by niro
File size: 2233 byte(s)
Sun May 30 11:32:42 2010 UTC (14 years ago) by niro
File size: 2233 byte(s)
-updated to busybox-1.16.1 and enabled blkid/uuid support in default config
1 | niro | 984 | #!/bin/sh |
2 | # executed by udhcpc | ||
3 | # parameters: $1 and environment | ||
4 | # $1 is: | ||
5 | # | ||
6 | # deconfig: udhcpc starts, or lease is lost. | ||
7 | # Environment example: interface=eth0 | ||
8 | # | ||
9 | # bound: lease is obtained. Environment example: | ||
10 | # dhcptype=5 | ||
11 | # serverid=172.16.42.102 | ||
12 | # lease=97200 | ||
13 | # interface=eth0 | ||
14 | # ip=172.16.42.177 | ||
15 | # subnet=255.255.255.0 | ||
16 | # mask=24 | ||
17 | # broadcast=172.16.22.255 | ||
18 | # router=172.16.42.98 | ||
19 | # dns=10.34.32.125 10.32.63.5 10.34.255.7 10.11.255.27 | ||
20 | # domain=lab.example.com example.com | ||
21 | # ntpsrv=10.34.32.125 10.34.255.7 | ||
22 | # | ||
23 | # renew: lease is renewed. Environment is similar to "bound". | ||
24 | # The IP address does not change, however, the other DHCP paramaters, | ||
25 | # such as the default gateway, subnet mask, and dns server may change. | ||
26 | # | ||
27 | # nak: udhcpc received a NAK message. | ||
28 | # Environment example: interface=eth0 | ||
29 | # | ||
30 | # leasefail: udhcpc cannot obtain a lease (DHCP server not responding, etc). | ||
31 | # Environment example: interface=eth0 | ||
32 | |||
33 | # TODO: put $domain into /etc/resolv.conf (thru /var/service/fw) | ||
34 | |||
35 | service=${PWD##*/} | ||
36 | file_ipconf="$service.ipconf" | ||
37 | file_ntpconf="$service.ntpconf" | ||
38 | dir_ipconf="/var/run/service/fw" | ||
39 | dir_ntpconf="/var/run/service/ntp" | ||
40 | |||
41 | exec >/dev/null | ||
42 | #exec >>"$0.out" #debug | ||
43 | exec 2>&1 | ||
44 | |||
45 | echo "`date`: Params: $*" | ||
46 | |||
47 | if test x"$1" != x"bound" && test x"$1" != x"renew" ; then | ||
48 | # Reconfigure network with this interface disabled | ||
49 | echo "Deconfiguring" | ||
50 | rm "$service.out" | ||
51 | rm "$file_ipconf" | ||
52 | rm "$file_ntpconf" | ||
53 | rm "$dir_ipconf/$file_ipconf" | ||
54 | rm "$dir_ntpconf/$file_ntpconf" | ||
55 | sv u /var/service/fw | ||
56 | exit | ||
57 | fi | ||
58 | |||
59 | # Bound: we've got the lease | ||
60 | #env >"$service.out" # debug | ||
61 | |||
62 | ./convert2ipconf "$file_ipconf" | ||
63 | # Reconfigure routing and firewall if needed | ||
64 | diff --brief "$file_ipconf" "$dir_ipconf/$file_ipconf" >/dev/null 2>&1 | ||
65 | if test $? != 0; then | ||
66 | echo "Reconfiguring fw" | ||
67 | mkdir -p "$dir_ipconf" 2>/dev/null | ||
68 | cp "$file_ipconf" "$dir_ipconf/$file_ipconf" | ||
69 | sv u /var/service/fw | ||
70 | fi | ||
71 | |||
72 | if test -d /var/service/ntp; then | ||
73 | ./convert2ntpconf "$file_ntpconf" | ||
74 | # Reconfigure ntp server addresses if needed | ||
75 | diff --brief "$file_ntpconf" "$dir_ntpconf/$file_ntpconf" >/dev/null 2>&1 | ||
76 | if test $? != 0; then | ||
77 | echo "Reconfiguring ntp" | ||
78 | mkdir -p "$dir_ntpconf" 2>/dev/null | ||
79 | cp "$file_ntpconf" "$dir_ntpconf/$file_ntpconf" | ||
80 | sv t /var/service/ntp | ||
81 | sv u /var/service/ntp | ||
82 | fi | ||
83 | fi |
Properties
Name | Value |
---|---|
svn:executable | * |