summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/util.inc7
-rwxr-xr-xusr/local/www/interfaces_assign.php13
-rw-r--r--usr/local/www/interfaces_wireless_edit.php2
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";
OpenPOWER on IntegriCloud