summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2011-04-28 21:21:11 +0000
committerErmal <eri@pfsense.org>2011-04-28 21:21:11 +0000
commit9cf46050fc708f3a3395c7800acf5d81a69b1013 (patch)
tree1b467bbca34ea337c597b350474b1f90730e1fb8
parenta7ee57772048f9ef12a684cc02c36b04de412d74 (diff)
downloadpfsense-9cf46050fc708f3a3395c7800acf5d81a69b1013.zip
pfsense-9cf46050fc708f3a3395c7800acf5d81a69b1013.tar.gz
Correct saving of qinq specified members and also correctly destroy parent vlan when deleteing the interfaces. Also take care of attaching to netgraph now that we detach by default.
-rw-r--r--etc/inc/interfaces.inc1
-rwxr-xr-xusr/local/www/interfaces_qinq.php1
-rwxr-xr-xusr/local/www/interfaces_qinq_edit.php7
3 files changed, 5 insertions, 4 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 083497c..7a9ba5a 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -255,6 +255,7 @@ function interface_qinq_configure(&$vlan, $fd = NULL) {
/* make sure the parent is converted to ng_vlan(4) and is up */
interfaces_bring_up($qinqif);
+ pfSense_ngctl_attach(".", $qinqif);
if (!empty($vlanif) && does_interface_exist($vlanif)) {
fwrite($fd, "shutdown {$qinqif}qinq:\n");
exec("/usr/sbin/ngctl msg {$qinqif}qinq: gettable", $result);
diff --git a/usr/local/www/interfaces_qinq.php b/usr/local/www/interfaces_qinq.php
index 04ac908..5a234a5 100755
--- a/usr/local/www/interfaces_qinq.php
+++ b/usr/local/www/interfaces_qinq.php
@@ -73,6 +73,7 @@ if ($_GET['act'] == "del") {
}
mwexec("/usr/sbin/ngctl shutdown {$qinq['vlanif']}qinq:");
mwexec("/usr/sbin/ngctl shutdown {$qinq['vlanif']}:");
+ mwexec("/sbin/ifconfig {$qinq['vlanif']} destroy");
unset($a_qinqs[$id]);
write_config();
diff --git a/usr/local/www/interfaces_qinq_edit.php b/usr/local/www/interfaces_qinq_edit.php
index 2ffbac9..f47b055 100755
--- a/usr/local/www/interfaces_qinq_edit.php
+++ b/usr/local/www/interfaces_qinq_edit.php
@@ -223,7 +223,7 @@ var newrow = new Array(9999);
var rowsize = new Array(9999);
for (i = 0; i < 9999; i++) {
- rowname[i] = '';
+ rowname[i] = 'members';
rowtype[i] = 'select';
newrow[i] = '';
rowsize[i] = '30';
@@ -362,12 +362,11 @@ function removeRow(el) {
if ($members <> "") {
$item = explode(" ", $members);
foreach($item as $ww) {
- $members = $item[$counter];
- $tracker = $counter;
+ $member = $item[$counter];
?>
<tr>
<td class="vtable">
- <input name="members<?php echo $tracker; ?>" class="formselect" id="members<?php echo $tracker; ?>" value="<? echo $members;?>">
+ <input name="members<?php echo $counter; ?>" class="formselect" id="members<?php echo $counter; ?>" value="<? echo $member;?>">
</td>
<td>
<a onclick="removeRow(this); return false;" href="#"><img border="0" src="/themes/<?echo $g['theme'];?>/images/icons/icon_x.gif" /></a>
OpenPOWER on IntegriCloud