From cb4cb9e300216a2c94082b9fe5df939c4972e1e9 Mon Sep 17 00:00:00 2001 From: Arlin Davis Date: Fri, 16 Oct 2015 13:08:11 -0700 Subject: [PATCH] dtestx: add dat_ib_open_query only option with -q Signed-off-by: Arlin Davis --- test/dtest/dtestx.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/test/dtest/dtestx.c b/test/dtest/dtestx.c index 931c860..a5693d8 100755 --- a/test/dtest/dtestx.c +++ b/test/dtest/dtestx.c @@ -180,6 +180,7 @@ int eps = 1; int verbose = 0; int counters = 0; int counters_ok = 0; +int query_only = 0; static int ucm = 0; static DAT_SOCK_ADDR6 remote; static DAT_IA_ATTR ia_attr; @@ -1549,7 +1550,7 @@ int main(int argc, char **argv) DAT_RETURN status; /* parse arguments */ - while ((rc = getopt(argc, argv, "csvumpU:h:b:P:")) != -1) { + while ((rc = getopt(argc, argv, "qcsvumpU:h:b:P:")) != -1) { switch (rc) { case 'u': ud_test = 1; @@ -1584,6 +1585,9 @@ int main(int argc, char **argv) case 'v': verbose = 1; break; + case 'q': + query_only = 1; + break; default: print_usage(); exit(-12); @@ -1603,6 +1607,29 @@ int main(int argc, char **argv) } } #endif + if (query_only) { + memset(&ia_attr, 0, sizeof(ia_attr)); + memset(&prov_attrs, 0, sizeof(prov_attrs)); + status = dat_ib_open_query(provider, &ia, + DAT_IA_FIELD_ALL, &ia_attr, + DAT_PROVIDER_FIELD_ALL, &prov_attrs); + _OK(status, "dat_ib_open_query"); + + print_ia_address(ia_attr.ia_address_ptr); + printf(" Open_Query: %s num_attrs = %d\n", + provider, prov_attrs.num_provider_specific_attr); + /* Print provider specific attributes */ + for (i = 0; i < prov_attrs.num_provider_specific_attr; i++) { + printf(" Open_Query: Provider Specific Attribute[%d] %s=%s\n", + i, prov_attrs.provider_specific_attr[i].name, + prov_attrs.provider_specific_attr[i].value); + } + + status = dat_ib_close_query(ia); + _OK(status, "dat_ib_close_query"); + exit(0); + } + status = dat_ia_open(provider, 8, &async_evd, &ia); _OK(status, "dat_ia_open"); -- 2.46.0