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.