On 2016/01/31 17:45, Stefan Sperling wrote:
> We currently force BlockAck agreements to time out after a certain
> period of inactivity. Some APs, notably Broadcom-based ones (like
> Apple Airport) don't cope with this nicely and drop packets while
> the BA session is reestablished. The result is unusable wifi in
> 11n mode with such APs (> 50% packet loss).
> 
> In fact, these APs request a zero timeout in their ADDBA frames.
> 802.11 2012 section "8.4.1.15 Block Ack Timeout Value field" says
> "A value of 0 disables the timeout."
> So I'm not sure why our code requires a minimum timeout.
> The original timeout values added by damien@ were very short (order
> of miliseconds) and I had to extend them to make BlockAck work with
> any AP at all.
> 
> This patch makes us honour the timeout only if the AP has requested it.
> Linux treats this timeout value in the same way.
> 
> Doesn't seem to break any APs which were already working well.

Could this capping be an attempt to mitigate DoS from people playing
games with ADDBAs? Anyway I think avoiding the regression with these
APs is pretty important and the diff makes sense, so OK with me.

Reply via email to