Re: [Cake] Does the latest cake support "tc filter"?

2018-05-30 Thread Toke Høiland-Jørgensen
Georgios Amanakis  writes:

> :) excellent work!
> Now it works as expected!

Great! Thanks for testing :)

-Toke
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake


Re: [Cake] Does the latest cake support "tc filter"?

2018-05-30 Thread Toke Høiland-Jørgensen
Georgios Amanakis  writes:

>> Yes, the version submitted to upstream supports this. You can override
>> which tin packets goes in by setting skb->priority from a filter or
>> application (the major number needs to be set to the qdisc ID, and the
>> minor number becomes the tin to queue packets in).
>
> Toke could you give an example how to do this?
>
> I am trying to put all traffic into tin 0:
> #tc qdisc add dev enp1s0 root handle 8001 cake diffserv3 bandwidth 2mbit
> #tc filter add dev enp1s0 parent 8001: protocol all \
>   u32 match u32 0 0 \
>   action skbedit priority 8001:1
>
> However as soon as the second command is executed all traffic drops,
> and it only resumes once I remove the filter.
>
> What am I doing wrong?

Hmm, nothing apart from using the classifiers in an unexpected (by me)
way ;)

Basically, what is happening is that the skbedit filter doesn't do
classification. In which case Cake will cheerfully drop the packet.

I just pushed a change to the upstream-4.18 branch which reworks the
filter classification so it'll still hash packets if the filter doesn't
make a decision, and also moves the tin selection to after the filter
has run, to give priority selection a chance to work (even if the
packets had not been dropped, you wouldn't have gotten the result you
wanted, since the skb->priority field was checked before the filters we
run...)

Please see if that works better :)

-Toke
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake


Re: [Cake] Does the latest cake support "tc filter"?

2018-05-30 Thread Georgios Amanakis
> Yes, the version submitted to upstream supports this. You can override
> which tin packets goes in by setting skb->priority from a filter or
> application (the major number needs to be set to the qdisc ID, and the
> minor number becomes the tin to queue packets in).

Toke could you give an example how to do this?

I am trying to put all traffic into tin 0:
#tc qdisc add dev enp1s0 root handle 8001 cake diffserv3 bandwidth 2mbit
#tc filter add dev enp1s0 parent 8001: protocol all \
  u32 match u32 0 0 \
  action skbedit priority 8001:1

However as soon as the second command is executed all traffic drops,
and it only resumes once I remove the filter.

What am I doing wrong?

Thank you,
George

On Thu, May 17, 2018 at 6:42 AM, Toke Høiland-Jørgensen  wrote:
> Fushan Wen  writes:
>
>> Hello developers,
>> I've seen the mail in the netdev mailing list, saying "other tc
>> filters supported". So can I use "tc filter" to attach specified
>> traffic to a specified tin without DSCP marks? It's helpful when
>> dealing with ingress traffic where iptables DSCP mark won't work.
>
> Yes, the version submitted to upstream supports this. You can override
> which tin packets goes in by setting skb->priority from a filter or
> application (the major number needs to be set to the qdisc ID, and the
> minor number becomes the tin to queue packets in).
>
> However, these changes have not been backported, so they are not
> available in the cobalt branch. You can pull them from the upstream-4.18
> branch instead. That should build against a current net-next tree, and
> possibly a bit older. Alternatively, you can pull the current patches
> from patchwork and use those. Or wait for a backport after we're done
> with the upstream submission :)
>
> -Toke
> ___
> Cake mailing list
> Cake@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake


Re: [Cake] Does the latest cake support "tc filter"?

2018-05-17 Thread Toke Høiland-Jørgensen
Fushan Wen  writes:

> Hello developers,
> I've seen the mail in the netdev mailing list, saying "other tc
> filters supported". So can I use "tc filter" to attach specified
> traffic to a specified tin without DSCP marks? It's helpful when
> dealing with ingress traffic where iptables DSCP mark won't work.

Yes, the version submitted to upstream supports this. You can override
which tin packets goes in by setting skb->priority from a filter or
application (the major number needs to be set to the qdisc ID, and the
minor number becomes the tin to queue packets in).

However, these changes have not been backported, so they are not
available in the cobalt branch. You can pull them from the upstream-4.18
branch instead. That should build against a current net-next tree, and
possibly a bit older. Alternatively, you can pull the current patches
from patchwork and use those. Or wait for a backport after we're done
with the upstream submission :)

-Toke
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake


[Cake] Does the latest cake support "tc filter"?

2018-05-16 Thread Fushan Wen
Hello developers,
I've seen the mail in the netdev mailing list, saying "other tc
filters supported". So can I use "tc filter" to attach specified
traffic to a specified tin without DSCP marks? It's helpful when
dealing with ingress traffic where iptables DSCP mark won't work.
Thanks in advance.
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake