Skip to contentSkip to conversation

hostapd & mac80211: too many probe responses

DISCUSSION Helmut Schaa 2 participants 5 messages Apr 1, 2011

lore
Share & tools
lore
#0 lore raw

Hi,

I've just noticed that hostapd + mac80211 + rt2x00 produces way too many probe responses when setup as multi bssid AP.

The reason seems to be that mac80211 receives a broadcast probe req and drops it to the monitor interface for each vif (hence X times). And hostapd will process each received broadcast probe req on all vifs as well (hence X times again). Resulting in X*X probe responses instead of just X.

This can eat up quite some airtime as the probe reponses are sent at 1Mpbs.

IMO to fix this issue mac80211 should send a broadcast probe req only once to the monitor interface. However, I don't have a good idea how to do that right now :)

Thanks,
Helmut

#1 lore raw
Quoted 8 lines · Helmut Schaa

I've just noticed that hostapd + mac80211 + rt2x00 produces way too many probe responses when setup as multi bssid AP.

The reason seems to be that mac80211 receives a broadcast probe req and drops it to the monitor interface for each vif (hence X times). And hostapd will process each received broadcast probe req on all vifs as well (hence X times again). Resulting in X*X probe responses instead of just X.

Quoted 5 lines

This can eat up quite some airtime as the probe reponses are sent at 1Mpbs.

IMO to fix this issue mac80211 should send a broadcast probe req only once to the monitor interface. However, I don't have a good idea how to do that right now :)

Looks like we broke that then, IEEE80211_RX_CMNTR was intended to do this.

johannes

#2 lore raw

Am Freitag, 1. April 2011 schrieb Johannes Berg:

Quoted 10 lines · Helmut Schaa
Quoted 9 lines

I've just noticed that hostapd + mac80211 + rt2x00 produces way too many probe responses when setup as multi bssid AP.

The reason seems to be that mac80211 receives a broadcast probe req and drops it to the monitor interface for each vif (hence X times). And hostapd will process each received broadcast probe req on all vifs as well (hence X times again). Resulting in X*X probe responses instead of just X.

Quoted 8 lines
Quoted 5 lines

This can eat up quite some airtime as the probe reponses are sent at 1Mpbs.

IMO to fix this issue mac80211 should send a broadcast probe req only once to the monitor interface. However, I don't have a good idea how to do that right now :)

Looks like we broke that then, IEEE80211_RX_CMNTR was intended to do this.

Ah, I see. I'll do some more debugging in that direction first ...

Helmut

#3 lore raw
Quoted 4 lines · Helmut Schaa
Quoted 2 lines

Looks like we broke that then, IEEE80211_RX_CMNTR was intended to do this.

Ah, I see. I'll do some more debugging in that direction first ...

I think the 'rx->flags = 0;' thing is just wrong.

johannes

#4 lore raw

Am Freitag, 1. April 2011 schrieb Johannes Berg:

Quoted 8 lines · Helmut Schaa
Quoted 5 lines
Quoted 3 lines

Looks like we broke that then, IEEE80211_RX_CMNTR was intended to do this.

Ah, I see. I'll do some more debugging in that direction first ...

I think the 'rx->flags = 0;' thing is just wrong.

Uhhm, yep. I'll test and send a patch.

Thanks Johannes.