Setpci not working on a passthrough mellanox NIC in an ESXi VM

I setup the connect-x 5 NIC dedicating to one VM via the passthrough mode in VMware ESXi, but setpci is not working on all registers of the NIC. I have tried setting up PCI register on another PCIe device, and it works. Could any one can help with it?

Incidentally, the platform information is listed as follows.
NIC model: MCX515A-CCAT
vmware version: ESXi 6.0
OS version: Ubuntu 20.04 LTS
Firmware version: fw-ConnectX5-rel-16_35_2000-MCX515A-CCA_Ax_Bx-UEFI-14.28.16-FlexBoot-3.6.805.bin


Which registers are you trying to change via setpci?
Did you confirm with VMware that these registers are allowed by ESXi?
Some registers will simply be forwarded to real NIC while some will be blocked, that’s hypervisor’s policy.

Best Regards,

Hi Viki @vikiz,

Thanks for replying. I was trying to setup the MaxReadReq register. Currently, the value is 128B, and I want to change it to 512B. However, the value simply does not change. I have doubled checked the configurations and VMware ESXi Manual, it seems everything is just fine.

Is there any more hints for solutions that I can try?