OPNsense Forum

Archive => 23.1 Legacy Series => Topic started by: Benji on July 13, 2023, 10:50:27 AM

Title: fq-codel problem forcing reboot
Post by: Benji on July 13, 2023, 10:50:27 AM
Hi,

I'm experimenting with traffic shaping to get our bufferbloat under control. At the moment I'm just making small changes, retesting, noting the results and carrying on.

However, I've run into a problem with tuning fq-codel flows on my downstream pipe. It's currently set at 1024. I wanted to see what impact the values had through the whole range. If I set max value, opnsense reboots as soon as I hit apply and comes back with the gateway stuck offline. The only way to fix it is to restore a previous config and reboot again.

I've tried a number of values, down to 10000, it still causes the issue.

What's causing this and how do I get around it?
Title: Re: fq-codel problem forcing reboot
Post by: Seimus on July 14, 2023, 12:06:34 PM
This behavior is normal even thou it looks unusual. When you try to adjust the Flows parameter in FQ_Codel it may cause a reboot if the number is too high.

Usualy you dont need to change the Flows parameter:
https://www.man7.org/linux/man-pages/man8/tc-fq_codel.8.html

   flows
       is the number of flows into which the incoming packets are
       classified. Due to the stochastic nature of hashing, multiple
       flows may end up being hashed into the same slot. Newer flows
       have priority over older ones. This parameter can be set only at
       load time since memory has to be allocated for the hash table.
       Default value is 1024.



Regards,
S.
Title: Re: fq-codel problem forcing reboot
Post by: Benji on July 14, 2023, 12:08:15 PM
I see, thank you for the info. What determines if it's too high? Free memory?
Title: Re: fq-codel problem forcing reboot
Post by: Seimus on July 14, 2023, 12:54:46 PM
Not sure here, never figured that out. I think it reboots due to the fact that it needs to allocated addresses in memory, this process can not be done On the Fly. Allocation of resources should be done during bootup.

Regards,
S.