+++ This bug was initially created as a clone of Bug #840269 +++ Description of problem: The qperf codes would check the mtu_size provided by user, and if it is exactly between 256/512/1K/2K/4K, it will try to modify qp with the specified mtu_size. line 2006 of rdma.c of qperf-0.4.6: error(0, "bad MTU: %d; must be 256/512/1K/2K/4K", mtu); But actually, if the mtu_size is 4K, it will cause ib_modify_qp fail, and the reason is 'Invalid argument' So if qperf support mtu_size 4K, it is supposed to be no failure. and if it does fail, please don't suppot it. Version-Release number of selected component (if applicable): qperf-0.4.6-6.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1.server side [root@rdma3 qperf]# qperf 2. client side [root@rdma2 qperf]# qperf 172.31.03 --mtu_size 2K uc_bw uc_bw: send_bw = 974 MB/sec recv_bw = 0 bytes/sec [root@rdma2 qperf]# qperf 172.31.03 --mtu_size 4K uc_bw uc_bw: failed to modify QP to RTR: Invalid argument
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux release for currently deployed products. This request is not yet committed for inclusion in a release.
This is not a bug. qperf supports 4k MTUs just fine, however the MTU on the given device is limited to whatever the device and switch are set to. So, even though qperf supports a 4k MTU, the 4k MTU can only be used if the physical MTU of the device is also set to 4k. It is very common to have a device that is limited to a 2k MTU, and in that case qperf can only go up to using a 2k MTU.