Re: [PATCH iwl-net v4] ice: Block PF reinit if attached to bond

From: Jiri Pirko
Date: Mon Nov 27 2023 - 04:41:21 EST


Mon, Nov 27, 2023 at 07:05:12AM CET, sachin.bahadur@xxxxxxxxx wrote:
>PF interface part of Bond should not allow driver reinit via devlink. Bond
>config will be lost due to PF reinit. PF needs to be re-added to Bond
>after PF reinit. ice_devlink_reload_down is called before PF driver reinit.
>If PF is attached to bond, ice_devlink_reload_down returns error.
>
>Fixes: trailer
>Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
>Signed-off-by: Sachin Bahadur <sachin.bahadur@xxxxxxxxx>
>---
> drivers/net/ethernet/intel/ice/ice_devlink.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
>diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c b/drivers/net/ethernet/intel/ice/ice_devlink.c
>index f4e24d11ebd0..5fe88e949b09 100644
>--- a/drivers/net/ethernet/intel/ice/ice_devlink.c
>+++ b/drivers/net/ethernet/intel/ice/ice_devlink.c
>@@ -457,6 +457,10 @@ ice_devlink_reload_down(struct devlink *devlink, bool netns_change,
> "Remove all VFs before doing reinit\n");
> return -EOPNOTSUPP;
> }
>+ if (pf->lag && pf->lag->bonded) {
>+ NL_SET_ERR_MSG_MOD(extack, "Remove all associated Bonds before doing reinit");

Nack. Remove the netdev during re-init, that would solve your issue.
Looks like some checks are needed to be added in devlink code to make
sure drivers behave properly. I'm on in.



>+ return -EBUSY;
>+ }
> ice_unload(pf);
> return 0;
> case DEVLINK_RELOAD_ACTION_FW_ACTIVATE:
>--
>2.25.1
>
>