aboutsummaryrefslogtreecommitdiffstats
path: root/dhcp-lease-comment
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2018-07-05 15:29:26 +0200
committerGravatar Christian Hesse <mail@eworm.de>2018-07-05 15:34:08 +0200
commite1f134ead584c7b2e9ed406f5520d7f1a23294aa (patch)
tree929660280fb0acc183401d7e59a40f1cd7e8992c /dhcp-lease-comment
parent1d99dc38ff1f583d6e46adc5d1ba3455114d53c1 (diff)
add scripts
Diffstat (limited to 'dhcp-lease-comment')
-rw-r--r--dhcp-lease-comment22
1 files changed, 22 insertions, 0 deletions
diff --git a/dhcp-lease-comment b/dhcp-lease-comment
new file mode 100644
index 0000000..f3a081c
--- /dev/null
+++ b/dhcp-lease-comment
@@ -0,0 +1,22 @@
+# 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 supports local wireless and caps-man when updating paths:
+# $ sed -i '/^$/,$s/caps-man/interface wireless/' dhcp-lease-comment
+# $ sed -i '/^$/,$s/interface wireless/caps-man/' dhcp-lease-comment
+
+: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 [ / caps-man access-list find where mac-address=$macaddress ] 0 ];
+ :if ( [ :len $accesslst ] > 0 ) do={
+ :set newcomment [ / caps-man 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;
+ }
+}