From aa4c2db3d985dc632e08953cf82df9a81f024f29 Mon Sep 17 00:00:00 2001 From: Luiz Otavio O Souza Date: Sun, 22 Nov 2015 08:45:11 -0600 Subject: Do not allow the same interface be part of two different bridges. This is already forbidden in OS, so just add a warning to prevent this kind of misconfiguration. Issue: #4595 --- src/usr/local/www/interfaces_bridge_edit.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/usr/local/www/interfaces_bridge_edit.php') diff --git a/src/usr/local/www/interfaces_bridge_edit.php b/src/usr/local/www/interfaces_bridge_edit.php index 296dfab..2a33d12 100644 --- a/src/usr/local/www/interfaces_bridge_edit.php +++ b/src/usr/local/www/interfaces_bridge_edit.php @@ -211,7 +211,17 @@ if ($_POST) { if ($_POST['span'] != "none" && $_POST['span'] == $ifmembers) { $input_errors[] = gettext("Span interface cannot be part of the bridge. Remove the span interface from bridge members to continue."); } + foreach($a_bridges as $a_bridge) { + if ($_POST['bridgeif'] === $a_bridge['bridgeif']) + continue; + $a_members = explode(',', $a_bridge['members']); + foreach ($a_members as $a_member) { + if ($ifmembers === $a_member) + $input_errors[] = $ifmembers . gettext(" is part of another bridge. Remove the interface from bridge members to continue."); + } + } } + $pconfig['members'] = implode(',', $_POST['members']); } if (!$input_errors) { @@ -371,7 +381,7 @@ $section->addInput(new Form_Select( ))->setHelp('Interfaces participating in the bridge'); $section->addInput(new Form_Input( - 'Descr', + 'descr', 'Description', 'text', $pconfig['descr'] -- cgit v1.1