From fd94b3affd496edea2b65e3352ee0536c88917b8 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sun, 20 May 2018 12:16:37 +0200 Subject: [PATCH] interfaces: simplify semantics of link_interface_to_track6() --- src/etc/inc/interfaces.inc | 41 +++++++++++++++++++------------------- src/etc/rc.newwanipv6 | 2 +- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index ee9429601..cc266212e 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -2828,7 +2828,7 @@ function interface_6rd_configure($interface = "wan", $wancfg) /* configure dependent interfaces */ if (!file_exists("/var/run/booting")) { - link_interface_to_track6($interface, "update"); + link_interface_to_track6($interface, true); } return 0; @@ -2926,7 +2926,7 @@ function interface_6to4_configure($interface = 'wan', $wancfg) } if (!file_exists("/var/run/booting")) { - link_interface_to_track6($interface, "update"); + link_interface_to_track6($interface, true); } return 0; @@ -3859,30 +3859,29 @@ function guess_interface_from_ip($ipaddress) return $ret; } -function link_interface_to_track6($int, $action = '') +function link_interface_to_track6($int, $update = false) { - global $config; + $list = array(); if (empty($int)) { - return; - } - - if (isset($config['interfaces'])) { - $list = array(); - foreach (legacy_config_get_interfaces(array("virtual" => false)) as $ifname => $ifcfg) { - if (!isset($ifcfg['enable'])) { - continue; - } - if (!empty($ifcfg['ipaddrv6']) && $ifcfg['track6-interface'] == $int) { - if ($action == "update") { - interface_track6_configure($ifname, $ifcfg); - } elseif ($action == "") { - $list[$ifname] = $ifcfg; - } - } - } return $list; } + + foreach (legacy_config_get_interfaces(array('virtual' => false)) as $ifname => $ifcfg) { + if (!isset($ifcfg['enable'])) { + continue; + } + + if (!empty($ifcfg['ipaddrv6']) && $ifcfg['track6-interface'] == $int) { + if ($update) { + interface_track6_configure($ifname, $ifcfg); + } + + $list[$ifname] = $ifcfg; + } + } + + return $list; } function link_interface_to_vips($int, $action = '') diff --git a/src/etc/rc.newwanipv6 b/src/etc/rc.newwanipv6 index aa2e3262b..65bfe5aea 100755 --- a/src/etc/rc.newwanipv6 +++ b/src/etc/rc.newwanipv6 @@ -113,7 +113,7 @@ if (!empty($grouptmp)) { array_walk($grouptmp, 'interface_group_add_member'); } -link_interface_to_track6($interface, "update"); +link_interface_to_track6($interface, true); system_resolvconf_generate(); system_hosts_generate();