c97096054d853fac241f4f8747f8274d785cce71
[openwrt/svn-archive/archive.git] / openwrt / package / dnsmasq / files / S50dnsmasq
1 #!/bin/sh
2 . /etc/functions.sh
3
4 # interface to use for DHCP
5 iface=lan
6
7 ifname=$(nvram get ${iface}_ifname)
8 ipaddr=$(nvram get ${iface}_ipaddr)
9 netmask=$(nvram get ${iface}_netmask)
10
11 # check for existing DHCP server
12 udhcpc -n -q -R -s /bin/true -i $ifname >&- || {
13
14 ipaddr=$(ip2int $ipaddr)
15 netmask=$(ip2int ${netmask:-255.255.255.0})
16 network=$((ipaddr&netmask))
17
18 start=$(nvram get dhcp_start)
19 start=$((network+${start:-100}))
20 end=$(nvram get dhcp_num)
21 end=$((start+${end:-150}))
22
23 wanproto=$(nvram get wan_proto)
24 [ -z "$wanproto" -o "$wanproto" = "none" ] || wanif=$(nvram get wan_ifname)
25
26 args="-l /tmp/dhcp.leases -K -F $(int2ip $start),$(int2ip $end),$(int2ip $netmask),12h ${wanif:+-I ${wanif} }"
27 }
28 dnsmasq ${args}