On 18-01-04 08:05 AM, Jiri Pirko wrote:
Thu, Jan 04, 2018 at 01:55:05PM CET, j...@mojatatu.com wrote:
$ tc filter add block 1 protocol ip priority 10 flower ...
classid 1:2
Looks good - things will work fine for packets showing
up on egress of enps7 which match the flower rule
and classid 1:2 is selected to queue the packet on.
Things will not _work fine_ for packets showing up on
egress of ensp8. There is no classid 1:2 on egress of
enps8. The prio qdisc is a bad example because it
has a default queue (i think 10:2) in this case. Other
qdiscs(off top of my head DRR) will just drop the packet.
I'm very well aware of this. The plan is to support this and resolve
the lack of classid withing the qdisc according to the qdisc type.
If i understood you correctly, that is still iffy.
An admin will see packets for the same filter on one device going
to an agreed-to queue but on another going to a default queue.
However, currently the classfull qdiscs are not supported for
block sharing - only ingress and clsact qdiscs are supported.
Essentially anything that doesnt have queues associated with it..
(and ignore the tcf_result).
I think this is resolvable - but it will take more to the
patches than the current set you posted Jiri.
A simple solution is to say sharing only works for ingress
(but that sounds very lame).
That is the current limitation of the patchset as you can see. The
sharing works only for ingress and clsact qdisc. So works for both
ingress and egress (clsact).
One option is to name all egress queues the same way on all devices
f.e in the two examples i provided call root qdiscs 1:0.
I am not sure how cleanly you get this to work with egress
My current thinking involves some brain somersault...
I will think some more about it...
cheers,
jamal