]> www.infradead.org Git - users/sagi/libnvme.git/commitdiff
[Python]: Fix inaccurate Python examples
authorMartin Belanger <martin.belanger@dell.com>
Tue, 19 Oct 2021 12:56:27 +0000 (08:56 -0400)
committerMartin Belanger <martin.belanger@dell.com>
Tue, 19 Oct 2021 18:48:44 +0000 (14:48 -0400)
Signed-off-by: Martin Belanger <martin.belanger@dell.com>
examples/discover-loop.py
pynvme/README.md

index 4582e6a9fb2c1a813f2d2133c64020a503fc94c5..94e8c722d9fcc14831035c92ac5adb20b9ff2746 100644 (file)
@@ -16,10 +16,10 @@ License for the specific language governing permissions and limitations
 under the License.
 '''
 
-import libnvme
-r = libnvme.nvme_root()
-h = libnvme.nvme_host(r)
-c = libnvme.nvme_ctrl('nqn.2014-08.org.nvmexpress.discovery','loop')
+from libnvme import nvme
+r = nvme.root()
+h = nvme.host(r)
+c = nvme.ctrl(nvme.NVME_DISC_SUBSYS_NAME, 'loop')
 try:
     c.connect(h)
 except:
index ac51b387e236614a3e5c0570438b478830f3bd03..f61e5cc8cb0ab21808f2ef55e4503197b0961e30 100644 (file)
@@ -5,28 +5,42 @@ We use [SWIG](http://www.swig.org/) to generate Python bindings for libnvme.
 ## How to use
 
 ```python
+#!/usr/bin/env python3
 import sys
+import pprint
 from libnvme import nvme
 
-root = nvme.root()     # This is a singleton
-host = nvme.host(root) # This "may be" a singleton. 
-ctrl = nvme.ctrl(subsysnqn=<nqn>, transport=<trtype>, traddr=<traddr>, trsvcid=<trsvcid>, host_traddr=<traddr or None>, host_iface=<iface or None>)
+root = nvme.root()      # This is a singleton
+root.log_level('debug') # Optional: extra debug info
+
+host = nvme.host(root)      # This "may be" a singleton. 
+sybsysnqn  = [string]       # e.g. 'nqn.2014-08.org.nvmexpress.discovery', nvme.NVME_DISC_SUBSYS_NAME, ...
+transport  = [string]       # One of: 'tcp, 'rdma', 'fc', 'loop'.
+traddr     = [IPv4 or IPv6] # e.g. '192.168.10.10', 'fd2e:853b:3cad:e135:506a:65ee:29f2:1b18', ...
+trsvcid    = [string]          # e.g. '8009', '4420', ...
+host_iface = [interface]    # e.g. 'eth1', ens256', ...
+ctrl = nvme.ctrl(subsysnqn=subsysnqn, transport=transport, traddr=traddr, trsvcid=trsvcid, host_iface=host_iface)
 
 try:
-    ctrl.connect(host)
+    cfg = {
+        'hdr_digest': True,   # Enable header digests
+        'data_digest': False, # Disable data digests       
+    }
+    ctrl.connect(host, cfg)
     print(f"connected to {ctrl.name} subsys {ctrl.subsystem.name}")
 except Exception as e:
-       sys.exit(f'Failed to connect: {e}')
+    sys.exit(f'Failed to connect: {e}')
 
 try:
-       log_pages = ctrl.discover()
-       print(pprint.pformat(log_pages))
+    log_pages = ctrl.discover()
+    print(pprint.pformat(log_pages))
 except Exception as e:
-       sys.exit(f'Failed to retrieve log pages: {e}')
+    sys.exit(f'Failed to retrieve log pages: {e}')
 
 try:
-       ctrl.disconnect()
+    ctrl.disconnect()
 except Exception as e:
-       sys.exit(f'Failed to disconnect: {e}')
+    sys.exit(f'Failed to disconnect: {e}')
+
 ```