Linux Advanced Routing and Traffic Control list
 help / color / mirror / Atom feed
From: Nikolay Kichukov <hijacker@oldum.net>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] HTB does not respect the prio parameter
Date: Wed, 29 Aug 2007 10:56:44 +0000	[thread overview]
Message-ID: <46D550EC.8030005@oldum.net> (raw)
In-Reply-To: <46D52904.4040809@businessecurity.com>

Hello Martin,

I used to have this kind of problem before. Not sure if I resolved it
with the help of folks on this mailing list, but I never tested.

What you can try is to remove the prio parameter from the classes and
leave the prio only for the filters.

Let us know if that helps.
Cheers,
-Nikolay



Martin Björnsson wrote:
> Yes, exactly. So my 1:20 class (prio 1) should get to send more than the 1:30 class. But
> it doesn't, they both get about the same throughput.
> 
> Nobody else having problems with the prio parameter?
> 
> Martin
> 
> bartekR wrote:
>> Martin Björnsson pisze:
>>> Hi all,
>>>
>>> I'm experimenting with HTB and the prio parameter and it does not give
>>> me results I
>>> expect. I've created 4 HTB classes:
>>>
>>> 1:10 TCP ACKs                       (prio 0)
>>> 1:20 TCP traffic on dst port 10001  (prio 1)
>>> 1:30 TCP traffic on dst port 10000  (prio 2)
>>> 1:40 Default                        (prio 3)
>>>
>>> ceil and rate parameters are the same for all 4 classes (rate is
>>> 1000kbit and ceil is
>>> 55000kbit).
>>>
>>> Then I start 2 TCP flows on src/dst ports 10000 and 10001. The packets
>>> seem to be
>>> correctly classified by the filter (I get hits on classes 10, 20 and 30).
>>>
>>> The problem is that I get the same throughput on both TCP flows.
>>> Shouldn't I get about
>>> 1000kbit through class 30 and much more through class 20 since it has
>>> higher priority?
>>>
>>>
>>> Here's my setup script:
>>>
>>> #!/bin/sh
>>> /bin/tc qdisc add dev eth0 root handle 1: htb default 40 && \
>>> /bin/tc class add dev eth0 parent 1:0 classid 1:1 htb rate 55000kbit
>>> ceil 55000kbit
>>> quantum 60000 && \
>>> /bin/tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1000kbit
>>> ceil 55000kbit prio 0
>>> quantum 60000 && \
>>> /bin/tc class add dev eth0 parent 1:1 classid 1:20 htb rate 1000kbit
>>> ceil 55000kbit prio 1
>>> quantum 60000 && \
>>> /bin/tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1000kbit
>>> ceil 55000kbit prio 2
>>> quantum 60000 && \
>>> /bin/tc class add dev eth0 parent 1:1 classid 1:40 htb rate 1000kbit
>>> ceil 55000kbit prio 3
>>> quantum 60000 && \
>>> /bin/tc filter add dev eth0 parent 1:0 prio 99 handle 2: protocol ip
>>> u32 divisor 256 && \
>>> /bin/tc filter add dev eth0 parent 1:0 protocol ip prio 10 u32 \
>>>   ht 2:0: \
>>>   match u8 0x06 0xff at 9 \
>>>   match u8 0x10 0xff at nexthdr+13 \
>>>   flowid 1:10 && \
>>> /bin/tc filter add dev eth0 parent 1:0 protocol ip prio 10 u32 \
>>>   ht 2:0: \
>>>   match u8 0x06 0xff at 9 \
>>>   match u16 0x2711 0xffff at nexthdr+2 \
>>>   flowid 1:20 && \
>>> /bin/tc filter add dev eth0 parent 1:0 protocol ip prio 10 u32 \
>>>   ht 2:0: \
>>>   match u8 0x06 0xff at 9 \
>>>   match u16 0x2710 0xffff at nexthdr+2 \
>>>   flowid 1:30 && \
>>> /bin/tc filter add dev eth0 parent 1:0 protocol ip prio 99 u32 ht
>>> 800:: offset at 0 mask
>>> 0x0f00 shift 6 plus 0 match u8 0x40 0xf0 at 0 link 2: && \
>>> /bin/tc qdisc add dev eth0 parent 1:10 handle 20: red limit 1000KB min
>>> 10KB max 300KB
>>> avpkt 1000 burst 100 probability 0.02 && \
>>> /bin/tc qdisc add dev eth0 parent 1:20 handle 30: red limit 1000KB min
>>> 10KB max 300KB
>>> avpkt 1000 burst 100 probability 0.02 && \
>>> /bin/tc qdisc add dev eth0 parent 1:30 handle 40: red limit 1000KB min
>>> 10KB max 300KB
>>> avpkt 1000 burst 100 probability 0.02 && \
>>> /bin/tc qdisc add dev eth0 parent 1:40 handle 50: red limit 1000KB min
>>> 10KB max 300KB
>>> avpkt 1000 burst 100 probability 0.02 && \
>>>
>>> Regards,
>>> Martin
>>> _______________________________________________
>>> LARTC mailing list
>>> LARTC@mailman.ds9a.nl
>>> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
>>>
>>>
>> As far as I know lower prio numbers (as 0) means higher priority and
>> higher prio numbers (as 7) means lower priority.
>>
>> http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
>>
>>
>>
>> Bartek
>>
>>
>> ----------------------------------------------------------------------
>> Mobilne wiadomo¶ci w Twojej komórce
>>
>>>>> http://link.interia.pl/f1b71
> _______________________________________________
> LARTC mailing list
> LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

  parent reply	other threads:[~2007-08-29 10:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-29  8:06 [LARTC] HTB does not respect the prio parameter Martin Björnsson
2007-08-29  8:58 ` bartekR
2007-08-29 10:50 ` Martin Björnsson
2007-08-29 10:56 ` Nikolay Kichukov [this message]
2007-09-06 21:26 ` Andy Furniss
2007-09-07  8:43 ` Justin Schoeman

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=46D550EC.8030005@oldum.net \
    --to=hijacker@oldum.net \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox