diff options
-rw-r--r-- | etc/inc/util.inc | 7 | ||||
-rwxr-xr-x | usr/local/www/interfaces_assign.php | 13 | ||||
-rw-r--r-- | usr/local/www/interfaces_wireless_edit.php | 2 |
3 files changed, 18 insertions, 4 deletions
diff --git a/etc/inc/util.inc b/etc/inc/util.inc index a623e9d..d31e1a9 100644 --- a/etc/inc/util.inc +++ b/etc/inc/util.inc @@ -499,6 +499,7 @@ function get_interface_list($mode = "active", $keyby = "physical", $vfaces = "") 'lo', 'ng', '_vlan', + '_wlan', 'pflog', 'plip', 'pfsync', @@ -539,7 +540,7 @@ function get_interface_list($mode = "active", $keyby = "physical", $vfaces = "") $ifname = rtrim(trim($alink[0]), '*'); /* trim out all numbers before checking for vfaces */ if (!in_array(array_shift(preg_split('/\d/', $ifname)), $vfaces) && - !stristr($ifname, "_vlan") && !stristr($ifname, "_wlan0")) { + !stristr($ifname, "_vlan") && !stristr($ifname, "_wlan")) { $toput = array( "mac" => trim($alink[1]), "up" => in_array($ifname, $upints) @@ -958,10 +959,10 @@ function is_interface_mismatch() { $do_assign = false; $i = 0; foreach ($config['interfaces'] as $ifname => $ifcfg) { - if (preg_match("/^enc|^tun|^ppp|^pptp|^pppoe|^ovpn|^gif|^gre|^lagg|^bridge|vlan/i", $ifcfg['if'])) { + if (preg_match("/^enc|^tun|^ppp|^pptp|^pppoe|^ovpn|^gif|^gre|^lagg|^bridge|vlan|_wlan/i", $ifcfg['if'])) { $i++; } - else if (does_interface_exist(interface_get_wireless_base($ifcfg['if'])) == false) { + else if (does_interface_exist($ifcfg['if']) == false) { $do_assign = true; } else $i++; diff --git a/usr/local/www/interfaces_assign.php b/usr/local/www/interfaces_assign.php index 8e5cb05..53875fe 100755 --- a/usr/local/www/interfaces_assign.php +++ b/usr/local/www/interfaces_assign.php @@ -58,6 +58,14 @@ require("rrd.inc"); /* get list without VLAN interfaces */ $portlist = get_interface_list(); +/* add wireless clone interfaces */ +if (is_array($config['wireless']['clone']) && count($config['wireless']['clone'])) { + foreach ($config['wireless']['clone'] as $clone) { + $portlist[$clone['cloneif']] = $clone; + $portlist[$clone['cloneif']]['iswlclone'] = true; + } +} + /* add VLAN interfaces */ if (is_array($config['vlans']['vlan']) && count($config['vlans']['vlan'])) { foreach ($config['vlans']['vlan'] as $vlan) { @@ -393,6 +401,11 @@ if(file_exists("/var/run/interface_mismatch_reboot_needed")) if ($portinfo['descr']) $descr .= " (" . $portinfo['descr'] . ")"; echo htmlspecialchars($descr); + } elseif ($portinfo['iswlclone']) { + $descr = $portinfo['cloneif']; + if ($portinfo['descr']) + $descr .= " (" . $portinfo['descr'] . ")"; + echo htmlspecialchars($descr); } elseif ($portinfo['isppp']) { $descr = "PPP {$portinfo['port']}"; if ($portinfo['descr']) diff --git a/usr/local/www/interfaces_wireless_edit.php b/usr/local/www/interfaces_wireless_edit.php index 2f3a196..d40d52a 100644 --- a/usr/local/www/interfaces_wireless_edit.php +++ b/usr/local/www/interfaces_wireless_edit.php @@ -161,7 +161,7 @@ include("head.inc"); <select name="if" class="formselect"> <?php foreach ($portlist as $ifn => $ifinfo) - if (is_interface_wireless($ifn) && !stristr($ifn, "_wlan")) { + if (is_interface_wireless($ifn)) { echo "<option value=\"{$ifn}\""; if ($ifn == $pconfig['if']) echo "selected"; |