ipv6-update: update interface specific address list entries

This commit is contained in:
Christian Hesse 2020-12-18 10:11:18 +01:00
parent 503dc3c32c
commit cb72eccc6c
2 changed files with 18 additions and 0 deletions

View file

@ -31,6 +31,18 @@
# give the interfaces a moment to receive their addresses
:delay 2s;
:foreach ListEntry in=[ / ipv6 firewall address-list find where comment~("^ipv6-pool-" . $Pool . ",") ] do={
:local ListEntryVal [ / ipv6 firewall address-list get $ListEntry ];
:local Comment [ $ParseKeyValueStore ($ListEntryVal->"comment") ];
:local Address [ / ipv6 address find where from-pool=$Pool interface=($Comment->"interface") ];
:if ([ :len $Address ] = 1) do={
:set Address [ / ipv6 address get $Address address ];
:log info ("Updating IPv6 address list with new IPv6 prefix " . $Address . " from interface " . ($Comment->"interface"));
/ ipv6 firewall address-list set address=$Address $ListEntry;
}
}
:foreach Record in=[ / ip dns static find where comment~("^ipv6-pool-" . $Pool . ",") ] do={
:local RecordVal [ / ip dns static get $Record ];
:local Comment [ $ParseKeyValueStore ($RecordVal->"comment") ];