Hi Andy, Thanks for the suggestion. I changed the MTU to 1500 and it started working. Is this because HTB shapes traffic based on packet rate rather than bit rate? How does it use the rate lookup tables? Thanks Kiruthika On 6/1/05, Andy Furniss <andy.furniss@xxxxxxxxxxxxx> wrote: > Kiruthika Selvamani wrote: > > Hi, > > > > I am trying to use htb to limit bandwidth on loopback for traffic > > through particular port. > > > > Here is the script I am using. > > > > tc qdisc add dev lo root handle 1: htb > > tc class add dev lo parent 1: classid 1:1 htb rate 100kbit ceil 100kbit > > tc class add dev lo parent 1:1 classid 1:10 htb rate 50kbit ceil 50kbit > > tc class add dev lo parent 1:1 classid 1:11 htb rate 50kbit ceil 50kbit > > tc filter add dev lo protocol ip parent 1:0 prio 0 u32 match ip sport > > 22 0xffff flowid 1:10 > > tc filter add dev lo protocol ip parent 1:0 prio 0 u32 match ip dport > > 22 0xffff flowid 1:11 > > > > When this script is applied across eth0 (when I do a sftp to another > > machine) the bandwidth limitation is applied correctly. However if I > > use this in loopback (sftp to another directory in the same machine) > > then I get bit rate approx 400kbit - i.e. usually it roughly > > multiplies the bit rate by 8. Why does this happen? Does HTB work > > differently in loopback? Any clue regarding this would be mostl > > helpful. > > It's because the MTU on lo is big and htb uses a small one when it asks > tc to make it's rate lookup tables. > > if you do a tc -s class ls dev lo you will see there is a giants counter > , giant packets are only limited as if they are the size of the biggest > slot in the lookup table. > > To fix specify the mtu of lo on the htb classes or set the mtu on lo to > 1500. > > Andy. > _______________________________________________ LARTC mailing list LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc