diff options
author | Ermal Luçi <eri@pfsense.org> | 2009-06-08 17:57:15 +0000 |
---|---|---|
committer | Ermal Luçi <eri@pfsense.org> | 2009-06-08 17:57:15 +0000 |
commit | 83bdca55920ca6ab3d848f0993d57a1f9b85098f (patch) | |
tree | 19bf46f0ddb0566af0bc8994ee9ba2df8e9deab4 /usr/local | |
parent | ef0269508610f837212ec2d0ecd2435f126d61a9 (diff) | |
download | pfsense-83bdca55920ca6ab3d848f0993d57a1f9b85098f.zip pfsense-83bdca55920ca6ab3d848f0993d57a1f9b85098f.tar.gz |
Do not use tags for vlan interface names since there might be same vlan tags on different parent interfaces and this will break configs and will hide the reason it does not work. Thanks-to: smos@
Diffstat (limited to 'usr/local')
-rwxr-xr-x | usr/local/www/interfaces_qinq_edit.php | 17 | ||||
-rwxr-xr-x | usr/local/www/interfaces_vlan_edit.php | 7 |
2 files changed, 17 insertions, 7 deletions
diff --git a/usr/local/www/interfaces_qinq_edit.php b/usr/local/www/interfaces_qinq_edit.php index bb13c62..17c9ccd 100755 --- a/usr/local/www/interfaces_qinq_edit.php +++ b/usr/local/www/interfaces_qinq_edit.php @@ -140,7 +140,12 @@ if ($_POST) { if (!$input_errors) { $qinqentry['members'] = $members; $qinqentry['descr'] = mb_convert_encoding($_POST['descr'],"HTML-ENTITIES","auto"); - $qinqentry['vlanif'] = "vlan{$_POST['tag']}"; + if (isset($id) && $a_qinqs[$id]) { + $qinqentry['vlanif'] = "vlan{$id}"; + else { + $id = count($a_qinqs); + $qinqentry['vlanif'] = "vlan{$id}"; + } $nmembers = explode(" ", $members); if (isset($id) && $a_qinqs[$id]) { @@ -148,14 +153,14 @@ if ($_POST) { $delmembers = array_diff($omembers, $nmembers); if (count($delmembers) > 0) { foreach ($delmembers as $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}\\\""); + mwexec("/usr/sbin/ngctl shutdown vlan{$id}h{$tag}:"); + mwexec("/usr/sbin/ngctl msg vlan{$id}qinq: delfilter \\\"vlan{$id}{$tag}\\\""); } } $addmembers = array_diff($nmembers, $omembers); if (count($addmembers) > 0) { foreach ($addmembers as $member) { - $if = "vlan{$_POST['tag']}"; + $if = "vlan{$id}"; $vlanif = "{$if}_{$member}"; $macaddr = get_interface_mac($if); mwexec("/usr/sbin/ngctl mkpeer {$if}qinq: eiface {$if}{$member} ether"); @@ -181,8 +186,8 @@ if ($_POST) { } $additions = ""; foreach($nmembers as $qtag) - $additions .= "vlan{$qinqentry['tag']}_{$qtag} "; - $additions .= "vlan{$qinqentry['tag']} "; + $additions .= "vlan{$id}_{$qtag} "; + $additions .= "vlan{$id} "; 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 04f7f4b..95cdd1f 100755 --- a/usr/local/www/interfaces_vlan_edit.php +++ b/usr/local/www/interfaces_vlan_edit.php @@ -98,7 +98,12 @@ if ($_POST) { $vlan['if'] = $_POST['if']; $vlan['tag'] = $_POST['tag']; $vlan['descr'] = $_POST['descr']; - $vlan['vlanif'] = "vlan{$_POST['tag']}"; + if (isset($id) && $a_vlans[$id]) + $vlan['vlanif'] = "vlan{$id}"; + else { + $id = count($a_vlans); + $vlan['vlanif'] = "vlan{$id}"; + } $vlan['vlanif'] = interface_vlan_configure($vlan); if ($vlan['vlanif'] == "" || !stristr($vlan['vlanif'], "vlan")) |