HTB, MPU, and suitable values

Linux Advanced Routing and Traffic Control

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

 



It seems Andreas Klauer's fairnat has experimental support for using HTB's MPU 
and overhead options.

fairnat.config:

# Use MPU for HTB. From the LARTC Howto on MPU:
# "A zero-sized packet does not use zero bandwidth. For ethernet, no packet
#  uses less than 64 bytes. The Minimum Packet Unit determines the minimal
#  token usage for a packet."
HTB_MPU=0
# HTB_MPU=64  # Ethernet
# HTB_MPU=106 # According to Andy Furniss, this value is suited for DSL users

I imagine that 106 value is a reference to this post:

http://mailman.ds9a.nl/pipermail/lartc/2004q2/012369.html

The patch seems to be available here:

http://luxik.cdi.cz/~devik/qos/htb/v3/htb_tc_overhead.diff

In any case, I applied the patch to `tc` and recompiled.

The resulting binary let me set 'mpu' when using HTB, so I set it to 106 as 
suggested above.

As far as I can tell, nothing changed.

Should there be some notable outcome from setting this parameter, as I suspect 
there should, or should I be using some other value?

Was there a HTB component to this patch as well?  I patched `tc`, but not HTB 
in my 2.6.6 kernel.  I wasn't able to locate a kernel patch for this, is 
there one?

Here's the actual configuration:

tc qdisc add dev eth0 root handle 1: htb default 90
tc class add dev eth0 parent 1: classid 1:1 htb rate 160kbit ceil \
  160kbit mpu 106

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 64kbit ceil \
  64kbit mpu 106 prio 0
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 96kbit ceil \
  160kbit mpu 106 prio 1
tc class add dev eth0 parent 1:1 classid 1:50 htb rate 8kbit ceil \
  160kbit mpu 106 prio 1
tc class add dev eth0 parent 1:1 classid 1:90 htb rate 8kbit ceil \
  160kbit mpu 106 prio 1

tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 20
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 20
tc qdisc add dev eth0 parent 1:50 handle 50: sfq perturb 20
tc qdisc add dev eth0 parent 1:90 handle 90: sfq perturb 20

My connection is a ADSL line.  When the link is saturated with a large 
quantity of small UDP packets (~ 100 bytes each) I find the modem begins to 
queue locally when I use a rate of 190kbit for my parent class.  So, I was 
forced to switch to 160kbit.  That seems symptomatic of HTB not knowing the 
true cost of sending a packet across the ADSL link, which is of essential 
importance when there are many small packets.

It's my suspicion that the MPU and overhead options for HTB would assist in 
resolving this and enable me to resume using 190kbit instead of 160kbit for 
the outer most parent class.

Is my suspicion correct?

Thanks.

_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux