On 11/4/20 5:47 AM, Gal Pressman wrote: > On 04/11/2020 12:40, Edward Srouji wrote: >> 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>" > > Maybe it was changed in b27e504929d7 ("tests: Verify net interface support on > RDMATestCase"), which made the tests skip if the path doesn't exist, instead of > returning an error and failing the test. > > How did these tests work for rxe before if the path doesn't exist? > I wasn't really focused on this area so I only have a vague recollection that I wasn't getting errors and I wasn't skipping these tests but I can't swear to it. From my point of view there was clearly a netdev (enp6s0) with several IP addresses (one IPV4 and five IPV6).