Hello Dragos, On 8/26/24 4:06 AM, Dragos Tatulea wrote: > > On 23.08.24 18:54, Carlos Bilbao wrote: >> Hello, >> >> I'm debugging my vDPA setup, and when using ioctl to retrieve the >> configuration, I noticed that it's running in half duplex mode: >> >> Configuration data (24 bytes): >> MAC address: (Mac address) >> Status: 0x0001 >> Max virtqueue pairs: 8 >> MTU: 1500 >> Speed: 0 Mb >> Duplex: Half Duplex >> RSS max key size: 0 >> RSS max indirection table length: 0 >> Supported hash types: 0x00000000 >> >> I believe this might be contributing to the underperformance of vDPA. > mlx5_vdpa vDPA devicess currently do not support the VIRTIO_NET_F_SPEED_DUPLEX > feature which reports speed and duplex. You can check the state on the > PF. According to ethtool, all my devices are running at full duplex. I assume I can disregard this configuration output from the module then. > >> While looking into how to change this option for Mellanox, I read the following >> kernel code in mlx5_vnet.c: >> >> static void mlx5_vdpa_set_config(struct vdpa_device *vdev, unsigned int offset, const void *buf, >> unsigned int len) >> { >> /* not supported */ >> } >> >> I was wondering why this is the case. > TBH, I don't know why it was not added. But in general, the control VQ is the > better way as it's dynamic. > >> Is there another way for me to change >> these configuration settings? >> > The configuration is done using control VQ for most things (MTU, MAC, VQs, > etc). Make sure that you have the CTRL_VQ feature set (should be on by > default). It should appear in `vdpa mgmtdev show` and `vdpa dev config > show`. I see that CTRL_VQ is indeed enabled. Is there any documentation on how to use the control VQ to get/set vDPA configuration values? > > Thanks, > Dragos Thank you! Carlos