diff options
author | Erik Fonnesbeck <efonnes@gmail.com> | 2013-01-26 01:14:03 -0700 |
---|---|---|
committer | Erik Fonnesbeck <efonnes@gmail.com> | 2013-01-26 01:19:41 -0700 |
commit | 7bb09580afe7d622f2b859d63f0f49294be43460 (patch) | |
tree | 46f37dc1a00ec4ce418d1fcf3de11d1104dfa6b2 /etc/inc | |
parent | fb6079dbaf63aa994d8039788d60dac48eb99986 (diff) | |
download | pfsense-7bb09580afe7d622f2b859d63f0f49294be43460.zip pfsense-7bb09580afe7d622f2b859d63f0f49294be43460.tar.gz |
Maintain the previous order of creating wireless interfaces at boot so additional virtual APs get the same generated MAC as before.
Diffstat (limited to 'etc/inc')
-rw-r--r-- | etc/inc/interfaces.inc | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 3c67420..0c67765 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -395,10 +395,19 @@ function interface_qinq2_configure(&$qinq, $fd, $macaddr) { } function interfaces_create_wireless_clones() { - global $config; + global $config, $g; if($g['booting']) - echo gettext("Creating other wireless clone interfaces..."); + echo gettext("Creating wireless clone interfaces..."); + + $iflist = get_configured_interface_list(); + + foreach (array_keys($iflist) as $if) { + $realif = $config['interfaces'][$if]['if']; + if (is_interface_wireless($realif)) + interface_wireless_clone(interface_get_wireless_clone($realif), $config['interfaces'][$if]); + } + if (isset($config['wireless']['clone']) && is_array($config['wireless']['clone']) && count($config['wireless']['clone'])) { foreach ($config['wireless']['clone'] as $clone) { if(empty($clone['cloneif'])) @@ -406,13 +415,11 @@ function interfaces_create_wireless_clones() { if(does_interface_exist($clone['cloneif'])) continue; /* XXX: Maybe we should report any errors?! */ - if(interface_wireless_clone($clone['cloneif'], $clone)) - if($g['booting']) - echo " " . $clone['cloneif']; + interface_wireless_clone($clone['cloneif'], $clone); } } if($g['booting']) - echo " " . gettext("done.") . "\n"; + echo gettext("done.") . "\n"; } |