Parav Pandit
2021-Jan-07 03:48 UTC
[PATCH linux-next v3 6/6] vdpa_sim_net: Add support for user supported devices
> From: Michael S. Tsirkin <mst at redhat.com> > Sent: Tuesday, January 5, 2021 6:53 PM > > On Tue, Jan 05, 2021 at 12:30:15PM +0000, Parav Pandit wrote: > > > > > > > From: Michael S. Tsirkin <mst at redhat.com> > > > Sent: Tuesday, January 5, 2021 5:45 PM > > > > > > On Tue, Jan 05, 2021 at 12:02:33PM +0000, Parav Pandit wrote: > > > > > > > > > > > > > From: Michael S. Tsirkin <mst at redhat.com> > > > > > Sent: Tuesday, January 5, 2021 5:19 PM > > > > > > > > > > On Tue, Jan 05, 2021 at 12:32:03PM +0200, Parav Pandit wrote: > > > > > > Enable user to create vdpasim net simulate devices. > > > > > > > > > > > > > > > > > > > > > > $ vdpa dev add mgmtdev vdpasim_net name foo2 > > > > > > > > > > > > Show the newly created vdpa device by its name: > > > > > > $ vdpa dev show foo2 > > > > > > foo2: type network mgmtdev vdpasim_net vendor_id 0 max_vqs 2 > > > > > > max_vq_size 256 > > > > > > > > > > > > $ vdpa dev show foo2 -jp > > > > > > { > > > > > > "dev": { > > > > > > "foo2": { > > > > > > "type": "network", > > > > > > "mgmtdev": "vdpasim_net", > > > > > > "vendor_id": 0, > > > > > > "max_vqs": 2, > > > > > > "max_vq_size": 256 > > > > > > } > > > > > > } > > > > > > } > > > > > > > > > > > > > > > I'd like an example of how do device specific (e.g. net > > > > > specific) interfaces tie in to this. > > > > Not sure I follow your question. > > > > Do you mean how to set mac address or mtu of this vdpa device of > > > > type > > > net? > > > > If so, dev add command will be extended shortly in subsequent > > > > series to > > > set this net specific attributes. > > > > (I did mention in the next steps in cover letter). > > > > > > > > > > +static int __init vdpasim_net_init(void) { > > > > > > + int ret; > > > > > > + > > > > > > + if (macaddr) { > > > > > > + mac_pton(macaddr, macaddr_buf); > > > > > > + if (!is_valid_ether_addr(macaddr_buf)) > > > > > > + return -EADDRNOTAVAIL; > > > > > > + } else { > > > > > > + eth_random_addr(macaddr_buf); > > > > > > } > > > > > > > > > > Hmm so all devices start out with the same MAC until changed? > > > > > And how is the change effected? > > > > Post this patchset and post we have iproute2 vdpa in the tree, > > > > will add the > > > mac address as the input attribute during "vdpa dev add" command. > > > > So that each different vdpa device can have user specified > > > > (different) mac > > > address. > > > > > > For now maybe just avoid VIRTIO_NET_F_MAC then for new devices > then? > > > > That would require book keeping existing net vdpa_sim devices created to > avoid setting VIRTIO_NET_F_MAC. > > Such book keeping code will be short lived anyway. > > Not sure if its worth it. > > Until now only one device was created. So not sure two vdpa devices with > same mac address will be a real issue. > > > > When we add mac address attribute in add command, at that point also > remove the module parameter macaddr. > > Will that be mandatory? I'm not to happy with a UAPI we intend to break > straight away ...No. Specifying mac address shouldn't be mandatory. UAPI wont' be broken.
Parav Pandit
2021-Jan-12 04:14 UTC
[PATCH linux-next v3 6/6] vdpa_sim_net: Add support for user supported devices
Hi Michael,> From: Virtualization <virtualization-bounces at lists.linux-foundation.org> On > Behalf Of Parav Pandit > > > > > > When we add mac address attribute in add command, at that point also > > remove the module parameter macaddr. > > > > Will that be mandatory? I'm not to happy with a UAPI we intend to > > break straight away ... > No. Specifying mac address shouldn't be mandatory. UAPI wont' be broken.Shall we please proceed with this patchset? I would like to complete the iproute2 part and converting remaining two drivers to follow mgmt tool subsequent to this series.
Jason Wang
2021-Jan-14 04:17 UTC
[PATCH linux-next v3 6/6] vdpa_sim_net: Add support for user supported devices
On 2021/1/7 ??11:48, Parav Pandit wrote:> >> From: Michael S. Tsirkin <mst at redhat.com> >> Sent: Tuesday, January 5, 2021 6:53 PM >> >> On Tue, Jan 05, 2021 at 12:30:15PM +0000, Parav Pandit wrote: >>> >>>> From: Michael S. Tsirkin <mst at redhat.com> >>>> Sent: Tuesday, January 5, 2021 5:45 PM >>>> >>>> On Tue, Jan 05, 2021 at 12:02:33PM +0000, Parav Pandit wrote: >>>>> >>>>>> From: Michael S. Tsirkin <mst at redhat.com> >>>>>> Sent: Tuesday, January 5, 2021 5:19 PM >>>>>> >>>>>> On Tue, Jan 05, 2021 at 12:32:03PM +0200, Parav Pandit wrote: >>>>>>> Enable user to create vdpasim net simulate devices. >>>>>>> >>>>>>> >>>>>>> $ vdpa dev add mgmtdev vdpasim_net name foo2 >>>>>>> >>>>>>> Show the newly created vdpa device by its name: >>>>>>> $ vdpa dev show foo2 >>>>>>> foo2: type network mgmtdev vdpasim_net vendor_id 0 max_vqs 2 >>>>>>> max_vq_size 256 >>>>>>> >>>>>>> $ vdpa dev show foo2 -jp >>>>>>> { >>>>>>> "dev": { >>>>>>> "foo2": { >>>>>>> "type": "network", >>>>>>> "mgmtdev": "vdpasim_net", >>>>>>> "vendor_id": 0, >>>>>>> "max_vqs": 2, >>>>>>> "max_vq_size": 256 >>>>>>> } >>>>>>> } >>>>>>> } >>>>>> >>>>>> I'd like an example of how do device specific (e.g. net >>>>>> specific) interfaces tie in to this. >>>>> Not sure I follow your question. >>>>> Do you mean how to set mac address or mtu of this vdpa device of >>>>> type >>>> net? >>>>> If so, dev add command will be extended shortly in subsequent >>>>> series to >>>> set this net specific attributes. >>>>> (I did mention in the next steps in cover letter). >>>>> >>>>>>> +static int __init vdpasim_net_init(void) { >>>>>>> + int ret; >>>>>>> + >>>>>>> + if (macaddr) { >>>>>>> + mac_pton(macaddr, macaddr_buf); >>>>>>> + if (!is_valid_ether_addr(macaddr_buf)) >>>>>>> + return -EADDRNOTAVAIL; >>>>>>> + } else { >>>>>>> + eth_random_addr(macaddr_buf); >>>>>>> } >>>>>> Hmm so all devices start out with the same MAC until changed? >>>>>> And how is the change effected? >>>>> Post this patchset and post we have iproute2 vdpa in the tree, >>>>> will add the >>>> mac address as the input attribute during "vdpa dev add" command. >>>>> So that each different vdpa device can have user specified >>>>> (different) mac >>>> address. >>>> >>>> For now maybe just avoid VIRTIO_NET_F_MAC then for new devices >> then? >>> That would require book keeping existing net vdpa_sim devices created to >> avoid setting VIRTIO_NET_F_MAC. >>> Such book keeping code will be short lived anyway. >>> Not sure if its worth it. >>> Until now only one device was created. So not sure two vdpa devices with >> same mac address will be a real issue. >>> When we add mac address attribute in add command, at that point also >> remove the module parameter macaddr. >> >> Will that be mandatory? I'm not to happy with a UAPI we intend to break >> straight away ... > No. Specifying mac address shouldn't be mandatory. UAPI wont' be broken.If it's not mandatory. Does it mean the vDPA parent need to use its own logic to generate a validate mac? I'm not sure this is what management (libvirt want). Thanks>