summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/config.inc8
-rw-r--r--etc/inc/interfaces.inc16
-rw-r--r--etc/inc/upgrade_config.inc2
-rwxr-xr-xusr/local/www/interfaces_qinq_edit.php17
-rwxr-xr-xusr/local/www/interfaces_vlan_edit.php7
5 files changed, 21 insertions, 29 deletions
diff --git a/etc/inc/config.inc b/etc/inc/config.inc
index 5d8661a..6dd751d 100644
--- a/etc/inc/config.inc
+++ b/etc/inc/config.inc
@@ -810,12 +810,12 @@ EOD;
if (is_array($config['vlans']['vlan']) && count($config['vlans']['vlan'])) {
echo "\n\nVLAN interfaces:\n\n";
- foreach ($config['vlans']['vlan'] as $vlanid => $vlan) {
+ foreach ($config['vlans']['vlan'] as $vlan) {
- echo sprintf("% -8s%s\n", "vlan{$vlanid}",
+ echo sprintf("% -8s%s\n", "vlan{$vlan['tag']}",
"VLAN tag {$vlan['tag']}, interface {$vlan['if']}");
- $iflist['vlan' . $vlanid] = array();
+ $iflist['vlan' . $vlan['tag']] = array();
}
}
@@ -1146,7 +1146,7 @@ EOD;
echo "Enter the VLAN tag (1-4094): ";
$vlan['tag'] = chop(fgets($fp));
- $vlan['vlanif'] = "vlan{$vlanif}";
+ $vlan['vlanif'] = "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 603e7b3..72fb3a1 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -88,9 +88,9 @@ function interfaces_loopback_configure() {
function interfaces_vlan_configure() {
global $config;
if (is_array($config['vlans']['vlan']) && count($config['vlans']['vlan'])) {
- foreach ($config['vlans']['vlan'] as $vlanid => $vlan) {
+ foreach ($config['vlans']['vlan'] as $vlan) {
if(empty($vlan['vlanif']))
- $vlan['vlanif'] = "vlan{$vlanid}";
+ $vlan['vlanif'] = "vlan{$vlan['tag']}";
/* XXX: Maybe we should report any errors?! */
interface_vlan_configure($vlan);
}
@@ -105,10 +105,11 @@ function interface_vlan_configure($vlan) {
return;
}
$if = $vlan['if'];
+ $vlanif = empty($vlan['vlanif']) ? "vlan{$vlan['tag']}" : $vlan['vlanif'];
$tag = $vlan['tag'];
- if (empty($if)) {
- log_error("interface_vlan_confgure called with parent if undefined.");
+ if(empty($if)) {
+ log_error("interface_vlan_confgure called with if undefined.");
return;
}
@@ -147,13 +148,14 @@ function interface_vlan_configure($vlan) {
/* all vlans need to spoof their parent mac address, too. see
* ticket #1514: http://cvstrac.pfsense.com/tktview?tn=1514,33
*/
- foreach ($config['interfaces'] as $interfaces) {
- if ($interfaces['if'] == $if && $interfaces['spoofmac']) {
+ foreach($config['interfaces'] as $interfaces) {
+ if($interfaces['if'] == $if && $interfaces['spoofmac']) {
mwexec("/sbin/ifconfig " . escapeshellarg($vlanif) .
" link " . escapeshellarg($interfaces['spoofmac']));
}
}
+ /* XXX: ermal -- for now leave it here at the moment it does not hurt. */
interfaces_bring_up($if);
return $vlanif;
@@ -168,7 +170,7 @@ function interface_qinq_configure($vlan, $fd = NULL) {
}
$if = $vlan['if'];
- $vlanif = empty($vlan['vlanif']) ? "vlan" . count($config['qinqs']['qinq']) : $vlan['vlanif'];
+ $vlanif = empty($vlan['vlanif']) ? "vlan{$vlan['tag']}" : $vlan['vlanif'];
$tag = $vlan['tag'];
if(empty($if)) {
log_error("interface_qinq_confgure called with if undefined.\n");
diff --git a/etc/inc/upgrade_config.inc b/etc/inc/upgrade_config.inc
index 48b94d5..2e00622 100644
--- a/etc/inc/upgrade_config.inc
+++ b/etc/inc/upgrade_config.inc
@@ -772,7 +772,7 @@ function upgrade_044_to_045() {
global $config;
if (is_array($config['vlans']['vlan']) && count($config['vlans']['vlan'])) {
foreach ($config['vlans']['vlan'] as $id => &$vlan)
- $vlan['vlanif'] = "vlan{$id}";
+ $vlan['vlanif'] = "vlan{$vlan['tag']}";
}
}
diff --git a/usr/local/www/interfaces_qinq_edit.php b/usr/local/www/interfaces_qinq_edit.php
index 17c9ccd..bb13c62 100755
--- a/usr/local/www/interfaces_qinq_edit.php
+++ b/usr/local/www/interfaces_qinq_edit.php
@@ -140,12 +140,7 @@ if ($_POST) {
if (!$input_errors) {
$qinqentry['members'] = $members;
$qinqentry['descr'] = mb_convert_encoding($_POST['descr'],"HTML-ENTITIES","auto");
- if (isset($id) && $a_qinqs[$id]) {
- $qinqentry['vlanif'] = "vlan{$id}";
- else {
- $id = count($a_qinqs);
- $qinqentry['vlanif'] = "vlan{$id}";
- }
+ $qinqentry['vlanif'] = "vlan{$_POST['tag']}";
$nmembers = explode(" ", $members);
if (isset($id) && $a_qinqs[$id]) {
@@ -153,14 +148,14 @@ if ($_POST) {
$delmembers = array_diff($omembers, $nmembers);
if (count($delmembers) > 0) {
foreach ($delmembers as $tag) {
- mwexec("/usr/sbin/ngctl shutdown vlan{$id}h{$tag}:");
- mwexec("/usr/sbin/ngctl msg vlan{$id}qinq: delfilter \\\"vlan{$id}{$tag}\\\"");
+ mwexec("/usr/sbin/ngctl shutdown vlan{$_POST['tag']}h{$tag}:");
+ mwexec("/usr/sbin/ngctl msg vlan{$_POST['tag']}qinq: delfilter \\\"vlan{$_POST['tag']}{$tag}\\\"");
}
}
$addmembers = array_diff($nmembers, $omembers);
if (count($addmembers) > 0) {
foreach ($addmembers as $member) {
- $if = "vlan{$id}";
+ $if = "vlan{$_POST['tag']}";
$vlanif = "{$if}_{$member}";
$macaddr = get_interface_mac($if);
mwexec("/usr/sbin/ngctl mkpeer {$if}qinq: eiface {$if}{$member} ether");
@@ -186,8 +181,8 @@ if ($_POST) {
}
$additions = "";
foreach($nmembers as $qtag)
- $additions .= "vlan{$id}_{$qtag} ";
- $additions .= "vlan{$id} ";
+ $additions .= "vlan{$qinqentry['tag']}_{$qtag} ";
+ $additions .= "vlan{$qinqentry['tag']} ";
if ($found == true)
$config['ifgroups']['ifgroupentry'][$gid]['members'] .= " {$additions}";
else {
diff --git a/usr/local/www/interfaces_vlan_edit.php b/usr/local/www/interfaces_vlan_edit.php
index 95cdd1f..04f7f4b 100755
--- a/usr/local/www/interfaces_vlan_edit.php
+++ b/usr/local/www/interfaces_vlan_edit.php
@@ -98,12 +98,7 @@ if ($_POST) {
$vlan['if'] = $_POST['if'];
$vlan['tag'] = $_POST['tag'];
$vlan['descr'] = $_POST['descr'];
- if (isset($id) && $a_vlans[$id])
- $vlan['vlanif'] = "vlan{$id}";
- else {
- $id = count($a_vlans);
- $vlan['vlanif'] = "vlan{$id}";
- }
+ $vlan['vlanif'] = "vlan{$_POST['tag']}";
$vlan['vlanif'] = interface_vlan_configure($vlan);
if ($vlan['vlanif'] == "" || !stristr($vlan['vlanif'], "vlan"))
OpenPOWER on IntegriCloud