guide to using fq_codel on 17.1

Started by opnfwb, February 28, 2017, 07:44:57 PM

Previous topic - Next topic
June 13, 2017, 09:51:05 PM #15 Last Edit: June 13, 2017, 10:09:05 PM by ptha
How did you manage to get the type on FQCODEL. Cause no matter what I try, my scheduler type stays on FIFO. But there seems difference in how it behaves...

Even if I add the pipe in the shell. No matter what you enter it always shows FiFo sadly...


Some extra info.

I tried it on two setups that I have running. Both give only FIFO as a type. Now for testing I just have a VM with 17.1.8 on it. Super simple setup it just always shows FIFO. Like this for example:

Limiters:
10000:  40.000 Mbit/s    0 ms burst 0
q141072  50 sl. 0 flows (1 buckets) sched 75536 weight 0 lmax 0 pri 0 droptail
sched 75536 type FIFO flags 0x0 0 buckets 0 active


It's now a bit weird to know if it's really working or not, this guessing is really a bit...

But even if you set it up in the CLI with something like
IPFW pipe config sched QFQ it remains on FIFO if you do IPFW pipe show.


Oh just to comment something on earlier posts.

That you don't have to hit the box codel or set a mask on fq_codel makes perfect sense.

- Cause codel can also be used as just a way how to let packets drop if a pipe gets saturated. Essentially just if the delay exceeds a certain amount of ms.
- FQ_codel is a way that it automatically makes queues out of flows. So a mask is not needed to generate queues.

Cake would even be super great to have when it's available. Then the automatic flow creation done in a much nicer way.

But first, it would be super nice to have this traffic shaper going :)

The limiters will show FIFO, the queues in terms of the GUI will show FQ-CODEL is running if you check it. You can check the Traffic Shaper->Status in the GUI:


Limiters:
10000: 940.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: 880.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


Queues:
q10002  50 sl. 0 flows (1 buckets) sched 10001 weight 100 lmax 0 pri 0  AQM CoDel target 5ms interval 100ms NoECN
q10003  50 sl. 0 flows (1 buckets) sched 10001 weight 10 lmax 0 pri 0  AQM CoDel target 5ms interval 100ms NoECN
q10000  50 sl. 0 flows (1 buckets) sched 10000 weight 100 lmax 0 pri 0  AQM CoDel target 5ms interval 100ms NoECN
q10001  50 sl. 0 flows (1 buckets) sched 10000 weight 10 lmax 0 pri 0  AQM CoDel target 5ms interval 100ms NoECN

Or from the command line, run ipfw sched show:


root@phoenix:~ # ipfw sched show
10000: 940.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 1 active
FQ_CODEL target 5ms interval 100ms quantum 1514 limit 10240 flows 1024 NoECN
   Children flowsets: 10001 10000
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        2      396  0    0   0
10001: 880.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 1 active
FQ_CODEL target 5ms interval 100ms quantum 1514 limit 10240 flows 1024 NoECN
   Children flowsets: 10003 10002
  0 ip           0.0.0.0/0             0.0.0.0/0        2      316  0    0   0