Hi Ferenc,
On Fri, May 06, 2022 at 07:49:40AM +0000, Ferenc Fejes wrote:
Hi! I know that might be little bit off-topic here, but the current implementation of the act_gate does nothing with the IPV value [0] even if the user set it to non -1. IMO this IPV value should be carried through in the tcf_gate struct [1] as something like a "current_ipv" member or so. Then this value can be applied in the tcf_gate_act function to the skb->priority.
Background story: I tried to combine gate and taprio (802.1Qci and Qbv) to achieve 802.1Qch operation (which is really just a coordinated config of those two) but without the IPV (should by set by the ingress port) we have no way to carry the gating info to the taprio, and as a result its just sending every packet with the default priority, no matter how we open/close the gate at the ingress.
[0] https://elixir.bootlin.com/linux/v5.18-rc5/source/include/net/tc_act/tc_gate... [1] https://elixir.bootlin.com/linux/v5.18-rc5/source/include/net/tc_act/tc_gate... [2] https://elixir.bootlin.com/linux/v5.18-rc5/source/net/sched/act_gate.c#L117
This is correct. I have been testing only with the offloaded tc-gate action so I did not notice that the software does not act upon the ipv. Your proposal sounds straightforward enough. Care to send a bug fix patch?