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