Lets make wifi fast again!
 help / color / mirror / Atom feed
From: Sebastian Moeller <moeller0@gmx.de>
To: Aaron Wood <woody77@gmail.com>
Cc: "Toke Høiland-Jørgensen" <toke@toke.dk>,
	Make-Wifi-fast <make-wifi-fast@lists.bufferbloat.net>,
	"Jon Pike" <jonpike54@gmail.com>
Subject: Re: [Make-wifi-fast] Upcoming WiFi standard to set per-flow DSCP values?
Date: Wed, 5 Jan 2022 19:33:21 +0100	[thread overview]
Message-ID: <6F6FB992-807F-4F3A-9E46-D6C1B9CBE33D@gmx.de> (raw)
In-Reply-To: <CALQXh-OLGY8zcu8u3+0RU-8V5ToeFf91oKba+s89wO7BD0wo+Q@mail.gmail.com>

Hi Aaron,


> On Jan 5, 2022, at 18:11, Aaron Wood <woody77@gmail.com> wrote:
> 
> 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.

	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.

Regards
	Sebastian


> 
> On Wed, Jan 5, 2022 at 4:28 AM Sebastian Moeller <moeller0@gmx.de> wrote:
> 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@nbd.name>    
> >> Wed, 3 Nov 2021 22:40:53 +0100 (22:40 +0100)
> >> committer    Felix Fietkau <nbd@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@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@lists.bufferbloat.net> wrote:
> > 
> > Jon Pike <jonpike54@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@lists.bufferbloat.net
> > https://lists.bufferbloat.net/listinfo/make-wifi-fast
> 
> _______________________________________________
> Make-wifi-fast mailing list
> Make-wifi-fast@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/make-wifi-fast


  reply	other threads:[~2022-01-05 18:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.0.1641315601.32049.make-wifi-fast@lists.bufferbloat.net>
2022-01-04 18:31 ` Jon Pike
2022-01-04 21:49   ` Toke Høiland-Jørgensen
2022-01-04 23:57     ` Jon Pike
2022-01-05 12:02       ` Toke Høiland-Jørgensen
2022-01-05 12:28         ` Sebastian Moeller
2022-01-05 17:11           ` Aaron Wood
2022-01-05 18:33             ` Sebastian Moeller [this message]
2022-01-05 20:42               ` Bob McMahon
2022-01-09 22:51                 ` Sebastian Moeller
2022-01-09 23:41             ` Dave Taht
2022-01-10 16:02               ` Bob McMahon
     [not found] <mailman.1399.1641415377.1267.make-wifi-fast@lists.bufferbloat.net>
2022-01-07  5:48 ` Jon Pike
2022-01-03 21:06 Toke Høiland-Jørgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/make-wifi-fast.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6F6FB992-807F-4F3A-9E46-D6C1B9CBE33D@gmx.de \
    --to=moeller0@gmx.de \
    --cc=jonpike54@gmail.com \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=toke@toke.dk \
    --cc=woody77@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox