aboutsummaryrefslogtreecommitdiffstats
path: root/dhcp-lease-comment.in
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2018-07-09 16:44:44 +0200
committerGravatar Christian Hesse <mail@eworm.de>2018-07-09 16:44:44 +0200
commitfe5386fbec298d8a0f588c5bc5c033d84b798bbd (patch)
tree7f595c869c532d1ef36655aeb88b858681d274b1 /dhcp-lease-comment.in
parent56e641a980a184b76914f8808793b7e952cdf76e (diff)
introduce templates for scripts depending on capsman or local wireless
Diffstat (limited to 'dhcp-lease-comment.in')
-rw-r--r--dhcp-lease-comment.in21
1 files changed, 21 insertions, 0 deletions
diff --git a/dhcp-lease-comment.in b/dhcp-lease-comment.in
new file mode 100644
index 0000000..35f1b3d
--- /dev/null
+++ b/dhcp-lease-comment.in
@@ -0,0 +1,21 @@
+# RouterOS script: dhcp-lease-comment
+# Copyright (c) 2013-2018 Christian Hesse <mail@eworm.de>
+#
+# update dhcp-server lease comment with infos from access-list
+#
+# !! This is just a template! Replace '%PATH%' with 'capsman'
+# !! or 'interface wireless'!
+
+:foreach lease in=[ / ip dhcp-server lease find where dynamic=yes ] do={
+ :local macaddress [ / ip dhcp-server lease get $lease mac-address ];
+ :local oldcomment [ / ip dhcp-server lease get $lease comment ];
+ :local newcomment;
+ :local accesslst [ :pick [ / %PATH% access-list find where mac-address=$macaddress ] 0 ];
+ :if ( [ :len $accesslst ] > 0 ) do={
+ :set newcomment [ / %PATH% access-list get $accesslst comment ];
+ }
+ :if ([ :len $newcomment ] != 0 && $oldcomment != $newcomment) do={
+ :log info ("Updating comment for DHCP lease " . $macaddress . ": " . $newcomment);
+ / ip dhcp-server lease set comment=$newcomment $lease;
+ }
+}