On Thu, Oct 2, 2025 at 6:36 PM Eugenio Pérez <[email protected]> wrote:
>
> Even if the device supports more than one class, there are ways to solve
> the ambiguity of which device are we creating.  In the VDUSE case it is
> the name, for example.

This may only work for VDUSE but not other parents.

>
> RFC: I fon't understand 100% the motivation of this limitation, as the
> backend should be the one filtering out the invalid features if any.

I think we can avoid these tricks. Currently, there's a one single
mgmt device, this seems to be in-convenient. Could we have a per
device mgmt device? For example, if user space creates vduse0, vdpa
mgmtdev show may see vduse0 so we won't have this issue.

>
> Signed-off-by: Eugenio Pérez <[email protected]>
> ---
>  drivers/vdpa/vdpa.c | 9 ---------
>  1 file changed, 9 deletions(-)
>
> diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c
> index 34874beb0152..0fc32f3bd66f 100644
> --- a/drivers/vdpa/vdpa.c
> +++ b/drivers/vdpa/vdpa.c
> @@ -688,15 +688,6 @@ static int vdpa_nl_cmd_dev_add_set_doit(struct sk_buff 
> *skb, struct genl_info *i
>                 err = -EINVAL;
>                 goto err;
>         }
> -       if (!(config.mask & VDPA_DEV_NET_ATTRS_MASK) &&
> -           config.mask & BIT_ULL(VDPA_ATTR_DEV_FEATURES) &&
> -           classes & BIT_ULL(VIRTIO_ID_NET) && ncls > 1 &&
> -           config.device_features & VIRTIO_DEVICE_F_MASK) {
> -               NL_SET_ERR_MSG_MOD(info->extack,
> -                                  "Management device supports multi-class 
> while device features specified are ambiguous");
> -               err = -EINVAL;
> -               goto err;
> -       }
>
>         err = mdev->ops->dev_add(mdev, name, &config);
>  err:
> --
> 2.51.0
>

Thanks


Reply via email to