diff --git a/src/opnsense/scripts/Wireguard/wg-service-control.php b/src/opnsense/scripts/Wireguard/wg-service-control.php index 117d13c6c..bc9cf7a68 100755 --- a/src/opnsense/scripts/Wireguard/wg-service-control.php +++ b/src/opnsense/scripts/Wireguard/wg-service-control.php @@ -39,18 +39,18 @@ require_once('system.inc'); function get_vhid_status() { $vhids = []; - $uuids = []; foreach ((new OPNsense\Interfaces\Vip())->vip->iterateItems() as $id => $item) { if ($item->mode == 'carp') { - $uuids[(string)$item->vhid] = $id; $vhids[$id] = ['status' => 'DISABLED', 'vhid' => (string)$item->vhid]; } } foreach (legacy_interfaces_details() as $ifdata) { if (!empty($ifdata['carp'])) { foreach ($ifdata['carp'] as $data) { - if (isset($uuids[$data['vhid']])) { - $vhids[$uuids[$data['vhid']]] = ['status' => $data['status'], 'vhid' => $data['vhid']]; + foreach ($vhids as $id => &$item) { + if ($item['vhid'] == $data['vhid']) { + $item['status'] = $data['status']; + } } } }