> From: Michael S. Tsirkin <mst@xxxxxxxxxx> > 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 Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization