Question about prioritizing ports in a local network

I have an asus tuf-ax4200 with an MT7986 processor (4 cores 2 GHz), 512 MB RAM, openwrt 23.05.

Only the following are connected to it:

  1. LAN 1. 2.5 Gbit - PC
  2. LAN 2. 1 Gbit. The second router is like a switch with all other equipment (all family phones, daughter's PC, etc.)
  3. WI-FI AX 160 MHz - Meta Quest 3 virtual reality helmet, connection at a speed of 2400 Mbit.

I have 350 Mbit Internet through a separate optical router.

I play PC VR with broadcasting from PC to Helmet using the H264 encoding protocol with a real bitrate of 960 Mbit. For a comfortable game, low latency over LAN without drops is very important, the Internet connection does not go. With standard use, I have an excellent connection with a network delay of 8 ms.

BUT

If my wife starts watching streaming video (her phone is connected to the second router), my game experiences a bitrate drop. In the monitoring, I saw that her streaming service unloads 8 Mbit/sec every 30 seconds, and this is exactly when the bitrate drops in my game.

I also saw in the monitoring that the router processor is not loaded more than 25% during the game, and the memory is used by 15%. So I have a performance reserve for all indicators.

I have SQM QoS configured at 90% of the Internet speed. But this should not affect in any way, since VR broadcasting only works on a local network, and my wife's video streaming uses 3% of my Internet connection.

I do not understand why such an insignificant load causes a drop.

I would like to somehow prioritize the ports. So that either:

  1. LAN 1 and WIFI have a higher priority within the local network than LAN2. (ideal option)
  2. Or the VR connection port has priority over all others.

Is it possible to do this? And what tools are best to use?


Finally.

It seems there is no easy solution to this problem. I simply swapped the routers. I installed MT7986 as an access point for the PC and helmet, and gave all the other load to the old router.

It would probably be possible to somehow solve my problem via SQM QoS, but there are no simple instructions.

if you're not using internet for your VR, the internet settings are irrelevant ...

I don't know how to configure it for specific LAN interfaces for a local network, or for a specific type of traffic. All instructions talk about configuring WAN.

Perhaps there are instructions for my task?

I agree. I just wrote it for general information.

try moving your headset and PC onto a separate subnet - connect the tuf-ax4200 to the existing LAN via the WAN port, it'll isolate your hw from her traffic.

if it still isn't working, start looking at the wifi chans the radios are using, they could be overlapping.

Please show the line report (result link, not screenshot)
https://www.waveform.com/tools/bufferbloat
Whatever locastreaming will happen on a switch ASIC, not main CPU

You are absolutely right. But I considered this option as the very last one because this tuf-ax4200 is the main router (works as a master and is a DHCP server), I need its powerful processor because in addition to VR games I encrypt part of the traffic using a very heavy "vless xtls reality" protocol (I live in a country with blocking of many services) it copes with this 10 times better than mt7621 (2x800 MHz) on the second router.

At the same time, the streaming service that my wife watches is not encrypted, so it should not affect the performance.

indeed, but it's still using wifi bandwidth ...
what happens if you move her device to a different radio ?

I thought about it beforehand. Her phone is connected to the second router, in the helmet to the main one. Both routers use different WIFI channels, the main one on channel 100 (160MHZ) AX, the second one on channel 32 (80Mhz) AC.

They should not blink to each other in any way.

Something went wrong. When I click on the link, it only shows this.

Disable browser plugins?

https://www.waveform.com/tools/bufferbloat

It seems the problem with the test is that I live in Russia (in the very east near Japan). :slight_smile:

Either waveform blocks Russian IPs.

Or the great Russian firewall.

I got the following results through my VPS server in Germany.

I think they are not indicative because there are 10,000 kilometers between me and Germany :frowning: this greatly affects the overall ping. But it seems there is no buffer overflow.

https://www.waveform.com/tools/bufferbloat?test-id=19e657c8-760c-4140-891d-695602870ae8

1 Like

So it is 290/235 and you have to apply sqm to the traffic entering vpn tunnel (this result +/- represents your setup, distance would be 10ms at the speed of light, then back, the variation is stable)

Can your router do vpnn bidirectional?

iperf3 --bidir -Z -c <server from list>

Then scale both nimbers down proportionally to fit in router's cpu

How is that going to assist with increased LAN latency? The issue doesn't seem to have anything to do with the WAN or VPN.

@NETkuz42 do you get the same issue if the streaming is from a wired device? Or just when your wife is streaming over wifi?

Thats strange, i have same device and lan to lan gigabit does not load cpu.

Very good question and it would be worth investigating. I had suspicions that the WIFI signals somehow interfered with each other. But since I see that there is no quick solution. I simply reconfigured the routers, now the old mt7621 takes over all the traffic, all WiFi devices, VPN encryption, DNS requests and DHCP distribution.

And the new MT7986 was reset to factory settings and set as an access point, only for quest3 at 2400 WIFI and PC at 2500 ethernet. This should eliminate any problems.

If the old router cannot handle the load, I will either return to the question or just buy a new router.

I also have LAN-LAN load does not lead to CPU load. And watching movies with my wife does not increase CPU load. The bitrate on the helmet just drops... a mystery.

WIFI constantly transmitting 960 Mbit bitrate loads the processor. And this seems normal, because WIFI is a very heavy thing for the CPU when transmitting very large data.

My maxima is 4k chromecast phone to tv, i can not seriously load cpu that way.
Check wifi's ethtool -s - maybe one of apps use voice priority class that disables wifi m-pdu aggregation and kills airtime?