diff --git a/src/opnsense/scripts/dhcp/prefixes.sh b/src/opnsense/scripts/dhcp/prefixes.sh index cc900470a..45318ad7f 100755 --- a/src/opnsense/scripts/dhcp/prefixes.sh +++ b/src/opnsense/scripts/dhcp/prefixes.sh @@ -24,9 +24,17 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -INTERVAL=${1:-60} +CHECKSUM="md5 -q" +INTERVAL=${1:-20} +LEASES="/var/dhcpd/var/db/dhcpd6.leases" +PREVIOUS= while :; do + CURRENT=$(${CHECKSUM} ${LEASES}) + if [ "${CURRENT}" != "${PREVIOUS}" ]; then + configctl dhcpd update prefixes + PREVIOUS=${CURRENT} + fi + sleep "${INTERVAL}" - configctl dhcpd update prefixes done