> INTERNET > | > |eth0 202=2E14=2E41=2E1 > BW=2EManager > | | > | +----eth1----192=2E168=2E1=2E0/24 > | > +------eth2----192=2E168=2E2=2E0/24 > > Total incoming bandwidth to eth0 is 1024kbps > should be shared to eth1 and eth2, which mean each get 512Kbps and > burstable to 1024Kbps if other host is idle=2E This doesn't make sense to me. The fact that an internal host is idle does not justify not sending traffic TO it. The suggestions to use IMQ+HTB seem to miss the problem that if someone sends 1024 to eth1 then nobody has a chance to even begine to send anything to eth2. I think you want to allow "borrowing" only as long as the total incoming rate from eth0 is sufficiently less than 1024 to be sure that those sending to the lesser used internal interface can speed up. In effect I think you have to sacrifice some part of your 1024 to make sure the shaping is done at your machine. I'm not sure how much you have to sacrifice. But suppose it's 24K, so you then have two htb classes that have rate 500, ceil 1000. And the parent class also has ceil 1000. That's critical. That means that if we send at full rate to eth1 then we still have room for someone to start sending to eth2. Then when someone does start sending, he initially gets 24K to eth2. At that point HTB reduces the traffic to eth1 by 24K in order to stay below total 1000. Then the guy sending to eth2 can increase by 24K which will cause eth1 to drop another 24, etc. As you can see, the amount you "reserve" (you might say "waste") also limits how fast the traffic equalizes. Does this make sense to everyone out there?