Fix duplicate wpa_supplicant(8) / hostapd(8) startup with devd(8)

Do not invoke 'wlan_up' function from devd(8) on interface
creation event (an example to create such event:
'ifconfig wlan0 create wlandev rtwn0');
they're typically produced during 'service netif (re)start'
and result in duplicate interface initialization.

From the user side if WPA option is used, this result in messages like:
- /etc/rc.d/wpa_supplicant: WARNING: failed to start wpa_supplicant
or
- wpa_supplicant already running?  (pid=xxxx).
(for HOSTAP interfaces this race may result in startup failure).

As a side effect, wpa_supplicant(8) / hostapd(8) will not be
invoked when new wlan(4) interface is created manually and
corresponding configuration for it is present in rc.conf(5).

This change does not affect device attach / removal events.

MFC after:	5 days
This commit is contained in:
avos 2019-01-21 04:50:56 +00:00
parent b9bdac67da
commit 839c0f8b26

View File

@ -43,7 +43,7 @@ options {
# #
notify 0 { notify 0 {
match "system" "IFNET"; match "system" "IFNET";
match "subsystem" "!usbus[0-9]+"; match "subsystem" "(?!usbus[0-9]+|?!wlan[0-9]+)";
match "type" "ATTACH"; match "type" "ATTACH";
action "/etc/pccard_ether $subsystem start"; action "/etc/pccard_ether $subsystem start";
}; };