All of lore.kernel.org
 help / color / mirror / Atom feed
From: eth <eth@finsiel.ro>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Has anybody used HTB?
Date: Fri, 08 Mar 2002 10:49:14 +0000	[thread overview]
Message-ID: <marc-lartc-101561778001704@msgid-missing> (raw)
In-Reply-To: <marc-lartc-101540571724934@msgid-missing>

Martin Devera wrote:

>you can use one htb here like:
>
>root (your full link, rateÎil%6k)
>\
> ssh+icmp leaf (prio=0 ratePk ceil%6k)
> http leaf (prio=1 rate\x100k ceil%6k)
> other leaf (prio=2 rate\x100k ceil%6k)
>
>This is only example - I don't remember correct
>numbers you want. In above ssh+icmp will go always
>first as long as they are under 50k, then http
>is priorized as long as it is in 100k limit ....
>
My first attempt was close to your example, like this:

tc class add dev eth1 parent 1:0 classid 1:1 htb rate 626kbit ceil 
628kbit burst 2k
 

tc class add dev eth1 parent 1:1 classid 1:10 htb rate 388kbit ceil 
400kbit burst 2k
 tc class add dev eth1 parent 1:10 classid 1:110 htb rate 32kbit ceil 
32kbit burst 2k prio 1
   tc qdisc add dev eth1 parent 1:110 handle 10:0 pfifo limit 10
 tc class add dev eth1 parent 1:10 classid 1:120 htb rate 32kbit ceil 
400kbit burst 2k prio 2
   tc qdisc add dev eth1 parent 1:120 handle 12:0 sfq perturb 10
 tc class add dev eth1 parent 1:10 classid 1:130 htb rate 112kbit ceil 
400kbit burst 2k prio 3
   tc qdisc add dev eth1 parent 1:130 handle 13:0 sfq perturb 10


I've tc-ed ICMP to be 1:110, ssh to be 1:120 and the rest 1:130. Guess 
what? Look at the following example, you can notice that although ICMP 
should be the highest prio, sometimes it's not. Maybe I've made, again, 
some mistakes or maybe prio from HTB needs more tuning... :)

64 bytes from 192.168.1.64: icmp_seq`676 ttl\x127 timeh2 usec
64 bytes from 192.168.1.64: icmp_seq`677 ttl\x127 timeh2 usec
64 bytes from 192.168.1.64: icmp_seq`678 ttl\x127 timeh5 usec
64 bytes from 192.168.1.64: icmp_seq`679 ttl\x127 timeh5 usec
64 bytes from 192.168.1.64: icmp_seq`680 ttl\x127 timeq3 usec
64 bytes from 192.168.1.64: icmp_seq`681 ttl\x127 timeh8 usec
64 bytes from 192.168.1.64: icmp_seq`682 ttl\x127 timef5 usec
64 bytes from 192.168.1.64: icmp_seq`683 ttl\x127 timee5 usec
64 bytes from 192.168.1.64: icmp_seq`684 ttl\x127 timeh8 usec
64 bytes from 192.168.1.64: icmp_seq`685 ttl\x127 timeg3 usec
64 bytes from 192.168.1.64: icmp_seq`686 ttl\x127 timeh9 usec
64 bytes from 192.168.1.64: icmp_seq`687 ttl\x127 timeq2 usec
64 bytes from 192.168.1.64: icmp_seq`688 ttl\x127 timeq4 usec
64 bytes from 192.168.1.64: icmp_seq`689 ttl\x127 time=1.410 msec
64 bytes from 192.168.1.64: icmp_seq`690 ttl\x127 timeq1 usec
64 bytes from 192.168.1.64: icmp_seq`691 ttl\x127 timei0 usec
64 bytes from 192.168.1.64: icmp_seq`692 ttl\x127 timeh7 usec
64 bytes from 192.168.1.64: icmp_seq`693 ttl\x127 timeh9 usec
64 bytes from 192.168.1.64: icmp_seq`694 ttl\x127 timeh9 usec
64 bytes from 192.168.1.64: icmp_seq`695 ttl\x127 timeq2 usec
64 bytes from 192.168.1.64: icmp_seq`696 ttl\x127 time=1.487 msec
64 bytes from 192.168.1.64: icmp_seq`697 ttl\x127 timeh5 usec
64 bytes from 192.168.1.64: icmp_seq`698 ttl\x127 timef9 usec
64 bytes from 192.168.1.64: icmp_seq`699 ttl\x127 timeh4 usec
64 bytes from 192.168.1.64: icmp_seq`700 ttl\x127 timeg6 usec
64 bytes from 192.168.1.64: icmp_seq`701 ttl\x127 timef0 usec
64 bytes from 192.168.1.64: icmp_seq`702 ttl\x127 timeq5 usec
64 bytes from 192.168.1.64: icmp_seq`703 ttl\x127 timeh8 usec
64 bytes from 192.168.1.64: icmp_seq`704 ttl\x127 timep2 usec
64 bytes from 192.168.1.64: icmp_seq`705 ttl\x127 timep5 usec   <--- 
 From now on I start and stop 4 ftp transfers
