[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[altq 11] ALTQ internals



Hello.
Checking the ALTQ internals, I discovered that the computation os the *avgidle* parameter differs from the CBQ original proposal.

In fact, 

ALTQ: altq_rmclass.c, function rmc_update_class_util

  avgidle+= idle - (avgidle >> RM_FILTER_GAIN)

  that means: avgidle = idle + (31/32) avgidle


CBQ (Floyd):

  avgidle= w * avgidle + (1-w) idle

  that means (if w= 31/32): avgidle= 1/16 idle + 31/32 avgidle


Why this difference?
Thanks a lot.

	fulvio