Re: [PATCH v3 0/2] vdpa: support set mac address from vdpa tool

From: Cindy Lu
Date: Tue Jul 09 2024 - 02:20:12 EST


On Tue, 9 Jul 2024 at 11:59, Parav Pandit <parav@xxxxxxxxxx> wrote:
>
> Hi Cindy,
>
> > From: Cindy Lu <lulu@xxxxxxxxxx>
> > Sent: Monday, July 8, 2024 12:17 PM
> >
> > Add support for setting the MAC address using the VDPA tool.
> > This feature will allow setting the MAC address using the VDPA tool.
> > For example, in vdpa_sim_net, the implementation sets the MAC address to
> > the config space. However, for other drivers, they can implement their own
> > function, not limited to the config space.
> >
> > Changelog v2
> > - Changed the function name to prevent misunderstanding
> > - Added check for blk device
> > - Addressed the comments
> > Changelog v3
> > - Split the function of the net device from vdpa_nl_cmd_dev_attr_set_doit
> > - Add a lock for the network device's dev_set_attr operation
> > - Address the comments
> >
> > Cindy Lu (2):
> > vdpa: support set mac address from vdpa tool
> > vdpa_sim_net: Add the support of set mac address
> >
> > drivers/vdpa/vdpa.c | 81 ++++++++++++++++++++++++++++
> > drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 19 ++++++-
> > include/linux/vdpa.h | 9 ++++
> > include/uapi/linux/vdpa.h | 1 +
> > 4 files changed, 109 insertions(+), 1 deletion(-)
> >
> > --
> > 2.45.0
>
> Mlx5 device already allows setting the mac and mtu during the vdpa device creation time.
> Once the vdpa device is created, it binds to vdpa bus and other driver vhost_vdpa etc bind to it.
> So there was no good reason in the past to support explicit config after device add complicate the flow for synchronizing this.
>
> The user who wants a device with new attributes, as well destroy and recreate the vdpa device with new desired attributes.
>
> vdpa_sim_net can also be extended for similar way when adding the vdpa device.
>
> Have you considered using the existing tool and kernel in place since 2021?
> Such as commit d8ca2fa5be1.
>
> An example of it is,
> $ vdpa dev add name bar mgmtdev vdpasim_net mac 00:11:22:33:44:55 mtu 9000
>
Hi Parav
Really thanks for your comments. The reason for adding this function
is to support Kubevirt.
the problem we meet is that kubevirt chooses one random vdpa device
from the pool and we don't know which one it going to pick. That means
we can't get to know the Mac address before it is created. So we plan
to have this function to change the mac address after it is created
Thanks
cindy