diff --git a/doc/ipv6-update.md b/doc/ipv6-update.md index a9561063..fb42e931 100644 --- a/doc/ipv6-update.md +++ b/doc/ipv6-update.md @@ -77,6 +77,7 @@ start with "`ipv6-pool-`" and actual pool name, followed by a comma, See also -------- +* [Run other scripts on IPv6 DHCP client lease](dhcpv6-client-lease.md) * [Run scripts on ppp connection](ppp-on-up.md) --- diff --git a/doc/ppp-on-up.md b/doc/ppp-on-up.md index e92601a2..add5308f 100644 --- a/doc/ppp-on-up.md +++ b/doc/ppp-on-up.md @@ -36,6 +36,7 @@ Just install the script: See also -------- +* [Run other scripts on IPv6 DHCP client lease](dhcpv6-client-lease.md) * [Update configuration on IPv6 prefix change](ipv6-update.md) * [Update tunnelbroker configuration](update-tunnelbroker.md) diff --git a/ipv6-update.rsc b/ipv6-update.rsc index c87410cc..45550667 100644 --- a/ipv6-update.rsc +++ b/ipv6-update.rsc @@ -4,6 +4,7 @@ # https://rsc.eworm.de/COPYING.md # # requires RouterOS, version=7.19 +# provides: dhcpv6-client-lease, order=40 # # update firewall and dns settings on IPv6 prefix change # https://rsc.eworm.de/doc/ipv6-update.md @@ -15,14 +16,17 @@ do={ :error ("Global config and/or functions not ready."); }; } delay=500ms max=50; :local ScriptName [ :jobname ]; + :global EitherOr; :global LogPrint; :global ParseKeyValueStore; :global ScriptLock; - :local NaAddress $"na-address"; - :local NaValid $"na-valid"; - :local PdPrefix $"pd-prefix"; - :local PdValid $"pd-valid"; + :global DHCPv6ClientLeaseVars; + + :local NaAddress [ $EitherOr $"na-address" ($DHCPv6ClientLeaseVars->"na-address") ]; + :local NaValid [ $EitherOr $"na-valid" ($DHCPv6ClientLeaseVars->"na-valid") ]; + :local PdPrefix [ $EitherOr $"pd-prefix" ($DHCPv6ClientLeaseVars->"pd-prefix") ]; + :local PdValid [ $EitherOr $"pd-valid" ($DHCPv6ClientLeaseVars->"pd-valid") ]; :if ([ $ScriptLock $ScriptName ] = false) do={ :set ExitOK true;