summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2010-03-02 16:32:56 -0700
committerErik Fonnesbeck <efonnes@gmail.com>2010-03-02 16:41:17 -0700
commit263e2b7e1dd79db2af7659a1a11406eedad48a2b (patch)
tree9c9a0995b17b081049b3d6273d60c9e39832f99d /etc
parent54b9de56fecdfeb8848bbe65e28401e8c73ac367 (diff)
downloadpfsense-263e2b7e1dd79db2af7659a1a11406eedad48a2b.zip
pfsense-263e2b7e1dd79db2af7659a1a11406eedad48a2b.tar.gz
Sync the mode of an assigned wireless clone with the mode on the page for creating them.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/interfaces.inc23
1 files changed, 22 insertions, 1 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index e5515bf..43ec0e9 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -1428,7 +1428,7 @@ function interface_sync_wireless_clones(&$ifcfg, $sync_changes = false) {
$shared_settings = array('standard', 'turbo', 'protmode', 'channel', 'txpower');
- if(!is_array($ifcfg['wireless']))
+ if(!is_interface_wireless($ifcfg['if']))
return;
$baseif = interface_get_wireless_base($ifcfg['if']);
@@ -1449,6 +1449,19 @@ function interface_sync_wireless_clones(&$ifcfg, $sync_changes = false) {
}
}
}
+
+ if (interface_is_wireless_clone($ifcfg['if'])) {
+ foreach ($config['wireless']['clone'] as &$clone) {
+ if ($clone['cloneif'] == $ifcfg['if']) {
+ if ($sync_changes) {
+ $clone['mode'] = $ifcfg['wireless']['mode'];
+ } else {
+ $ifcfg['wireless']['mode'] = $clone['mode'];
+ }
+ break;
+ }
+ }
+ }
}
function interface_wireless_configure($if, &$wl, &$wlcfg) {
@@ -2402,6 +2415,14 @@ function interface_translate_type_to_real($interface) {
return $interface;
}
+function interface_is_wireless_clone($wlif) {
+ if(!stristr($wlif, "_wlan")) {
+ return false;
+ } else {
+ return true;
+ }
+}
+
function interface_get_wireless_base($wlif) {
if(!stristr($wlif, "_wlan")) {
return $wlif;
OpenPOWER on IntegriCloud