From 26ba02c9af129649fcee402329010eea2218ee95 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sun, 5 Aug 2018 17:48:40 +0200 Subject: [PATCH] interfaces: bubble up dhcpdv6 server reload --- src/etc/inc/interfaces.inc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 499362950..4e0b20772 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -2584,9 +2584,6 @@ function interface_track6_configure($interface = 'lan', $lancfg, $linkupevent = if ($linkupevent) { $parentrealif = get_real_interface($lancfg['track6-interface']); killbypid("/var/run/dhcp6c_{$parentrealif}.pid", 'HUP'); - } else { - /* XXX move high-level callback up the call stack */ - services_dhcpd_configure('inet6'); } break; } @@ -3802,8 +3799,19 @@ function link_interface_to_track6($wanif, $update = false) services_radvd_configure(); } + /* XXX Can you take me higher? To the place where IPv6 works. */ + $manual_dhcpv6 = false; + foreach ($list as $lanif => $lancfg) { interface_track6_configure($lanif, $lancfg); + + if (isset($lancfg['dhcpd6track6allowoverride'])) { + $manual_dhcpv6 = true; + } + } + + if ($manual_dhcpv6) { + services_dhcpd_configure('inet6'); } }