Hello, I am rate limiting traffic going to some IP addresses using CBQ (and want to change to HTB sometime). While testing with different packet sizes I found out that I could go above the rate limit I set. (even with HTB) The values I use are: rate: 768kbit weight 77kbit allot 10000 avpkt 1512 I did not change the cell or other parameters. My root qdisc is set to 40MBit. With those values I am able to go up to 840kbit/s with packets sizes of 612 or 1224. With other values it''s less except for very low values. Changing the allot value (If I understood well allot*weight=max packets per round) it only gets worst (tested with 1000 and 50000). AVPKT is only used for maxidle so it should not change anything ? What values should I tweak to have the max rate never exeeded and still be able to come very near my max-rate using 1460 bytes packets ? Would HTB be more accruate ? Thanks for the HELP. -- Thierry Coutelier /''\ ASCII Ribbon Campaign http://www.linux.lu \ / No HTML/RTF in email . × No Word docs in email . / \ Respect for open standards _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Thierry Coutelier wrote:> > > Hello, > > I am rate limiting traffic going to some IP addresses using CBQ > (and want to change to HTB sometime). > > While testing with different packet sizes I found out that I could go > above the > rate limit I set. (even with HTB) > > The values I use are: rate: 768kbit weight 77kbit allot 10000 avpkt 1512 > I did not change the cell or other parameters. > My root qdisc is set to 40MBit. > > With those values I am able to go up to 840kbit/s with packets sizes > of 612 or 1224. > With other values it''s less except for very low values. > > Changing the allot value (If I understood well allot*weight=max > packets per round) > it only gets worst (tested with 1000 and 50000). > > AVPKT is only used for maxidle so it should not change anything ? > > What values should I tweak to have the max rate never exeeded and > still be able > to come very near my max-rate using 1460 bytes packets ? > > Would HTB be more accruate ? > > > Thanks for the HELP. >Thierry, to my knowledge, HTB is more predictable than CBQ and easier to set up. If you want more accuracy, I suggest you modify a file in the kernel source: include/net/pkt_sched.h Change the #define for PSCHED_CLOCK_SOURCE from PSCHED_JIFFIES to PSCHED_CPU. I''ve read this suggestion on the list but never tried it yet. Note that this is valid only for CPUs that support a TSC (Pentium and up). Regards, Stephane _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
I already tried it and it does not improve much the behaviour. With which parameters should I play in HTB and CBQ ? Stephane Ouellette wrote:> Thierry Coutelier wrote: > > > > > > > Hello, > > > > I am rate limiting traffic going to some IP addresses using CBQ > > (and want to change to HTB sometime). > > > > While testing with different packet sizes I found out that I could go > > above the > > rate limit I set. (even with HTB) > > > > The values I use are: rate: 768kbit weight 77kbit allot 10000 avpkt 1512 > > I did not change the cell or other parameters. > > My root qdisc is set to 40MBit. > > > > With those values I am able to go up to 840kbit/s with packets sizes > > of 612 or 1224. > > With other values it''s less except for very low values. > > > > Changing the allot value (If I understood well allot*weight=max > > packets per round) > > it only gets worst (tested with 1000 and 50000). > > > > AVPKT is only used for maxidle so it should not change anything ? > > > > What values should I tweak to have the max rate never exeeded and > > still be able > > to come very near my max-rate using 1460 bytes packets ? > > > > Would HTB be more accruate ? > > > > > > Thanks for the HELP. > > > Thierry, > > to my knowledge, HTB is more predictable than CBQ and easier to set up. > > If you want more accuracy, I suggest you modify a file in the kernel > source: include/net/pkt_sched.h > > Change the #define for PSCHED_CLOCK_SOURCE from PSCHED_JIFFIES to > PSCHED_CPU. > > I''ve read this suggestion on the list but never tried it yet. Note > that this is valid only for CPUs that support a TSC (Pentium and up). > > Regards, > > Stephane >-- Thierry Coutelier /''\ ASCII Ribbon Campaign http://www.linux.lu \ / No HTML/RTF in email . × No Word docs in email . / \ Respect for open standards _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/