Subject: Re: [patch net-next v3 01/11] devlink: remove devlink features

From: Jakub Kicinski <[email-masked]>
Date: Tue, 10 Jan 2023 12:59:15 -0800

On Tue, 10 Jan 2023 08:12:10 +0100 Jiri Pirko wrote:
>> Right, but this is not 100% equivalent because we generate the
>> notifications _before_ we try to reload_down:
>>
>>	devlink_ns_change_notify(devlink, dest_net, curr_net, false);
>>	err = devlink->ops->reload_down(devlink, !!dest_net, action, limit, extack);
>>	if (err)
>>		return err;
>>
>> IDK why, I haven't investigated.  
> 
> Right, but that is done even in other cases where down can't be done. I
> I think there's a bug here, down DEL notification is sent before calling
> down which can potentially fail. I think the notification call should be
> moved after reload_down() call. Then the bahaviour would stay the same
> for the features case and will get fixed for the reload_down() reject
> cases. What do you think?

I was gonna say that it sounds reasonable, and that maybe we should 
be in fact using devlink_notify_register() instead of the custom
instance-and-params-only devlink_ns_change_notify().

But then I looked at who added this counter-intuitive code
and found out it's for a reason - see 05a7f4a8dff19.

So you gotta check if mlx5 still has this problem...