64 bytes from 192.168.1.64: icmp_seq`706 ttl\x127 time=1.554 msec
64 bytes from 192.168.1.64: icmp_seq`707 ttl\x127 timei0 usec
64 bytes from 192.168.1.64: icmp_seq`708 ttl\x127 time=4.287 msec
64 bytes from 192.168.1.64: icmp_seq`709 ttl\x127 time=1.491 msec
64 bytes from 192.168.1.64: icmp_seq`710 ttl\x127 time=3.105 msec
64 bytes from 192.168.1.64: icmp_seq`711 ttl\x127 timei0 usec
64 bytes from 192.168.1.64: icmp_seq`712 ttl\x127 time=1.461 msec
64 bytes from 192.168.1.64: icmp_seq`713 ttl\x127 timeh6 usec
64 bytes from 192.168.1.64: icmp_seq`714 ttl\x127 time=1.481 msec
64 bytes from 192.168.1.64: icmp_seq`715 ttl\x127 time=1.415 msec <-- I 
stop playing with ftp and let them flow
64 bytes from 192.168.1.64: icmp_seq`716 ttl\x127 time=1.295 msec
64 bytes from 192.168.1.64: icmp_seq`717 ttl\x127 timeq3 usec
64 bytes from 192.168.1.64: icmp_seq`718 ttl\x127 timeh8 usec
64 bytes from 192.168.1.64: icmp_seq`719 ttl\x127 timee2 usec
64 bytes from 192.168.1.64: icmp_seq`720 ttl\x127 time’1 usec
64 bytes from 192.168.1.64: icmp_seq`721 ttl\x127 time‚8 usec
64 bytes from 192.168.1.64: icmp_seq`722 ttl\x127 timeg1 usec
64 bytes from 192.168.1.64: icmp_seq`723 ttl\x127 timeh4 usec
64 bytes from 192.168.1.64: icmp_seq`724 ttl\x127 timeq6 usec
64 bytes from 192.168.1.64: icmp_seq`725 ttl\x127 timeq7 usec
64 bytes from 192.168.1.64: icmp_seq`726 ttl\x127 timeg0 usec
64 bytes from 192.168.1.64: icmp_seq`727 ttl\x127 timeh1 usec
64 bytes from 192.168.1.64: icmp_seq`728 ttl\x127 timei5 usec
64 bytes from 192.168.1.64: icmp_seq`729 ttl\x127 timeh0 usec
64 bytes from 192.168.1.64: icmp_seq`730 ttl\x127 time=1.416 msec
64 bytes from 192.168.1.64: icmp_seq`731 ttl\x127 timeq3 usec
64 bytes from 192.168.1.64: icmp_seq`732 ttl\x127 timei5 usec
64 bytes from 192.168.1.64: icmp_seq`733 ttl\x127 timei1 usec
64 bytes from 192.168.1.64: icmp_seq`734 ttl\x127 timeg5 usec
64 bytes from 192.168.1.64: icmp_seq`735 ttl\x127 timex2 usec
64 bytes from 192.168.1.64: icmp_seq`736 ttl\x127 timef2 usec
64 bytes from 192.168.1.64: icmp_seq`737 ttl\x127 timef0 usec
64 bytes from 192.168.1.64: icmp_seq`738 ttl\x127 timef2 usec
64 bytes from 192.168.1.64: icmp_seq`739 ttl\x127 timeq1 usec
64 bytes from 192.168.1.64: icmp_seq`740 ttl\x127 timeh4 usec
64 bytes from 192.168.1.64: icmp_seq`741 ttl\x127 timeh1 usec
64 bytes from 192.168.1.64: icmp_seq`742 ttl\x127 timeg5 usec
64 bytes from 192.168.1.64: icmp_seq`743 ttl\x127 timef9 usec
64 bytes from 192.168.1.64: icmp_seq`744 ttl\x127 timeg2 usec
64 bytes from 192.168.1.64: icmp_seq`745 ttl\x127 time=1.454 msec


    You can see that every once and then prio from HTB misses some prio 
as long as lower traffic is constant in terms of number of connections; 
I can testify too that the traffic to the shaped class is still smoth; 
HTB has some problems when starting and stopping connections, watch my 
notice above. The listing above made me attempt to make a htb root and 
from there a PRIO with it's default 3 bands and each of then limited 
with HTBs... I quit after it looks like HTB doesn't like being a leaf of 
a PRIO's band. I've made the correction you suggested in the last mail 
but they were of no use. OTOH root HTB with PRIO and TBF on each leaf 
would make the band 0 *REALLY* prio, I'm sorry I don't have the listing 
with ICMP's you'll have to take my word for it ;-). Still in the second 
case (PRIO+TBF) FTP on the lower bands was very poor distributed in 
terms of who gets what amount of traffic; plus it was exactly like I 
thought, if you start 10 pings you drown the other bands... dilema!



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

  parent reply	other threads:[~2002-03-08 10:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-06  9:05 [LARTC] Has anybody used HTB? eth
2002-03-06  9:20 ` Martin Devera
2002-03-06 14:48 ` eth
2002-03-08 10:09 ` Martin Devera
2002-03-08 10:49 ` eth [this message]
2002-03-08 11:35 ` Martin Devera
2002-03-08 12:54 ` eth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-lartc-101561778001704@msgid-missing \
    --to=eth@finsiel.ro \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.