<div dir="ltr">Don't forget about TCP_NOTSENT_LOWAT and things like AIFS. If one really wants to starve a guest network, set AIFS for that AC to always lose regardless of CWMIN and CWMAX (traditional EDCAs.) (This is a mean shift to the arbitration distribution, where one can remove the distributions' overlaps between the ACs) Then the guest queueing should back up somewhere else (hopefully at the source.) If it does back up on the send side host, one can use TCP_NOTSENT_LOWAT to limit that and effectively only send "relevant" interactive message so-to-speak.<br><br>Also, the latency gained and lost is not necessarily zero sum when considering WiFi MU technologies. A little delay can allow for an MU vs SU transmission. The MU groups are basically analogous to IP Multicast where only one RF transmission is required for many receivers. The primary difference is that IP multicast has a single source (one to many) while MU is multi-sourced (many to one.) The point is WiFi MU technologies change things when it comes to queueing latencies and the engineers writing these algorithms have to think about this as latency now is driving user experience.<br><br>Bob<br><br><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 5, 2022 at 10:33 AM Sebastian Moeller <<a href="mailto:moeller0@gmx.de">moeller0@gmx.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Aaron,<br>
<br>
<br>
> On Jan 5, 2022, at 18:11, Aaron Wood <<a href="mailto:woody77@gmail.com" target="_blank">woody77@gmail.com</a>> wrote:<br>
> <br>
> I'm guessing that schemes like this are mostly aimed-at, or developed-by, at the enterprise wifi market, where you have mixed uses being run on the same AP (much like running separate vlans on the same wired network), to mix both "infrastructure" uses which have priority, and "guests" networks which have less priority. When I was in that part of the industry, I was seeing this a lot, the general attempt to move the QoS and vlans from wired networks into WLAN and WAN links.<br>
<br>
Interesting, thanks! I guess as long as those configuring keep in mind that prioritization is a zero sum game (at least under load were it really counts) where the latency gained by one packet is mostly payed by another packet(s) being delayed. In an uncontrolled environment this is tricky to get right. I keep fantasizing about a tit-for-tat wifi AP policy were the AP monitors airtime usage by different ACs and adjusts its own/its clients AC usage such that it will not be crowded out.<br>
<br>
Regards<br>
Sebastian<br>
<br>
<br>
> <br>
> On Wed, Jan 5, 2022 at 4:28 AM Sebastian Moeller <<a href="mailto:moeller0@gmx.de" target="_blank">moeller0@gmx.de</a>> wrote:<br>
> Hi Toke, hi Jon,<br>
> <br>
> here is a corrected version of what I sent to another list (I accidentally converted the VA bit-pattern with my calculator set to base8 so decimal 54 and Range7 instead of the correct decimal 44 and Range6, which does not change much for the AC mapping as both range6 and 7 map to AC_VO):<br>
> <br>
> >> hostapd: add wmm qos map set by default<br>
> >> author Felix Fietkau <<a href="mailto:nbd@nbd.name" target="_blank">nbd@nbd.name</a>> <br>
> >> Wed, 3 Nov 2021 22:40:53 +0100 (22:40 +0100)<br>
> >> committer Felix Fietkau <<a href="mailto:nbd@nbd.name" target="_blank">nbd@nbd.name</a>> <br>
> >> Wed, 3 Nov 2021 22:47:55 +0100 (22:47 +0100)<br>
> >> commit a5e3def1822431ef6436cb493df77006dbacafd6<br>
> >> tree f4494efd6e08a872524eedb5081564a6f5ece20c tree | snapshot<br>
> >> parent b14f0628499142a718a68be7d1a7243f7f51ef0a commit | diff<br>
> >> hostapd: add wmm qos map set by default<br>
> >> <br>
> >> This implements the mapping recommendations from RFC8325, with an<br>
> >> update from RFC8622. This ensures that DSCP marked packets are properly<br>
> >> sorted into WMM classes.<br>
> >> The map can be disabled by setting iw_qos_map_set to something invalid<br>
> >> like 'none'<br>
> >> <br>
> >> Signed-off-by: Felix Fietkau <<a href="mailto:nbd@nbd.name" target="_blank">nbd@nbd.name</a>><br>
> > <br>
> > Which introduces the following new RFC8325 inspired DSCP to AC mappings:<br>
> > + set_default iw_qos_map_set 0,0,2,16,1,1,255,255,18,22,24,38,40,40,44,46,48,56<br>
> > <br>
> > Which translates into the following mappings (according to the hostapd rules below*):<br>
> > <br>
> > unraveling this gets us to (0 is coded as DSCP Exception, the rest as DSCP ranges):<br>
> > <br>
> > UP DSCP AC PHBs(decDSCP)<br>
> > Ex0 BE BE(0) BE/CS0(0)<br>
> > Range0 2-16 BE CS1(8)**, AF11(10), AF12(12), AF13(14), CS2(16)<br>
> > Range1 1-1 BK LE(1)<br>
> > Range2 - <br>
> > Range3 18-22 BE AF21(18), AF22(20), AF23(22)<br>
> > Range4 24-38 VI CS3(24), AF31(26), AF32(28), AF33(30), CS4(32), AF41(34), AF42(36), AF43(38)<br>
> > Range5 40-40 VI CS5(40)<br>
> > Range6 44-46 VO VA(44), EF(46)<br>
> > Range7 48-56 VO CS6(48), CS7(56)<br>
> <br>
> The kernel's default mappings, as far as <a href="https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/queues" rel="noreferrer" target="_blank">https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/queues</a> states, seem driven by the top 3 bits of the DSCP field:<br>
> RFC8325 also has a section about the default mappings<br>
> <br>
> UP DSCP AC PHBs(decDSCP)<br>
> Range0 0-7 BE CS0(0)<br>
> Range1 8-15 BK CS1(8), AF11(10), AF12(12), AF13(14)<br>
> Range2 16-23 BK CS2(16), AF21(18), AF22(20), AF23(22)<br>
> Range3 24-31 BE CS3(24), AF31(26), AF32(28), AF33(30)<br>
> Range4 32-39 VI CS4(32), AF41(34), AF42(36), AF43(38)<br>
> Range5 40-47 VI CS5(40), VA(44), EF(46)<br>
> Range6 48-55 VO CS6(48)<br>
> Range7 56-63 VO CS7(56)<br>
> <br>
> <br>
> IMHO RFC8325 and the whole WMM scheme clearly lacks data showing that is actually delivers on its promises. RFC8325 specifically seems obsessed in changing mappings such that PHBs align with the 4 WMM queues, instead of interpreting the fact that the apparent mismatch between what the IETF thinks about specific PHBs/DSCPs and how they are treated for most users, as clear sign, that reality does not care... (probably mostly driven by the elephant in the room, of DSCPs not being end-to-end).<br>
> <br>
> I agree with Toke that allowing APs to steer specific DSCP use by applications seems taking an proven non-working idea to the extreme... (APs can already instruct stations on which DSCPs to map to which AC (see Felix's patch), which is not used that much, no idea why anybody thinks that allowing APs even more disruptive changes to end-point behavior is going to work any better).<br>
> <br>
> Regards<br>
> Sebastian<br>
> <br>
> P.S.: IMHO the biggest change might be the up-prioritisation of EF from AC_VI to AC_VO, and I am not sure that is a good idea.<br>
> <br>
> <br>
> <br>
> > On Jan 5, 2022, at 13:02, Toke Høiland-Jørgensen via Make-wifi-fast <<a href="mailto:make-wifi-fast@lists.bufferbloat.net" target="_blank">make-wifi-fast@lists.bufferbloat.net</a>> wrote:<br>
> > <br>
> > Jon Pike <<a href="mailto:jonpike54@gmail.com" target="_blank">jonpike54@gmail.com</a>> writes:<br>
> > <br>
> >> Heh... So each and everyone in the stadium can have ALL their data<br>
> >> prioritized above everybody else's! For a more Egalitarian world!<br>
> >> <br>
> >> Sigh... Meanwhile, back in reality...<br>
> >> <br>
> >> An aside, is that commit in git a significant improvement on the mappings,<br>
> >> or just some minor tweaks?<br>
> > <br>
> > I *think* they are just minor tweaks, but I don't actually recall the<br>
> > exact mapping that's the kernel default...<br>
> > <br>
> > -Toke<br>
> > _______________________________________________<br>
> > Make-wifi-fast mailing list<br>
> > <a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br>
> > <a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a><br>
> <br>
> _______________________________________________<br>
> Make-wifi-fast mailing list<br>
> <a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br>
> <a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a><br>
<br>
_______________________________________________<br>
Make-wifi-fast mailing list<br>
<a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a></blockquote></div>
<br>
<span style="background-color:rgb(255,255,255)"><font size="2">This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.</font></span>