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. > 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`. Thanks, Dragos