From: Martin Belanger Date: Tue, 19 Oct 2021 12:56:27 +0000 (-0400) Subject: [Python]: Fix inaccurate Python examples X-Git-Tag: v1.0-rc0~75^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=91af7fdbb7a4cb2dd39f8f3b398a24d74cd21092;p=users%2Fsagi%2Flibnvme.git [Python]: Fix inaccurate Python examples Signed-off-by: Martin Belanger --- diff --git a/examples/discover-loop.py b/examples/discover-loop.py index 4582e6a9..94e8c722 100644 --- a/examples/discover-loop.py +++ b/examples/discover-loop.py @@ -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: diff --git a/pynvme/README.md b/pynvme/README.md index ac51b387..f61e5cc8 100644 --- a/pynvme/README.md +++ b/pynvme/README.md @@ -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=, transport=, traddr=, trsvcid=, host_traddr=, host_iface=) +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}') + ```