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/rdma.api | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'src/plugins/rdma/rdma.api') diff --git a/src/plugins/rdma/rdma.api b/src/plugins/rdma/rdma.api index a24c4fc7e21..668f2380e6f 100644 --- a/src/plugins/rdma/rdma.api +++ b/src/plugins/rdma/rdma.api @@ -18,14 +18,23 @@ option version = "1.0.0"; import "vnet/interface_types.api"; +enum rdma_mode +{ + RDMA_API_MODE_AUTO = 0, + RDMA_API_MODE_IBV = 1, + RDMA_API_MODE_DV = 2, +}; + + /** \brief @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param host_if - Linux netdev interface name @param name - new rdma interface name - @param rxq_num - number of receive queues - @param rxq_size - receive queue size - @param txq_size - transmit queue size + @param rxq_num - number of receive queues (optional) + @param rxq_size - receive queue size (optional) + @param txq_size - transmit queue size (optional) + @param mode - operation mode (optional) */ define rdma_create @@ -35,10 +44,11 @@ define rdma_create string host_if[64]; string name[64]; - u16 rxq_num; - u16 rxq_size; - u16 txq_size; - option vat_help = " [name ] [rx-queue-size ] [tx-queue-size ] [num-rx-queues ]"; + u16 rxq_num [default=1]; + u16 rxq_size [default=1024]; + u16 txq_size [default=1024]; + vl_api_rdma_mode_t mode [default=0]; + option vat_help = " [name ] [rx-queue-size ] [tx-queue-size ] [num-rx-queues ] [mode ]"; }; /** \brief -- cgit 1.2.3-korg