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]

 



Hi Wolfgang,

Thanks for providing feedback.

Remy

On Jun 24, 2013, at 9:47, Wolfgang Hennerbichler <wogri@xxxxxxxxx> wrote:

> 
> 
> 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
--
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