On Mon, Apr 29, 2019 at 12:19:42PM +0200, Pablo Neira Ayuso wrote:
> This is fixing flow offload for UDP traffic where packets only follow
> one single direction.
> 
> The nf_ct_tcp_fixup() mechanism works fine in case that the offloaded

BTW:

s/nf_ct_tcp_fixup()/flow_offload_fixup_tcp()/

I was refering to the wrong function, for the record.

> entry remains in SYN_RECV state, given sequence tracking is reset and
> that conntrack handles syn+ack packets as a retransmission, ie.
> 
>       sES + synack => sIG
> 
> for reply traffic.
> 
> Fixes: a3c90f7a2323 ("netfilter: nf_tables: flow offload expression")
> Signed-off-by: Pablo Neira Ayuso <[email protected]>
> ---
>  net/netfilter/nft_flow_offload.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/net/netfilter/nft_flow_offload.c 
> b/net/netfilter/nft_flow_offload.c
> index 6e6b9adf7d38..8968c7f5a72e 100644
> --- a/net/netfilter/nft_flow_offload.c
> +++ b/net/netfilter/nft_flow_offload.c
> @@ -94,8 +94,7 @@ static void nft_flow_offload_eval(const struct nft_expr 
> *expr,
>       if (help)
>               goto out;
>  
> -     if (ctinfo == IP_CT_NEW ||
> -         ctinfo == IP_CT_RELATED)
> +     if (!nf_ct_is_confirmed(ct))
>               goto out;
>  
>       if (test_and_set_bit(IPS_OFFLOAD_BIT, &ct->status))
> -- 
> 2.11.0
> 

Reply via email to