From 180d2c1d9d98fe3d32e66954ebcaace43fa90818 Mon Sep 17 00:00:00 2001 From: John Levon Date: Thu, 23 Sep 2021 16:56:11 +0100 Subject: [PATCH] nvmf/vfio-user: add transport opts to RPC Signed-off-by: John Levon Change-Id: Ifa8e80e0a25af7757181f480ab0405ec902a61ff Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9596 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki --- doc/jsonrpc.md | 1 + lib/nvmf/vfio_user.c | 2 +- scripts/rpc.py | 2 ++ scripts/rpc/nvmf.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/jsonrpc.md b/doc/jsonrpc.md index 6701ee07f..64207b9de 100644 --- a/doc/jsonrpc.md +++ b/doc/jsonrpc.md @@ -6023,6 +6023,7 @@ acceptor_backlog | Optional | number | The number of pending connect abort_timeout_sec | Optional | number | Abort execution timeout value, in seconds no_wr_batching | Optional | boolean | Disable work requests batching (RDMA only) control_msg_num | Optional | number | The number of control messages per poll group (TCP only) +disable_mappable_bar0 | Optional | boolean | disable client mmap() of BAR0 (VFIO-USER only) #### Example diff --git a/lib/nvmf/vfio_user.c b/lib/nvmf/vfio_user.c index db26386ef..e73232cd7 100644 --- a/lib/nvmf/vfio_user.c +++ b/lib/nvmf/vfio_user.c @@ -543,7 +543,7 @@ nvmf_vfio_user_destroy(struct spdk_nvmf_transport *transport, static const struct spdk_json_object_decoder vfio_user_transport_opts_decoder[] = { { - "disable-mappable-bar0", + "disable_mappable_bar0", offsetof(struct nvmf_vfio_user_transport, transport_opts.disable_mappable_bar0), spdk_json_decode_bool, true }, diff --git a/scripts/rpc.py b/scripts/rpc.py index c1186b01c..de3cbdd06 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -1937,6 +1937,8 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse p.add_argument('-w', '--no-wr-batching', action='store_true', help='Disable work requests batching. Relevant only for RDMA transport') p.add_argument('-e', '--control-msg-num', help="""The number of control messages per poll group. Relevant only for TCP transport""", type=int) + p.add_argument('-M', '--disable-mappable-bar0', action='store_true', help="""Disable mmap() of BAR0. + Relevant only for VFIO-USER transport""") p.set_defaults(func=nvmf_create_transport) def nvmf_get_transports(args): diff --git a/scripts/rpc/nvmf.py b/scripts/rpc/nvmf.py index 2e6e27a03..abb123e27 100644 --- a/scripts/rpc/nvmf.py +++ b/scripts/rpc/nvmf.py @@ -118,6 +118,7 @@ def nvmf_create_transport(client, **params): abort_timeout_sec: Abort execution timeout value, in seconds (optional) no_wr_batching: Boolean flag to disable work requests batching - RDMA specific (optional) control_msg_num: The number of control messages per poll group - TCP specific (optional) + disable_mappable_bar0: disable client mmap() of BAR0 - VFIO-USER specific (optional) Returns: True or False """