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]
Code: Select all
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
Code: Select all
# 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
Code: Select all
# 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%)