summaryrefslogtreecommitdiffstats
path: root/staslib/udev.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-09-04 09:21:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-09-04 09:21:37 +0000
commitd37288d11c6957393a26032d657b5568e964d82a (patch)
tree8730d31b391a62d20ef49fcf2aa5f4c1d2cf4b48 /staslib/udev.py
parentAdding upstream version 2.3~rc4. (diff)
downloadnvme-stas-d37288d11c6957393a26032d657b5568e964d82a.tar.xz
nvme-stas-d37288d11c6957393a26032d657b5568e964d82a.zip
Adding upstream version 2.3~rc5.upstream/2.3_rc5
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--staslib/udev.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/staslib/udev.py b/staslib/udev.py
index 48b7d1f..e054fdc 100644
--- a/staslib/udev.py
+++ b/staslib/udev.py
@@ -251,12 +251,14 @@ class Udev:
6.1.
'''
# 'transport', 'traddr', 'trsvcid', 'subsysnqn', and 'host-nqn' must exactly match.
- if (
- cid['transport'] != tid.transport
- or cid['trsvcid'] != tid.trsvcid
- or cid['subsysnqn'] != tid.subsysnqn
- or cid['host-nqn'] != tid.host_nqn
- ):
+ if tid.transport != cid['transport'] or tid.trsvcid != cid['trsvcid'] or tid.host_nqn != cid['host-nqn']:
+ return False
+
+ # With TP8013, Discovery Controllers may respond with a unique NQN even
+ # when a connection request is made with the well-known NQN. Therefore,
+ # the subsysnqn is not reliable when the candidate requests the well-
+ # known NQN.
+ if tid.subsysnqn not in (defs.WELL_KNOWN_DISC_NQN, cid['subsysnqn']):
return False
if tid.transport in ('tcp', 'rdma'):