在 2021/10/20 18:27, Edward Srouji 写道:
On Wed, Oct 13, 2021 at 11:00 PM Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:
On Wed, Oct 13, 2021 at 09:43:28AM -0500, Bob Pearson wrote:
Zhu,
There are about 10 test cases in the python suite that do not run
for rxe because
... skipped "Device rxe0 doesn't have net interface"
Clearly this is wrong and I don't know how to address the root cause
yet but the following hack where enp0s3 is the actual net device
that rxe0 is based on in my case enables these test cases to run and it
appears they all do.
diff --git a/tests/base.py b/tests/base.py
index 3460c546..d6fd29b8 100644
+++ b/tests/base.py
@@ -240,10 +240,11 @@ class RDMATestCase(unittest.TestCase):
if self.gid_type is not None and
ctx.query_gid_type(port, idx) != \
self.gid_type:
continue
- if not
os.path.exists('/sys/class/infiniband/{}/device/net/'.format(dev)):
- self.args.append([dev, port, idx, None, None])
- continue
- net_name = self.get_net_name(dev)
+ #if not
os.path.exists('/sys/class/infiniband/{}/device/net/'.format(dev)):
The pytests code is wrong - it should be querying the netdev through
the verbs APIs, not hacking in sysfs like this.
Got it. Thanks
Zhu Yanjun
Jason
I will modify the base test file to use verbs API instead of accessing the sysfs directly.
I wanted to do that using ibv_query_gid_ex to get the netdev ifindex, but in case of IB (IPoIB) the netdex is just 0 and not updated accordingly.
Not sure if it's a bug or by design (looks like a bug for me).
I'll check that and update accordingly.
Hope all the test cases are ready.
Zhu Yanjun
Thanks,
Edward.