mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-14 16:44:39 +00:00
interfaces: signal wlan device creation success/failure
This commit is contained in:
parent
6ccacaf0f9
commit
fa1efd0506
@ -193,19 +193,19 @@ function interfaces_wlan_clone($device)
|
||||
$realif = get_real_interface($if);
|
||||
/* XXX 'if' check only required if parent is still embedded */
|
||||
if ($device == $realif || $device == $config['interfaces'][$if]['if']) {
|
||||
_interfaces_wlan_clone($realif, $config['interfaces'][$if]);
|
||||
return;
|
||||
return _interfaces_wlan_clone($realif, $config['interfaces'][$if]);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($config['wireless']['clone'])) {
|
||||
foreach ($config['wireless']['clone'] as $clone) {
|
||||
if ($device == $clone['cloneif']) {
|
||||
_interfaces_wlan_clone($clone['cloneif'], $clone);
|
||||
return;
|
||||
return _interfaces_wlan_clone($clone['cloneif'], $clone);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function interfaces_bridge_configure($device)
|
||||
@ -1451,8 +1451,6 @@ function _interfaces_wlan_clone($realif, $wlcfg)
|
||||
break;
|
||||
}
|
||||
|
||||
$baseif = interface_get_wireless_base($wlcfg['if']);
|
||||
|
||||
if (does_interface_exist($realif)) {
|
||||
exec("/sbin/ifconfig " . escapeshellarg($realif), $output, $ret);
|
||||
$ifconfig_str = implode(PHP_EOL, $output);
|
||||
@ -1473,18 +1471,20 @@ function _interfaces_wlan_clone($realif, $wlcfg)
|
||||
}
|
||||
|
||||
if ($needs_clone) {
|
||||
$baseif = interface_get_wireless_base($wlcfg['if']);
|
||||
|
||||
legacy_interface_destroy($realif);
|
||||
|
||||
exec("/sbin/ifconfig wlan create wlandev {$baseif} {$mode} bssid name {$realif} 2>&1", $out, $ret);
|
||||
if ($ret != 0) {
|
||||
log_msg("Failed to clone interface {$baseif} with error code {$ret}, output {$out[0]}", LOG_ERR);
|
||||
return false;
|
||||
return null;
|
||||
}
|
||||
|
||||
file_put_contents("/tmp/{$realif}_oldmac", get_interface_mac($realif));
|
||||
}
|
||||
|
||||
return true;
|
||||
return $realif;
|
||||
}
|
||||
|
||||
function interface_sync_wireless_clones(&$ifcfg, $sync_changes = false) /* XXX kill side effect */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user