[Make-wifi-fast] Upcoming WiFi standard to set per-flow DSCP values?
Sebastian Moeller
moeller0 at gmx.de
Wed Jan 5 07:28:48 EST 2022
Hi Toke, hi Jon,
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):
>> hostapd: add wmm qos map set by default
>> author Felix Fietkau <nbd at nbd.name>
>> Wed, 3 Nov 2021 22:40:53 +0100 (22:40 +0100)
>> committer Felix Fietkau <nbd at nbd.name>
>> Wed, 3 Nov 2021 22:47:55 +0100 (22:47 +0100)
>> commit a5e3def1822431ef6436cb493df77006dbacafd6
>> tree f4494efd6e08a872524eedb5081564a6f5ece20c tree | snapshot
>> parent b14f0628499142a718a68be7d1a7243f7f51ef0a commit | diff
>> hostapd: add wmm qos map set by default
>>
>> This implements the mapping recommendations from RFC8325, with an
>> update from RFC8622. This ensures that DSCP marked packets are properly
>> sorted into WMM classes.
>> The map can be disabled by setting iw_qos_map_set to something invalid
>> like 'none'
>>
>> Signed-off-by: Felix Fietkau <nbd at nbd.name>
>
> Which introduces the following new RFC8325 inspired DSCP to AC mappings:
> + set_default iw_qos_map_set 0,0,2,16,1,1,255,255,18,22,24,38,40,40,44,46,48,56
>
> Which translates into the following mappings (according to the hostapd rules below*):
>
> unraveling this gets us to (0 is coded as DSCP Exception, the rest as DSCP ranges):
>
> UP DSCP AC PHBs(decDSCP)
> Ex0 BE BE(0) BE/CS0(0)
> Range0 2-16 BE CS1(8)**, AF11(10), AF12(12), AF13(14), CS2(16)
> Range1 1-1 BK LE(1)
> Range2 -
> Range3 18-22 BE AF21(18), AF22(20), AF23(22)
> Range4 24-38 VI CS3(24), AF31(26), AF32(28), AF33(30), CS4(32), AF41(34), AF42(36), AF43(38)
> Range5 40-40 VI CS5(40)
> Range6 44-46 VO VA(44), EF(46)
> Range7 48-56 VO CS6(48), CS7(56)
The kernel's default mappings, as far as https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/queues states, seem driven by the top 3 bits of the DSCP field:
RFC8325 also has a section about the default mappings
UP DSCP AC PHBs(decDSCP)
Range0 0-7 BE CS0(0)
Range1 8-15 BK CS1(8), AF11(10), AF12(12), AF13(14)
Range2 16-23 BK CS2(16), AF21(18), AF22(20), AF23(22)
Range3 24-31 BE CS3(24), AF31(26), AF32(28), AF33(30)
Range4 32-39 VI CS4(32), AF41(34), AF42(36), AF43(38)
Range5 40-47 VI CS5(40), VA(44), EF(46)
Range6 48-55 VO CS6(48)
Range7 56-63 VO CS7(56)
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).
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).
Regards
Sebastian
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.
> On Jan 5, 2022, at 13:02, Toke Høiland-Jørgensen via Make-wifi-fast <make-wifi-fast at lists.bufferbloat.net> wrote:
>
> Jon Pike <jonpike54 at gmail.com> writes:
>
>> Heh... So each and everyone in the stadium can have ALL their data
>> prioritized above everybody else's! For a more Egalitarian world!
>>
>> Sigh... Meanwhile, back in reality...
>>
>> An aside, is that commit in git a significant improvement on the mappings,
>> or just some minor tweaks?
>
> I *think* they are just minor tweaks, but I don't actually recall the
> exact mapping that's the kernel default...
>
> -Toke
> _______________________________________________
> Make-wifi-fast mailing list
> Make-wifi-fast at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/make-wifi-fast
More information about the Make-wifi-fast
mailing list