On Fri, 2026-07-31 at 08:41 -0400, Daniel Zahka wrote:
> 
> 
> On 7/30/26 5:17 AM, Tariq Toukan wrote:
> > +static
> > +void accel_psp_fs_rx_decap_ft_destroy(struct mlx5e_psp_fs *fs,
> > +                                 struct
> > mlx5e_psp_rx_decap_table *decap)
> > +{
> > +   int i;
> > +
> > +   accel_psp_fs_del_flow_rule(&decap->unsupported_rule);
> > +   for (i = 0; i < MLX5E_PSP_NUM_SUPPORTED_VERSIONS; i++)
> > +           accel_psp_fs_del_flow_rule(&decap->rule[i]);
> > +   if (decap->reformat) {
> > +           mlx5_packet_reformat_dealloc(fs->mdev, decap-
> > >reformat);
> > +           decap->reformat = NULL;
> > +   }
> > +   accel_psp_fs_dealloc_modify_hdr(fs->mdev, &decap-
> > >modify_hdr);
> > +   accel_psp_fs_destroy_flow_group(&decap->drop_group);
> > +   accel_psp_fs_destroy_ft(&decap->ft);
> > +}
> > +
> 
> [...]
> > +static int accel_psp_fs_rx_reconfigure(struct mlx5e_psp_fs *fs,
> > +                                  bool decap_wanted)
> > +{
> > +   bool decap_supported =
> > +           MLX5_CAP_FLOWTABLE(fs->mdev,
> > +                             
> > flow_table_properties_nic_receive.reformat_del_psp_transport);
> > +   bool decap_enable = decap_wanted && decap_supported;
> > +   struct mlx5_flow_destination dest = {};
> > +   int err;
> > +
> > +   /* Create the decap table if needed. */
> > +   if (decap_enable && !fs->decap.ft) {
> > +           err = accel_psp_fs_rx_decap_ft_create(fs, &fs-
> > >decap);
> > +           if (err) {
> > +                   mlx5_core_warn(fs->mdev,
> > +                                  "Failed to create PSP
> > decapsulation rules (err %d), HW GRO for PSP unavailable",
> > +                                  err);
> > +                   decap_enable = false;
> > +           }
> > +   }
> > +   if (decap_enable == fs->decap_enabled)
> > +           return 0;
> 
> An llm is complaining that fs->decap_enabled is not set to false when
> the decap table is destroyed with accel_psp_fs_rx_decap_ft_destroy(),
> which would cause problems after doing a psp_dev_ops::set_config()
> down 
> and up.
> 
> I'm not sure if this is legit, but figured I would flag it as it
> seems 
> plausible and would be easily reachable by a user.

This is a legit issue, one that me and our llms missed.
Thanks for spotting and reporting it.

Will be fixed in the next version.

Cosmin.

Reply via email to