On 11/4/2020 2:00 AM, Jason Gunthorpe wrote:
On Tue, Nov 03, 2020 at 05:54:58PM -0600, Bob Pearson wrote:
Since 5.10 some of the pyverbs tests are skipping with the warning
"Device rxe_0 doesn't have net interface"
These occur in tests/test_rdmacm.py. As far as I can tell the error occurs in
RDMATestCase _add_gids_per_port after the following
if not os.path.exists('/sys/class/infiniband/{}/device/net/'.format(dev)):
self.args.append([dev, port, idx, None])
continue
In fact there is no such path which means it never finds an ip_addr for the device.
That isn't an acceptable way to find netdevs for a RDMA device..
This test is really buggy, that is not an acceptable way to find the
netdev for a RDMA device. Looks like it is some hacky way to read the
gid table? It should just read the gid table.. Edward?
GID table is not the reason. We need the netdev in order to get the IP
address of the interface.
Do you have a better alternative suggestion to do that?
Did something change here? Do other RDMA devices have /sys/class/infiniband/XXX/device/net?
Yes, some will
Nothing really changed in this area lately (in pyverbs / rdma-core tests).
RXE can also have a netdev here if it's linked to one. E.g. by doing
"rdma link add <rxe_devname> type rxe netdev <net_devname>"
Jason