Thread (57 messages) 57 messages, 4 authors, 2021-08-19

Re: [PATCH linux-next v3 0/6] vdpa: enable user to set mac, mtu

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2021-08-09 09:40:29

On Fri, Aug 06, 2021 at 08:55:56AM +0000, Parav Pandit wrote:
quoted
From: Michael S. Tsirkin <mst@redhat.com>
Sent: Friday, August 6, 2021 2:12 PM
quoted
quoted
 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?

I am basically saying that we probably want to be able to
change MAC of a VDPA device on the host without desroying and recreating the device
as long as it's not in use.

For a VF I can do this on the host:

ip link set eth0 vf 1 mac 00:11:22:33:44:55

ideally same thing would work for vdpa.

-- 
MST

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help