Subject: Re: tc filter flow hash question

From: Badalian Vyacheslav <[email-masked]>
Date: Tue, 30 Jun 2009 13:49:11 +0400

> On Tue, Jun 30, 2009 at 01:18:42PM +0400, Badalian Vyacheslav wrote:
>   
>> Jarek Poplawski ??????????:
>>     
>>> On 30-06-2009 10:12, Badalian Vyacheslav wrote:
>>>       
> ...
>   
>>>> tc qdisc add dev eth0 root handle 1 htb default 7
>>>> class add dev eth0 parent 1: classid 1:7 htb rate 500mbit ceil 1000mbit
>>>> prio 3
>>>> qdisc add dev eth0 parent 1:7 handle 10: sfq perturb 10
>>>> # all normal
>>>> tc filter add dev eth0 protocol ip parent 10: handle 2 flow hash keys
>>>> src,dst
>>>> # all traffic drop
>>>>
>>>>     
>>>>         
>>>   
>>>       
>> Yep. I was read this commit and create example based on it.
>> My question why its drop all traffic after add flow filter? Its simple
>> must group traffic to sfq qidsc by HASH like equal cost routing by KEY
>> if i understand. I need balance traffic in class/qdisc by KEY, but not
>> by sessions.
>>
>> Any worked example will be great. In commit i see only syntax :)
>>     
>
> Any non-working example with this syntax? (divisor?)
>
>   

This example not approach? 

tc qdisc add dev eth0 root handle 1 htb default 7
tc class add dev eth0 parent 1: classid 1:7 htb rate 500mbit ceil 1000mbit prio 3
tc qdisc add dev eth0 parent 1:7 handle 10: sfq perturb 10

# all traffic go to class 1-7.

# Try group traffic by "src,dst" key

tc filter add dev eth0 protocol ip parent 10: handle 2 flow hash keys src,dst

# all traffic dropped

> Jarek P.
>   
>>> Here are some hints (if we don't mention google ;-)
>>> http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.29.y.git;a=commitdiff;h=e5dfb815181fcb186d6080ac3a091eadff2d98fe
>>>
>>> Regards,
>>> Jarek P