ACK: [SRU][F:linux-bluefield][PATCH] net/sched: act_ct: Fix flow table lookup after ct clear or switching zones

Tim Gardner tim.gardner at canonical.com
Mon Mar 7 16:13:24 UTC 2022


Acked-by: Tim Gardner <tim.gardner at canonical.com>

On 3/7/22 08:57, Bodong Wang wrote:
> From: Paul Blakey <paulb at nvidia.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1963948
> 
> Flow table lookup is skipped if packet either went through ct clear
> action (which set the IP_CT_UNTRACKED flag on the packet), or while
> switching zones and there is already a connection associated with
> the packet. This will result in no SW offload of the connection,
> and the and connection not being removed from flow table with
> TCP teardown (fin/rst packet).
> 
> To fix the above, remove these unneccary checks in flow
> table lookup.
> 
> Fixes: 46475bb20f4b ("net/sched: act_ct: Software offload of established flows")
> Signed-off-by: Paul Blakey <paulb at nvidia.com>
> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner at gmail.com>
> Signed-off-by: David S. Miller <davem at davemloft.net>
> (cherry picked from commit 2f131de361f6d0eaff17db26efdb844c178432f8)
> Signed-off-by: Bodong Wang <bodong at nvidia.com>
> ---
>   net/sched/act_ct.c | 5 -----
>   1 file changed, 5 deletions(-)
> 
> diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c
> index 8a78cbd..1c3d0b2 100644
> --- a/net/sched/act_ct.c
> +++ b/net/sched/act_ct.c
> @@ -511,11 +511,6 @@ static bool tcf_ct_flow_table_lookup(struct tcf_ct_params *p,
>   	struct nf_conn *ct;
>   	u8 dir;
>   
> -	/* Previously seen or loopback */
> -	ct = nf_ct_get(skb, &ctinfo);
> -	if ((ct && !nf_ct_is_template(ct)) || ctinfo == IP_CT_UNTRACKED)
> -		return false;
> -
>   	switch (family) {
>   	case NFPROTO_IPV4:
>   		if (!tcf_ct_flow_table_fill_tuple_ipv4(skb, &tuple, &tcph))

-- 
-----------
Tim Gardner
Canonical, Inc



More information about the kernel-team mailing list