From 07973066c967a64aa3fc1a9a8472955a0fcc7569 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 15 Jan 2019 10:29:12 +0100 Subject: lease-script: split scripts for de/assign, add debug log --- lease-script | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/lease-script b/lease-script index c110201..d8d6562 100644 --- a/lease-script +++ b/lease-script @@ -3,18 +3,32 @@ # Copyright (c) 2013-2019 Christian Hesse # # run scripts on DHCP lease -# ( / ip dhcp-server set lease-script=lease-script [ find ] ) -:local Scripts { +:local Scripts; +:local ScriptsAssign { "dhcp-to-dns"; "collect-wireless-mac.local"; "dhcp-lease-comment.local"; "collect-wireless-mac.capsman"; "dhcp-lease-comment.capsman" } +:local ScriptsDeAssign { + "dhcp-to-dns" +} + +:local State ""; +:if ($leaseBound = 0) do={ + :set State "de"; + :set Scripts $ScriptsDeAssign; +} else={ + :set Scripts $ScriptsAssign; +} + +:log debug ("DHCP Server " . $leaseServerName . " " . \ + $State . "assigned lease " . $leaseActIP . " to " . $leaseActMAC); -# delay a second to give time to update the lease table -:delay 1s; +# delay a moment to update the lease table, do not run in parallel for de/assign +:delay ((1 + $leaseBound) . "s"); :foreach Script in=$Scripts do={ :if ([ / system script print count-only where name=$Script ] > 0) do={ -- cgit v1.2.3-54-g00ecf