CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/01/05 05:04:45
Modified files:
sys/net80211 : ieee80211_output.c ieee80211_var.h
Log message:
update ieee80211_classify to RFC8325 and rate-limit high-prio QoS packets
The previous implementation based on RFC2474 did not rate-limit high-prio
packets and had no high-prio mapping for DSCP_EF, which is used by ssh(1).
The goal of this change is to send DSCP_EF with high QoS priority at the
wifi layer, without allowing misbehaving applications to send too many
such packets at once.
Access points usually send a beacon every 100ms, and everything else must
happen in-between beacons. Which means, with 2ms per Tx op, a channel will
start becoming completely blocked if an application can grab about 50 VO Tx
opportunities per beacon.
To balance this with typing latency, we need to consider that users are
typing comfortably at a latency between 20-200ms.
Based on this, let's aim for roughly 50ms typing latency. Which means we
want to allow up to 2 VO Tx OPs per 100ms. Beyond this threshold we mark
high-prio packets as best-effort at the wifi layer.
ok phessler@