summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2018-05-19 19:09:41 +0000
committerLuiz Souza <luiz@netgate.com>2018-05-29 15:29:56 -0300
commitd7fea2429d3ab9292921b2c44b2dec15085e04d0 (patch)
tree83a263190eb232e2d024097eb7e5a3ad16efb71a
parent84d94ff0f4572549f04f75dcaf69b66e9a928be4 (diff)
downloadFreeBSD-src-d7fea2429d3ab9292921b2c44b2dec15085e04d0.zip
FreeBSD-src-d7fea2429d3ab9292921b2c44b2dec15085e04d0.tar.gz
MFC r333623:
Add support for setting type of service, TOS, for outgoing RDMA connections in the krping kernel test utility. Approved by: re (gjb) Sponsored by: Mellanox Technologies
-rw-r--r--sys/contrib/rdma/krping/krping.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/contrib/rdma/krping/krping.c b/sys/contrib/rdma/krping/krping.c
index 20cd1c5..e975883 100644
--- a/sys/contrib/rdma/krping/krping.c
+++ b/sys/contrib/rdma/krping/krping.c
@@ -96,6 +96,7 @@ static const struct krping_option krping_opts[] = {
{"rlat", OPT_NOPARAM, 'L'},
{"bw", OPT_NOPARAM, 'B'},
{"duplex", OPT_NOPARAM, 'd'},
+ {"tos", OPT_INT, 't'},
{"txdepth", OPT_INT, 'T'},
{"poll", OPT_NOPARAM, 'P'},
{"local_dma_lkey", OPT_NOPARAM, 'Z'},
@@ -234,6 +235,7 @@ struct krping_cb {
int txdepth; /* SQ depth */
int local_dma_lkey; /* use 0 for lkey */
int frtest; /* reg test */
+ int tos; /* type of service */
/* CM stuff */
struct rdma_cm_id *cm_id; /* connection on client side,*/
@@ -1918,6 +1920,10 @@ static void krping_run_client(struct krping_cb *cb)
struct ib_recv_wr *bad_wr;
int ret;
+ /* set type of service, if any */
+ if (cb->tos != 0)
+ rdma_set_service_type(cb->cm_id, cb->tos);
+
ret = krping_bind_client(cb);
if (ret)
return;
@@ -2097,6 +2103,10 @@ int krping_doit(char *cmd)
case 'I':
cb->server_invalidate = 1;
break;
+ case 't':
+ cb->tos = optint;
+ DEBUG_LOG("type of service, tos=%d\n", (int) cb->tos);
+ break;
case 'T':
cb->txdepth = optint;
DEBUG_LOG("txdepth %d\n", (int) cb->txdepth);
OpenPOWER on IntegriCloud