Re: [PATCH nf] netfilter: nft_flow_offload: add entry to flowtable after confirmation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <pablo@xxxxxxxxxxxxx>
> ---
>  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
> 



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux