fq_codel and quantum

192 views
Skip to first unread message

Nat P

unread,
Aug 18, 2016, 5:36:08 AM8/18/16
to ns-3-users
Hi all,

I'm taking a look into the newly added fq_codel class. I have a doubt, probably because I don't know exactly what is done in the kernel. It seems that, in ns-3, the m_quantum variable is always 0. In fact, with this configuration, it seems that a newly created flows at enqueue (line 188 and 189) have quantum at 0. Consequently, in Dequeue (line 220) they are transformed in "old" flows very soon.

The correct way for an user to use FqCodel is to manually set m_quantum through the method FqCoDelQueueDisc::SetQuantum (uint32_t quantum) ? If I'm not wrong (but could be) this would represent the number of dequeued bytes after which a new flows becames old.

Thank you!

Nat

Stefano Avallone

unread,
Aug 19, 2016, 5:29:51 PM8/19/16
to ns-3-users
The quantum attribute is not null. Quoting from the documentation [1]:

"Note that the quantum, i.e., the number of bytes each queue gets to dequeue on each round of the scheduling algorithm, is set by default to the MTU size of the device (at initialisation time). The FqCoDelQueueDisc::SetQuantum () method can be used (at any time) to configure a different value."

You might want to have a look at FqCoDelQueueDisc::InitializeParams() for more details.

Bests,
Stefano

[1] https://www.nsnam.org/docs/models/html/fq-codel.html

Nat P

unread,
Aug 20, 2016, 8:10:15 AM8/20/16
to ns-3-users
aaah! Very nice, thank you.

Nat
Reply all
Reply to author
Forward
0 new messages