On Wed, Nov 04, 2020 at 08:34:37PM +0200, Edward Srouji wrote: > > On 11/4/2020 2:36 PM, Jason Gunthorpe wrote: > > On Wed, Nov 04, 2020 at 12:40:11PM +0200, 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. > > The GID table has a list of all the IP addresses of the IB device, and > > all the netdevs that provide it > > Then how can you get the IP address via verbs API(s)? AFAIK, the gid_entry > does not hold the IP addresses, you can only get the subnet prefix, don't > you? IIRC the GID encodes IPv6 as IPv6 and IPv4 as an IPv6 mapped address Jason