On 2021-01-08 11:59 PM, Marcelo Ricardo Leitner wrote:
Hi,

On Thu, Jan 07, 2021 at 09:30:48PM -0800, Saeed Mahameed wrote:
@@ -1429,6 +1600,14 @@ mlx5_tc_ct_add_ft_cb(struct mlx5_tc_ct_priv *ct_priv, 
u16 zone,
        if (err)
                goto err_insert;
+ nf_ct_zone_init(&ctzone, zone, NF_CT_DEFAULT_ZONE_DIR, 0);
+       ft->tmpl = nf_ct_tmpl_alloc(&init_net, &ctzone, GFP_KERNEL);

I didn't test but I think this will add a hard dependency to
nf_conntrack_core and will cause conntrack to always be loaded by
mlx5_core, which is not good for some use cases.
nf_ct_tmpl_alloc() is defined in nf_conntrack_core.c.

762f926d6f19 ("net/sched: act_ct: Make tcf_ct_flow_table_restore_skb
inline") was done similarly to avoid this.


right. we will take a look what we can do with this.
thanks

+       if (!ft->tmpl)
+               goto err_tmpl;
+
+       __set_bit(IPS_CONFIRMED_BIT, &ft->tmpl->status);
+       nf_conntrack_get(&ft->tmpl->ct_general);
+
        err = nf_flow_table_offload_add_cb(ft->nf_ft,
                                           mlx5_tc_ct_block_flow_offload, ft);
        if (err)

Reply via email to