JIRA: https://issues.redhat.com/browse/RHEL-14095 Tested: reproducer from changelog commit 7cd5af0e937a197295f3aa3721031f0fbae49cff Author: Xin Long <lucien.xin@gmail.com> Date: Mon Nov 13 12:53:28 2023 -0500 net: sched: do not offload flows with a helper in act_ct There is no hardware supporting ct helper offload. However, prior to this patch, a flower filter with a helper in the ct action can be successfully set into the HW, for example (eth1 is a bnxt NIC): # tc qdisc add dev eth1 ingress_block 22 ingress # tc filter add block 22 proto ip flower skip_sw ip_proto tcp \ dst_port 21 ct_state -trk action ct helper ipv4-tcp-ftp # tc filter show dev eth1 ingress filter block 22 protocol ip pref 49152 flower chain 0 handle 0x1 eth_type ipv4 ip_proto tcp dst_port 21 ct_state -trk skip_sw in_hw in_hw_count 1 <---- action order 1: ct zone 0 helper ipv4-tcp-ftp pipe index 2 ref 1 bind 1 used_hw_stats delayed This might cause the flower filter not to work as expected in the HW. This patch avoids this problem by simply returning -EOPNOTSUPP in tcf_ct_offload_act_setup() to not allow to offload flows with a helper in act_ct. Fixes: a21b06e73191 ("net: sched: add helper support in act_ct") Signed-off-by: Xin Long <lucien.xin@gmail.com> Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com> Link: https://lore.kernel.org/r/f8685ec7702c4a448a1371a8b34b43217b583b9d.1699898008.git.lucien.xin@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Xin Long <lxin@redhat.com> |
||
---|---|---|
.. | ||
tc_bpf.h | ||
tc_connmark.h | ||
tc_csum.h | ||
tc_ct.h | ||
tc_ctinfo.h | ||
tc_defact.h | ||
tc_gact.h | ||
tc_gate.h | ||
tc_ife.h | ||
tc_ipt.h | ||
tc_mirred.h | ||
tc_mpls.h | ||
tc_nat.h | ||
tc_pedit.h | ||
tc_police.h | ||
tc_sample.h | ||
tc_skbedit.h | ||
tc_skbmod.h | ||
tc_tunnel_key.h | ||
tc_vlan.h |