[SOLVED] WMM giving terrible throughput

Chaps,

When packets get a priority between 1 and 7, which maps to a WMM traffic class (eg with [1]), I can’t get transmit more than 20-25Mbits/s UDP [2,3] shared to all clients. If I set the priority to 0 (or disable the rule), I get 440Mbits/s. I see the same to a range of 11ac clients, 5m from AP. The WMM enabled/disabled setting on the wlan interface doesn’t make a difference - perhaps only to change if WMM is advertised in the beacons.

  1. Is 20-25Mbits/s expected/sufficient for video streaming to all clients on an AP? I feel it’s a bit low.
  2. Priority 3 should the same as 0, ie best effort, but still gives 21Mbits/s max
  3. This behaviour starves unmarked (DSCP 0) packets, which isn’t expected, agree?
  4. Could the AP be using a low encoding rate to reduce the probability of drop?
  5. Does anyone have any other experience with other equipment and WMM?

I raised this as ticket 2018102522005696 a week back, but no response yet. It would be good to get opinions.

Dan

– [1]

add action=mark-connection chain=postrouting connection-state=new dscp=0 new-connection-mark=VoIP passthrough=yes protocol=udp
add action=change-dscp chain=prerouting connection-mark=VoIP new-dscp=34
add action=set-priority chain=postrouting new-priority=from-dscp-high-3-bits

– [2]

# iperf -i 1 -c 10.39.0.200 -u -b 30M
------------------------------------------------------------
Client connecting to 10.39.0.200, UDP port 5001
Sending 1470 byte datagrams, IPG target: 392.00 us (kalman adjust)
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 10.39.0.250 port 43171 connected with 10.39.0.200 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  1.0- 2.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  2.0- 3.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  3.0- 4.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  4.0- 5.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  5.0- 6.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  6.0- 7.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  7.0- 8.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  8.0- 9.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  9.0-10.0 sec  3.58 MBytes  30.0 Mbits/sec
[  3]  0.0-10.0 sec  35.8 MBytes  30.0 Mbits/sec
[  3] Sent 25512 datagrams

– [3]

 # iperf -i 1 -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 10.39.0.200 port 5001 connected with 10.39.0.250 port 43171
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec  2.79 MBytes  23.4 Mbits/sec   0.548 ms  179/ 2171 (8.2%)
[  3]  1.0- 2.0 sec  2.80 MBytes  23.5 Mbits/sec   0.418 ms  555/ 2552 (22%)
[  3]  2.0- 3.0 sec  2.80 MBytes  23.5 Mbits/sec   0.158 ms  555/ 2551 (22%)
[  3]  3.0- 4.0 sec  2.80 MBytes  23.5 Mbits/sec   0.504 ms  553/ 2549 (22%)
[  3]  4.0- 5.0 sec  2.80 MBytes  23.5 Mbits/sec   0.402 ms  549/ 2549 (22%)
[  3]  5.0- 6.0 sec  2.81 MBytes  23.5 Mbits/sec   0.591 ms  550/ 2552 (22%)
[  3]  6.0- 7.0 sec  2.81 MBytes  23.6 Mbits/sec   0.368 ms  548/ 2554 (21%)
[  3]  7.0- 8.0 sec  2.79 MBytes  23.4 Mbits/sec   0.195 ms  556/ 2549 (22%)
[  3]  8.0- 9.0 sec  2.80 MBytes  23.5 Mbits/sec   0.585 ms  557/ 2552 (22%)
[  3]  9.0-10.0 sec  2.81 MBytes  23.5 Mbits/sec   0.565 ms  549/ 2550 (22%)
[  3]  0.0-10.2 sec  28.5 MBytes  23.5 Mbits/sec   0.472 ms 2147437830/2147458136 (1e+02%)

Can you determine really what WMM is doing with the wireless frames? An over-the-air capture will show what actual value is put into the Qos Control header, in both directions.

Also, you are forcing the value at the AP. Can you try to use iPerf to force the DSCP value and see if that has any effect? That assumes the AP will convert the DSCP value to the appropriate 802.11e/WMM value.

Edit:

I just had a look at this with a packet sniffer and read the documentation: https://wiki.mikrotik.com/wiki/Manual:WMM

Looks like I need a tagged vlan with proper QoS set here to actually have it respected by the radio driver and set the WMM QoS value. I was setting the DSCP value on wired → wireless packets at the IP header in iperf (on Linux, Windows did not work) but they had no impact - WMM value was always zero. Which is to be expected, per the manual.

Exactly. After setting WMM priority max throughput is 25Mbps on 802.11 WMM enabled link. After disabling 50+. Where is the problem? Tested on AP RB922UAGS-5HPacD with ROS v6.43.8 with client SXT Lite5 with ROS v6.43.8

Did you get an explanation? Is/was it a bug??

Absolutely; support was first-class and did get on it! You need to set all radio queues to use aggregation with ‘/interface wireless set ampdu-priorities=0,1,2,3,4,5,6,7’; without block aggregation, the medium is quickly overwhelmed with management packets at the basic rate (typically 6Mb/s). By default only the default queue (0) is aggregated.

Makes sense. And what about

?

Sounds like a bug.

Are you using capsman? Do capsman interfaces honor ampdu settings on the cap?

Unless I am blind there are no AMPDU settings in CAPSMAN! (https://wiki.mikrotik.com/wiki/Manual:CAPsMAN)

Mikrotik employees: what is the default setting in CAPSMAN? Just 0? Is there any aggregation at all? Can you add it in?

As this aggregation appears to be a hardware function it might be difficult to get it working in CAPSMAN when non-local forwarding is used as the host CPU does all the legwork apparently. Not that I want to make excuses for it not being implemented…

I always set priority from high 3 bits in post-routing for wireless interfaces but have never changed AMPDU from the default in the single setting of 0. If I could try AMPDU it might improve the throughput in some of the CAPSMAN systems, like when screen casting from Chromebooks and iPads and Macbooks or when I do a bulk app and IOS update.

its a recurrent situation

by some reason mikroitk thinks we dont need all the wireless settings available in capsman

very frustrating knowing the hardware is capable of some features but you cant use it or adjust it in capsman

i think the strongest point of mikrotik in wifi is the vast amount of settings available in wireless, but some are not available in capsman which leaves mikrotik without their strong features, maybe in 6 or 12 months if more users complain about WMM and AMPDU settings mikrotik maybe put it on capsman

why i am saying that?

because i have tried to use capsman in wifi projects since its existence very frustrating, i like mikrotik but i end using other vendors because the inconsistency of capsman delivering features