FQ_Codel not trraffic shaping upload
Opened this issue · 8 comments
Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
- [ Y] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
- [ Y] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue
Describe the bug
A clear and concise description of what the bug is, including last known working version (if any).
I tried to setup my wan2/opt1 FQ_CODEL using the documentation https://docs.opnsense.org/manual/how-tos/shaper_bufferbloat.html. Download works fine but upload is not getting getting shaped.
To Reproduce
Steps to reproduce the behavior:
- Setup FQ COdel WAN2/OPT1 https://docs.opnsense.org/manual/how-tos/shaper_bufferbloat.html
- Perform Bufferfloat test and speed test
- Download latency and speed is reduced. Upload latency and speed it not reduced
Expected behavior
Download latency and speed is reduced. Upload latency and speed it is reduced. Upload should also be shaped similar to download
Describe alternatives you considered
None
Screenshots
n/a
Relevant log files
N/A
Additional context
n/a
Environment
OPNsense 24.7.7-amd64
Intel J1900
Hey there,
You are mentioning WAN2, thus do you use multi WAN on your device?
If yes, does the Upload on WAN1 working properly?
Can you post your pipe, queue and relative rules for the Shaper on WAN2?
Can you Show the output of Buffer bloat test and what BW do you have for WAN2?
Can you show output of the statistics, FW > Shaper > Status?
Can you see under Status, that the proper queue & rule is being hit for WAN2 Upload?
Regards,
S.
Yea so the reason why you have D is because the traffic for Upload is not shaped as its not classified into the proper Queue.
Looks like you have proper association between Pipe > Queue > Rule.
Can you open (edit button) both Upload rules you have, click the advanced mode and make a pic of them and post them here?
As well in the Rules, what Direction you have set for the Upload Rules?
Regards,
S.
On first look all looks correct,
Can you post the same for the LTE as well?
Can you log into OPNsense via ssh and run these commands as sudo and show the output?
ipfw pipe show
ipfw queue show
ipfw sched show
ipfw show
The commands will show if what you configured via GUI is really applied to the ipfw that actually runs the shaper.
Regards,
S.
see result below
root@OPNsense:~ # ipfw pipe show
10002: 300.000 Mbit/s 0 ms burst 0
q75538 50 sl. 0 flows (1 buckets) sched 10002 weight 0 lmax 0 pri 0 droptail
sched 75538 type FIFO flags 0x0 0 buckets 0 active
10003: 300.000 Mbit/s 0 ms burst 0
q75539 50 sl. 0 flows (1 buckets) sched 10003 weight 0 lmax 0 pri 0 droptail
sched 75539 type FIFO flags 0x0 0 buckets 0 active
10000: 100.000 Mbit/s 0 ms burst 0
q75536 50 sl. 0 flows (1 buckets) sched 10000 weight 0 lmax 0 pri 0 droptail
sched 75536 type FIFO flags 0x0 0 buckets 0 active
10001: 10.000 Mbit/s 0 ms burst 0
q75537 50 sl. 0 flows (1 buckets) sched 10001 weight 0 lmax 0 pri 0 droptail
sched 75537 type FIFO flags 0x0 0 buckets 0 active
root@OPNsense:~ # ipfw queue show
q10002 50 sl. 0 flows (1 buckets) sched 10002 weight 100 lmax 0 pri 0 droptail
q10003 50 sl. 0 flows (1 buckets) sched 10003 weight 100 lmax 0 pri 0 droptail
q10000 50 sl. 0 flows (1 buckets) sched 10000 weight 100 lmax 0 pri 0 droptail
q10001 50 sl. 0 flows (1 buckets) sched 10001 weight 100 lmax 0 pri 0 droptail
root@OPNsense:~ # ipfw sched show
10002: 300.000 Mbit/s 0 ms burst 0
q75538 50 sl. 0 flows (1 buckets) sched 10002 weight 0 lmax 0 pri 0 droptail
sched 10002 type FQ_CODEL flags 0x0 0 buckets 1 active
FQ_CODEL target 5ms interval 100ms quantum 1514 limit 10240 flows 1024 NoECN
Children flowsets: 10002
BKT Prot Source IP/port_ Dest. IP/port Tot_pkt/bytes Pkt/Byte Drp
0 ip 0.0.0.0/0 0.0.0.0/0 5 6300 0 0 0
10003: 300.000 Mbit/s 0 ms burst 0
q75539 50 sl. 0 flows (1 buckets) sched 10003 weight 0 lmax 0 pri 0 droptail
sched 10003 type FQ_CODEL flags 0x0 0 buckets 0 active
FQ_CODEL target 5ms interval 100ms quantum 1514 limit 10240 flows 1024 NoECN
Children flowsets: 10003
10000: 100.000 Mbit/s 0 ms burst 0
q75536 50 sl. 0 flows (1 buckets) sched 10000 weight 0 lmax 0 pri 0 droptail
sched 10000 type FQ_CODEL flags 0x0 0 buckets 0 active
FQ_CODEL target 5ms interval 100ms quantum 1514 limit 10240 flows 1024 NoECN
Children flowsets: 10000
10001: 10.000 Mbit/s 0 ms burst 0
q75537 50 sl. 0 flows (1 buckets) sched 10001 weight 0 lmax 0 pri 0 droptail
sched 10001 type FQ_CODEL flags 0x0 0 buckets 0 active
FQ_CODEL target 5ms interval 100ms quantum 300 limit 10240 flows 1024 NoECN
Children flowsets: 10001
root@OPNsense:~ # ipfw show
00100 0 0 allow pfsync from any to any
00110 0 0 allow carp from any to any
00120 0 0 allow layer2 mac-type 0x0806,0x8035
00130 0 0 allow layer2 mac-type 0x888e,0x88c7
00140 0 0 allow layer2 mac-type 0x8863,0x8864
00150 0 0 deny layer2 not mac-type 0x0800,0x86dd
00200 0 0 skipto 60000 ip6 from ::1 to any
00201 301778 35544338 skipto 60000 ip4 from 127.0.0.0/8 to any
00202 0 0 skipto 60000 ip6 from any to ::1
00203 0 0 skipto 60000 ip4 from any to 127.0.0.0/8
06000 25087386 32845800857 skipto 60000 tcp from any to any out
06199 101299660 115797957250 skipto 60000 ip from any to any
60000 0 0 return
60001 23303960 27798501959 queue 10000 ip from any to any in via em2 // 382b279c-402f-44f6-83b6-68528074ef0e opt1: LTE_Download-Queue
60002 132859 3892214 queue 10001 ip from any to any out via em2 // 92e40c5f-0228-43fb-b291-e9d904f823de opt1: LTE_Upload-Queue
60003 39504762 46483324584 queue 10002 ip from any to any in via em1 // 85f6f73f-6dce-461f-8996-32f291dff928 wan: WAN_Download-Queue
60004 489743 33043749 queue 10003 ip from any to any out via em1 // 1a7c2362-08c8-4b85-bc27-80719bc3a5eb wan: WAN_Upload-Queue
65533 63257500 74360539939 allow ip from any to any
65534 0 0 deny ip from any to any
65535 0 0 allow ip from any to any
From the Logs, and pictures you provided, its sees to be configured in ipfw correctly as well. So if a packet hits this specific interface OUTbound on WAN or LTE it should be matched and thus shaped.
Can you try to disable the LTE connection and test if WAN Upload is working?
Did you try to maybe reboot the FW if that does any difference?
Can you try to disable the Shaping Pipe/Queue/Rule for LTE and only run WAN if that works?
Can try to remove all the sharper config, disabled it, reboot OPNsense and recreate anew starting with WAN and test if it works?
Overall than that I have no other ideas, configuration looks alright. I have something similar but I dont run MultiWAN I just have a lot of queues and rules.
Regards,
S.