Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save diegograssato/a72f3f48d328da960f19051f5daae6c1 to your computer and use it in GitHub Desktop.
Save diegograssato/a72f3f48d328da960f19051f5daae6c1 to your computer and use it in GitHub Desktop.
Mikrotik Script for DHCP Lease to Queue simple
:local queueName "Client-$leaseActMAC";
:local ipAdd "$leaseActIP/32";
:if ([:len [/queue simple find name=$queueName]] = 0) do={
:log info "No Queue";
/queue simple add name=$queueName target=($ipAdd) limit-at=10M/4M max-limit=10M/4M comment=[/ip dhcp-server lease get [find where active-mac-address=$leaseActMAC && active-address=$leaseActIP] host-name];
} else={
:log info "exists";
:local ada [/queue simple get [find name=$queueName] target];
:log info "existing $ada";
:if ($ada = $ipAdd) do={
:log info "IP same $ada";
} else={
/queue simple set target=($ipAdd) [find name=$queueName];
}
}
@diegograssato
Copy link
Author

:local queueName "IoT-$leaseActMAC";

:local ipAdd "$leaseActIP/32";
:log info "$comment";
:log info "leaseComment";
:if ([:len [/queue simple find name=$queueName]] = 0) do={
:local comment [/ip dhcp-server lease get [find where active-mac-address=$leaseActMAC && active-address=$leaseActIP] comment]
:if ($comment ~ "^IoT") do={

:log info "No Queue";
/queue simple add name=$queueName target=($ipAdd) limit-at=10M/4M max-limit=10M/4M comment=[/ip dhcp-server lease get [find where active-mac-address=$leaseActMAC && active-address=$leaseActIP] host-name];
}
} else={
:log info "exists";
:local ada [/queue simple get [find name=$queueName] target];
:log info "existing $ada";
:if ($ada = $ipAdd) do={
:log info "IP same $ada";
} else={
/queue simple set target=($ipAdd) [find name=$queueName];
}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment