A question on P2P Remain on channel (ROC)
Jouni Malinen
j
Fri Aug 14 13:39:50 PDT 2015
On Fri, Aug 07, 2015 at 01:05:03PM +0000, Atul Joshi wrote:
> 1. The find phase is implemented in supplicant using ROC as follows
> a. Scan on social channels
> b. Create ROC with duration ~ {100/200/300 msec}
> c. During the ROC if we receive a probe request the probe response is sent.
> 2. If during this ROC, a GO-negotiation.request is received, the supplicant send GO-negotiation.response and uses the wait_time as 500 msec.
> 3. Since the current ROC may be active, then mac80211 will not send the frame as a part of the active ROC (since the duration required is < duration available)
I'm unable to reproduce this. I see GO Negotiation Response going out in
under 10 ms with mac80211_hwsim even in case where the existing ROC (for
300 TU in this specific case) is about to end in 80 ms. The
NL80211_CMD_FRAME_TX_STATUS event is also received within 2 ms from
having issued NL80211_CMD_FRAME which is pretty clear indication that
mac80211 sent the frame immediately.
Would you be able to share a wpa_supplicant debug log with timestamps
(-dt on command line) showing a case where the offloaded TX gets delayed
until the existing ROC completes? Which kernel version are you using?
> 4. This will lead mac80211 to wait for the current ROC to finish and then schedule a new ROC
>
> 5. This in turn could lead to delays > 100 msec in sending GO-negotiation.response and the procedure would fail.
> In this case should the supplicant not stop ongoing ROC and restart the new one?
I would much rather see mac80211 extend the ROC if needed but anyway,
since I could not reproduce this, I'm not sure what more to say about
this before seeing a debug log showing the exact sequence and timing of
events.
--
Jouni Malinen PGP id EFC895FA
More information about the Hostap
mailing list