From d8c1ef925af5db085a7649076047eda48ac68404 Mon Sep 17 00:00:00 2001 From: Benoît Ganne Date: Tue, 7 Jan 2020 16:08:43 +0100 Subject: rdma: api: prepare support for direct verb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prepare rdma interface creation API for direct verb support: - add new optional 'mode' parameters to select between ibverb or direct verb backend (optional, default to 'auto') - set default value for rxq_num (1), rxq_size (1024) and txq_size (1024) so they are now optional - bump default create value for rxq_size and txq_size to 1024 if unset (0) so they are coherent with default values above Type: feature Change-Id: Id9eae2b8eb0baaf34a0fcd55da6ad09515f57a93 Signed-off-by: Benoît Ganne --- src/plugins/rdma/device.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/plugins/rdma/device.c') diff --git a/src/plugins/rdma/device.c b/src/plugins/rdma/device.c index 70720e4df74..7316edbaa25 100644 --- a/src/plugins/rdma/device.c +++ b/src/plugins/rdma/device.c @@ -589,8 +589,8 @@ rdma_create_if (vlib_main_t * vm, rdma_create_if_args_t * args) u16 qid; int i; - args->rxq_size = args->rxq_size ? args->rxq_size : 2 * VLIB_FRAME_SIZE; - args->txq_size = args->txq_size ? args->txq_size : 2 * VLIB_FRAME_SIZE; + args->rxq_size = args->rxq_size ? args->rxq_size : 1024; + args->txq_size = args->txq_size ? args->txq_size : 1024; args->rxq_num = args->rxq_num ? args->rxq_num : 1; if (!is_pow2 (args->rxq_num)) @@ -611,6 +611,19 @@ rdma_create_if (vlib_main_t * vm, rdma_create_if_args_t * args) goto err0; } + switch (args->mode) + { + case RDMA_MODE_AUTO: + break; + case RDMA_MODE_IBV: + break; + case RDMA_MODE_DV: + args->rv = VNET_API_ERROR_INVALID_VALUE; + args->error = clib_error_return (0, "unsupported mode"); + goto err0; + break; + } + dev_list = ibv_get_device_list (&n_devs); if (n_devs == 0) { -- cgit 1.2.3-korg