summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/config.inc4
-rw-r--r--etc/inc/interfaces.inc11
-rwxr-xr-xusr/local/www/interfaces_vlan_edit.php2
3 files changed, 9 insertions, 8 deletions
diff --git a/etc/inc/config.inc b/etc/inc/config.inc
index 6dd751d..3b8922c 100644
--- a/etc/inc/config.inc
+++ b/etc/inc/config.inc
@@ -815,7 +815,7 @@ EOD;
echo sprintf("% -8s%s\n", "vlan{$vlan['tag']}",
"VLAN tag {$vlan['tag']}, interface {$vlan['if']}");
- $iflist['vlan' . $vlan['tag']] = array();
+ $iflist[$vlan['if'] . '.vlan' . $vlan['tag']] = array();
}
}
@@ -1146,7 +1146,7 @@ EOD;
echo "Enter the VLAN tag (1-4094): ";
$vlan['tag'] = chop(fgets($fp));
- $vlan['vlanif'] = "vlan{$vlan['tag']}";
+ $vlan['vlanif'] = "{$vlan['if']}.vlan{$vlan['tag']}";
if (!is_numericint($vlan['tag']) || ($vlan['tag'] < 1) || ($vlan['tag'] > 4094)) {
echo "\nInvalid VLAN tag '{$vlan['tag']}'\n";
continue;
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 72fb3a1..63d36e7 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -90,7 +90,7 @@ function interfaces_vlan_configure() {
if (is_array($config['vlans']['vlan']) && count($config['vlans']['vlan'])) {
foreach ($config['vlans']['vlan'] as $vlan) {
if(empty($vlan['vlanif']))
- $vlan['vlanif'] = "vlan{$vlan['tag']}";
+ $vlan['vlanif'] = "{$vlan['if']}.vlan{$vlan['tag']}";
/* XXX: Maybe we should report any errors?! */
interface_vlan_configure($vlan);
}
@@ -105,7 +105,7 @@ function interface_vlan_configure($vlan) {
return;
}
$if = $vlan['if'];
- $vlanif = empty($vlan['vlanif']) ? "vlan{$vlan['tag']}" : $vlan['vlanif'];
+ $vlanif = empty($vlan['vlanif']) ? "{$if}.vlan{$vlan['tag']}" : $vlan['vlanif'];
$tag = $vlan['tag'];
if(empty($if)) {
@@ -132,9 +132,10 @@ function interface_vlan_configure($vlan) {
to retain previous behavior and avoid regressions */
if($carpcount < 1)
mwexec("/sbin/ifconfig {$vlanif} destroy");
- mwexec("/sbin/ifconfig {$vlanif} create");
- } else
- $vlanif = exec("/sbin/ifconfig vlan create");
+ //mwexec("/sbin/ifconfig {$vlanif} create");
+ }
+ $tmpvlanif = exec("/sbin/ifconfig vlan create");
+ mwexec("/sbin/ifconfig {$tmpvlanif} name {$vlanif}");
mwexec("/sbin/ifconfig {$vlanif} vlan " .
escapeshellarg($tag) . " vlandev " .
diff --git a/usr/local/www/interfaces_vlan_edit.php b/usr/local/www/interfaces_vlan_edit.php
index 04f7f4b..2b68596 100755
--- a/usr/local/www/interfaces_vlan_edit.php
+++ b/usr/local/www/interfaces_vlan_edit.php
@@ -98,7 +98,7 @@ if ($_POST) {
$vlan['if'] = $_POST['if'];
$vlan['tag'] = $_POST['tag'];
$vlan['descr'] = $_POST['descr'];
- $vlan['vlanif'] = "vlan{$_POST['tag']}";
+ $vlan['vlanif'] = "{$_POST['if']}.vlan{$_POST['tag']}";
$vlan['vlanif'] = interface_vlan_configure($vlan);
if ($vlan['vlanif'] == "" || !stristr($vlan['vlanif'], "vlan"))
OpenPOWER on IntegriCloud