Hi guys,
I'm very new to OpenWRT, and I'm trying to figure out how I can use it to prioritize my game traffic. I'm not entirely sure how to set up what I want, and I'm hoping you can help me.
My Setup
I'm in Montreal using Videotron's coaxial cable internet. The modem is connected to my Archer c7 v2 router which I've flashed with OpenWRT.
I'm wired through a cat7 cable and other devices (phones, wife's laptop etc) are on wifi.
What I have already tried
I've installed the SQM software and have 1 instance of it running on my WAN interface on "cake" and "layer_cake.qos". I get A+ in all ratings on dslreport so I'm assuming it's working.
However, I play Street Fighter and it's super sensitive to jitter. As good as SQM is, I still get small spikes randomly, and that completely screws up how my character looks on my opponent's side.
What I'm trying
I figured perhaps prioritizing my game packets might work better.
But I'm not sure if I did it correctly, and if I still need SQM once the markings are in place.
What I've added to the firewall rules are written below, they are mostly taken from other threads I was able to find, and I added the ones for street fighter.
My Questions
- do I still need to keep SQM turned on if the markings are done correctly? and if it's not right, how can I mark my gaming packets correctly?
- I really mostly care about out-going packets, are those the ones with "dports" commands? and if so, are the ports number the same as the ones used on my machine for incoming packets?
- If none of this works, is there a way to prioritize my wired connection over wifi? I've tried searching for this solution, but all I've seen is that SQM doesn't work like that. However I'm wondering if that's possible via DSCP markings since I already gave my machine a static IP.
thank you guys for reading through my noob questions.
iptables -t mangle -N dscp_mark
ip6tables -t mangle -N dscp_mark
iptables -t mangle -F dscp_mark
ip6tables -t mangle -F dscp_mark
iptables -t mangle -A FORWARD -j dscp_mark
ip6tables -t mangle -A FORWARD -j dscp_mark
## icmp gets CS5
iptables -t mangle -A dscp_mark -p icmp -j DSCP --set-dscp-class CS5
ip6tables -t mangle -A dscp_mark -p icmpv6 -j DSCP --set-dscp-class CS5
## valve games use these ports (at least)
iptables -t mangle -A dscp_mark -p udp --sport 27000:27200 -j DSCP --set-dscp-class CS5
ip6tables -t mangle -A dscp_mark -p udp --sport 27000:27200 -j DSCP --set-dscp-class CS5
iptables -t mangle -A dscp_mark -p udp --dport 27000:27200 -j DSCP --set-dscp-class CS5
ip6tables -t mangle -A dscp_mark -p udp --dport 27000:27200 -j DSCP --set-dscp-class CS5
## SFV gets CS6
iptables -t mangle -A dscp_mark -p udp --sport 30840:30859 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p udp --sport 30840:30859 -j DSCP --set-dscp-class CS6
iptables -t mangle -A dscp_mark -p udp --sport 30870:30879 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p udp --sport 30870:30879 -j DSCP --set-dscp-class CS6
iptables -t mangle -A dscp_mark -p udp --dport 30840:30859 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p udp --dport 30840:30859 -j DSCP --set-dscp-class CS6
iptables -t mangle -A dscp_mark -p udp --dport 30870:30879 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p udp --dport 30870:30879 -j DSCP --set-dscp-class CS6
iptables -t mangle -A dscp_mark -p tcp --sport 20002:20002 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p tcp --sport 20002:20002 -j DSCP --set-dscp-class CS6
iptables -t mangle -A dscp_mark -p tcp --sport 30840:30870 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p tcp --sport 30840:30870 -j DSCP --set-dscp-class CS6
iptables -t mangle -A dscp_mark -p tcp --dport 20002:20002 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p tcp --dport 20002:20002 -j DSCP --set-dscp-class CS6
iptables -t mangle -A dscp_mark -p tcp --dport 30840:30870 -j DSCP --set-dscp-class CS6
ip6tables -t mangle -A dscp_mark -p tcp --dport 30840:30870 -j DSCP --set-dscp-class CS6