ipv6-update: create a dynamic address-list entry only

This should make sure that the script runs once after reboot, even if
the prefix does not change.

An existing static entry needs to be removed to make this work!

https://github.com/eworm-de/routeros-scripts/issues/85
This commit is contained in:
Christian Hesse 2024-10-22 22:35:14 +02:00
parent d022c87651
commit e803f8b3c0
2 changed files with 10 additions and 6 deletions

View file

@ -37,8 +37,8 @@
:local Pool [ /ipv6/pool/get [ find where prefix=$PdPrefix ] name ];
:if ([ :len [ /ipv6/firewall/address-list/find where comment=("ipv6-pool-" . $Pool) ] ] = 0) do={
/ipv6/firewall/address-list/add list=("ipv6-pool-" . $Pool) address=:: comment=("ipv6-pool-" . $Pool);
$LogPrint warning $ScriptName ("Added ipv6 address list entry for ipv6-pool-" . $Pool);
/ipv6/firewall/address-list/add list=("ipv6-pool-" . $Pool) address=:: comment=("ipv6-pool-" . $Pool) dynamic=yes;
$LogPrint warning $ScriptName ("Added dynamic ipv6 address list entry for ipv6-pool-" . $Pool);
}
:local AddrList [ /ipv6/firewall/address-list/find where comment=("ipv6-pool-" . $Pool) ];
:local OldPrefix [ /ipv6/firewall/address-list/get ($AddrList->0) address ];