diff options
-rw-r--r-- | etc/inc/config.inc | 8 | ||||
-rw-r--r-- | etc/inc/interfaces.inc | 16 | ||||
-rw-r--r-- | etc/inc/upgrade_config.inc | 2 | ||||
-rwxr-xr-x | usr/local/www/interfaces_qinq_edit.php | 17 | ||||
-rwxr-xr-x | usr/local/www/interfaces_vlan_edit.php | 7 |
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")) |