#!/bin/sh dhcp4_discover () { ifup lan_dhcp } dhcp4_kill () { ifdown lan_dhcp } dnsmasq_start () { uci revert -P/var/state dhcp.@dnsmasq[0].domainneeded uci revert -P/var/state dhcp.@dnsmasq[0].boguspriv uci revert -P/var/state dhcp.@dnsmasq[0].rebind_protection uci revert -P/var/state dhcp.lan.ignore /etc/init.d/dnsmasq restart } dnsmasq_stop () { uci set -P/var/state dhcp.@dnsmasq[0].domainneeded= uci set -P/var/state dhcp.@dnsmasq[0].boguspriv= uci set -P/var/state dhcp.@dnsmasq[0].rebind_protection=0 uci set -P/var/state dhcp.lan.ignore=1 echo no-dhcp-interface=br-lan >> /var/etc/dnsmasq.conf /etc/init.d/dnsmasq restart } if [ "$BATTYPE" = "gw" ] ; then case "$BATACTION" in add) dnsmasq_stop ; dhcp4_discover ;; del) dhcp4_kill ; dnsmasq_start ;; change) dhcp4_kill ; sleep 5 ; dhcp4_discover ;; esac fi