summaryrefslogtreecommitdiff
path: root/regress/sbin
diff options
context:
space:
mode:
authorStefan Sperling <stsp@cvs.openbsd.org>2020-07-21 08:39:00 +0000
committerStefan Sperling <stsp@cvs.openbsd.org>2020-07-21 08:39:00 +0000
commita02431f689b429b7a00c5292661a7cc298f19b3d (patch)
tree898adc0e5e0eb70c37782ef8f878a95f650bc590 /regress/sbin
parentf0129c6f60ba44937b9aef20e315408ed4927e29 (diff)
Improve processing of lost frames during 802.11 Rx aggregation.
Make ieee80211_input_ba() skip one missing frame at the head of the Rx block ack (BA) window once the rest of the window has filled up with pending frames. This avoids having to wait for the BA window gap timeout handler to run in order to make progress in such situations. Simplify the BA gap timeout handler by deferring the actual flushing of the BA window buffer to the regular input path. The timeout handler now simply advances the BA window across any missing frames at the head of the window, and if_input() is no longer called from the context of this timeout handler. The window will be flushed once another frame arrives. Packet loss under streamy traffic conditions and during Rx bursts is reduced. Much less stuttering, more stable tcpbench, and easier flight in Minecraft. tested by phessler@, Martin Vahlensieck, jmc@, Uwe Werler, and myself
Diffstat (limited to 'regress/sbin')
0 files changed, 0 insertions, 0 deletions