diff options
author | Ermal <eri@pfsense.org> | 2011-04-28 21:21:11 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2011-04-28 21:21:11 +0000 |
commit | 9cf46050fc708f3a3395c7800acf5d81a69b1013 (patch) | |
tree | 1b467bbca34ea337c597b350474b1f90730e1fb8 | |
parent | a7ee57772048f9ef12a684cc02c36b04de412d74 (diff) | |
download | pfsense-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.inc | 1 | ||||
-rwxr-xr-x | usr/local/www/interfaces_qinq.php | 1 | ||||
-rwxr-xr-x | usr/local/www/interfaces_qinq_edit.php | 7 |
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> |