Is it possible for it to work like this?
i need disable port if mac addres is not in the list. thx
Code: Select all
:local allowedMacs {"00:11:22:33:44:55" "AA:BB:CC:DD:EE:FF"};
:local portNumber "ether1";
:local incomingMac [/interface ethernet switch port find mac-address=\
[:tostr [:pick $[/interface ethernet switch port get $portNumber mac-address] 0 17]]]
:if ([:len $incomingMac] = 0) do={
:log info "Unknown MAC address connected to port $portNumber. Port disabled."
/interface ethernet switch port set $portNumber disabled=yes
} else={
:local isAllowed false
:foreach mac in=$allowedMacs do={
:if ($mac = $incomingMac) do={
:set isAllowed true
}
}
:if ($isAllowed = false) do={
:log info "Unauthorized MAC address connected to port $portNumber. Port disabled"
/interface ethernet switch port set $portNumber disabled=yes
} else={
:log info "Authorized MAC address connected to port $portNumber. Port enabled"
/interface ethernet switch port set $portNumber disabled=no
}
}