[Cake] Putting cake under dsmark on ingress ifb

Andy Furniss adf.lists at gmail.com
Tue Feb 28 09:11:43 EST 2017

Andy Furniss wrote:
> Jonathan Morton wrote:
>>> On 26 Feb, 2017, at 15:41, Andy Furniss <adf.lists at gmail.com> wrote:
>>> This works in the sense that I can now get tcpdump on a PC on the
>>> lan to show incoming icmp with tos 0xb8.
>>> So I try to add cake under dsmark ini the hope that it sees icmp as ef
>>> but it doesn't, icmp goes to best effort.
>> I suspect packets are queuing in cake first and only then going
>> through dsmark.  What happens if you reverse the nesting?
> tc qdisc add dev ifb0 handle 1:0 root cake bandwidth 60mbit raw overhead
> 34 diffserv4
> tc qdisc add dev ifb0 handle 2:0 parent 1:0 dsmark indices 64
> RTNETLINK answers: Operation not supported
> Going to be AFK till this evening - will try more random stuff later.

I couldn't get anything to work with dsmark so went for plan B =

Use tc pedit which has a selector for dscp.  Turned out to be useless
though, it looked like it overwrote the whole tos byte, but worse I
ended up with packets that failed csum so got dropped.

Plan C worked :-) = use action ipt, which is now action xt (ugh).

tc filter add dev ppp0 parent ffff: prio 1 protocol ip u32 match ip 
protocol 1 0xff action xt -j DSCP --set-dscp-class ef action mirred 
egress redirect dev ifb0

...other filters ...

TODO see if it's possible with actions to set dscp when using connmark to
choose the flow.

More information about the Cake mailing list