> From: Michael S. Tsirkin <[email protected]>
> Sent: Friday, August 6, 2021 2:12 PM


> >  enum vdpa_attr {
> > @@ -33,6 +34,16 @@ enum vdpa_attr {
> >     VDPA_ATTR_DEV_MAX_VQS,                  /* u32 */
> >     VDPA_ATTR_DEV_MAX_VQ_SIZE,              /* u16 */
> > +   VDPA_ATTR_DEV_NET_CFG_MACADDR,          /* binary */
> > +   VDPA_ATTR_DEV_NET_STATUS,               /* u8 */
> > +   VDPA_ATTR_DEV_NET_CFG_MAX_VQP,          /* u16 */
> > +   VDPA_ATTR_DEV_NET_CFG_MTU,              /* u16 */
> > +   VDPA_ATTR_DEV_NET_CFG_SPEED,            /* u16 */
> > +   VDPA_ATTR_DEV_NET_CFG_DUPLEX,           /* u16 */
> > +   VDPA_ATTR_DEV_NET_CFG_RSS_MAX_KEY_LEN,  /* u8 */
> > +   VDPA_ATTR_DEV_NET_CFG_RSS_MAX_IT_LEN,   /* u16 */
> > +   VDPA_ATTR_DEV_NET_CFG_RSS_HASH_TYPES,   /* u32 */
> > +
> >     /* new attributes must be added above here */
> >     VDPA_ATTR_MAX,
> >  };
> 
> The point is to try and not reinvent a dedicated vpda interface where a
> generic one exits.
> E.g. for phy things such as mac speed etc, I think most people are using
> ethtool things right?

As you know vdpa is the backend device for the front-end netdevice accessed by 
the ethtool.
vdpa management tool here is composing the vdpa device.

For example creator (hypervisor) of the vdpa devices knows that a guest VM is 
given 4 vcpus,
So hypervisor creates a vdpa devices with config space layout as,
max_virtqueue_pairs = 4.
And the MAC address chosen by hypervisor in mac[6].

Guest VM ethtool can still chose to use less number of channels.

Typically,
ethtool is for guest VM.
vdpa device is in hypevisor.

How can hypervisor compose a vdpa device without any tool?
How can it tell ethtool, what is supported and what are the defaults?

I must be misunderstanding your comment about ethtool.
Can you please explain?

_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to