[PATCHv3] nvmetcli: store DHCHAP attributes

Hannes Reinecke hare at kernel.org
Wed Jul 15 02:07:33 PDT 2026


The DHCHAP authentication attributes is stored under hosts/, and starting
with 'dhchap_'. So add a 'dhchap' attribute group for the host object
to correctly save and restore DHCHAP values.

Signed-off-by: Hannes Reinecke <hare at kernel.org>
---
 nvmet/nvme.py       | 2 ++
 nvmet/test_nvmet.py | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/nvmet/nvme.py b/nvmet/nvme.py
index faf1eb2..a9b78df 100644
--- a/nvmet/nvme.py
+++ b/nvmet/nvme.py
@@ -1013,6 +1013,7 @@ class Host(CFSNode):
         '''
         super(Host, self).__init__()
 
+        self.attr_groups = ['dhchap']
         self.nqn = nqn
         self._path = "%s/hosts/%s" % (self.configfs_dir, nqn)
         self._create_in_cfs(mode)
@@ -1034,6 +1035,7 @@ class Host(CFSNode):
         except CFSError as e:
             err_func("Could not create Host object: %s" % e)
             return
+        h._setup_attrs(t, err_func)
 
     def dump(self):
         d = super(Host, self).dump()
diff --git a/nvmet/test_nvmet.py b/nvmet/test_nvmet.py
index 13e2f6c..1d1c592 100644
--- a/nvmet/test_nvmet.py
+++ b/nvmet/test_nvmet.py
@@ -426,6 +426,7 @@ class TestNvmet(unittest.TestCase):
         root.clear_existing()
 
         h = nvme.Host(nqn='hostnqn', mode='create')
+        h.set_attr('dhchap','dhgroup','ffdhe2048')
 
         s = nvme.Subsystem(nqn='testnqn', mode='create')
         s.add_allowed_host(nqn='hostnqn')
@@ -475,6 +476,8 @@ class TestNvmet(unittest.TestCase):
         self.assertEqual(n.get_attr('device', 'path'), NVMET_TEST_DEVICES[0])
         self.assertEqual(n.get_attr('device', 'nguid'), nguid)
 
+        self.assertEqual(h.get_attr('dhchap', 'dhgroup'), 'ffdhe2048')
+
         self.assertEqual(p.get_attr('addr', 'trtype'), 'loop')
         self.assertEqual(p.get_attr('addr', 'adrfam'), 'ipv4')
         self.assertEqual(p.get_attr('addr', 'traddr'), '192.168.0.1')
-- 
2.51.0




More information about the Linux-nvme mailing list