Re: prio queue not working as expected?

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 06/21/2013 01:46 PM, Remy Mudingay wrote:
> All correct except that you need to classify from the prio class to the leaf qdisc, which in your case is tbf.
> I strongly recommend testing this further. 

I did test it now. It seems to be a discrepancy between my kernel and my
userland tools.

I tested it on a debian stable stock kernel, now. and things behave as
they should.

> 1. Create the prio qdisc with priomap but without attaching leaf qdisc's to the prio classes. 

I see differentiation.

> 2. Then test again by attaching qdiscs to your prio class.

I see differentiation, also with qdiscs in my prio classes, and even
without classification rules.

> 3. Finally test using your current setup but include classification rules.  

Don't matter anymore. I know that I've been fooled by tc :)

> Test 1 and 3 will both work.
> 
> Remy.

Even Test 2 worked.
Thank you for your help.

Wolfgang

> 
> Sent from my iPhone 
> 
> On Jun 21, 2013, at 11:09, Wolfgang Hennerbichler <wogri@xxxxxxxxx> wrote:
> 
>> On Jun 21, 2013, at 11:03 , Remy Mudingay <remy.mudingay@xxxxxxxxx> wrote:
>>
>>> Thanks for providing more info.
>>> Firstly, the checksum error stems from tcp offloading on the local interface (wan0).
>>
>> Thank you. I didn't know about TOE and it's implication before. 
>>
>>> However, the prio qdisc does require the addition of filters when attaching qdisc's to prio classes. Take a look at the following  example :
>>>
>>> http://d3s.mff.cuni.cz/~ceres/sch/osy/text/ch06s02s04.html
>>
>> wow. Did I misunderstand the prio-qdisc? 
>> from man tc-prio
>>
>> CLASSIFICATION
>>       Three methods are available to PRIO to determine in which band a packet will be enqueued.
>> …
>>       with the priomap
>>              Based on the packet priority, which in turn is derived from the Type of Service assigned to the packet.
>>
>>              The priomap maps the priority of a packet to a class. The priority can either be  set  directly  from  userspace,  or  be
>>              derived from the Type of Service of the packet.
>>
>>              Determines  how  packet priorities, as assigned by the kernel, map to bands. Mapping occurs based on the TOS octet of the
>>              packet, which looks like this:
>> … 
>>
>> to me it seems to be the case that the prio-qdisc would be intelligent enouth to priorize for me. 
>>
>>
>>> Remy
>>> On Jun 21, 2013, at 7:42, Wolfgang Hennerbichler <wogri@xxxxxxxxx> wrote:
>>>
>>>>
>>>> -- 
>>>> http://www.wogri.at
>>>>
>>>> On Jun 21, 2013, at 05:11 , Remy Mudingay <remy.mudingay@xxxxxxxxx> wrote:
>>>>
>>>>> Hi Wolfgang,
>>>>>
>>>>> Can you post the output from 'tc -s class dev wan0' and also include
>>>>> all filters for matching scp, ssh and telnet.
>>>>
>>>> Hi Remy, 
>>>>
>>>> tc -s class show dev wan0
>>>> class prio 1:1 parent 1: leaf 10: 
>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
>>>> backlog 0b 0p requeues 0 
>>>> class prio 1:2 parent 1: leaf 20: 
>>>> Sent 97189 bytes 678 pkt (dropped 11, overlimits 409 requeues 0) 
>>>> backlog 0b 0p requeues 0 
>>>> class prio 1:3 parent 1: leaf 30: 
>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
>>>> backlog 0b 0p requeues 0 
>>>> class tbf 20:1 parent 20: 
>>>>
>>>> (this is after doing some fiddling with an interactive ssh session). 
>>>> There are no filters (neither tc nor iptables mangles), as far as I've understood prio should priorize according to it's priomap. 
>>>>
>>>> here's a tcpdump: 
>>>>
>>>> 05:39:28.048426 IP (tos 0x10, ttl 64, id 60303, offset 0, flags [DF], proto TCP (6), length 52)
>>>>   x.x.x.x.50356 > y.y.y.y.22: Flags [.], cksum 0x545e (incorrect -> 0xc7ca), seq 0, ack 433, win 653, options [nop,nop,TS val 31327537 ecr 1639911627], length 0
>>>>
>>>> oh. and maybe this is my issue: i see an incorrect checksum here on all those packets. maybe this is causing the troubles. is there a chance that this is happening because my interface is bridged? hm. I wonder how to deal with this (the actual communication works, btw). 
>>>>
>>>> Wolfgang
>>>>
>>>>> Cheers,
>>>>>
>>>>> Remy
>>


-- 
http://www.wogri.com
--
To unsubscribe from this list: send the line "unsubscribe lartc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux