Re: pyverbs test regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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?


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>"
No it can't, this is the "parent" device and ib_device can never be a
parent of a netdev. rxe should have no parent.

Jason
Edward



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux