Cause security credentials to not be displayed by default. Instead,
the "-K" flag is supported, which must be passed to the command
to display valid results.

Signed-off-by: Jim Foraker <[email protected]>
---
 doc/rst/common/opt_K.rst  |    4 +++
 doc/rst/saquery.8.in.rst  |    2 ++
 doc/rst/smpquery.8.in.rst |    2 ++
 include/ibdiag_common.h   |    9 ++++++
 src/ibaddr.c              |    2 +-
 src/ibcacheedit.c         |    2 +-
 src/ibccconfig.c          |    2 +-
 src/ibccquery.c           |    2 +-
 src/ibdiag_common.c       |   71 +++++++++++++++++++++++++++++++++++++++++++++
 src/iblinkinfo.c          |    2 +-
 src/ibnetdiscover.c       |    2 +-
 src/ibping.c              |    2 +-
 src/ibqueryerrors.c       |    2 +-
 src/ibroute.c             |    2 +-
 src/ibsendtrap.c          |    2 +-
 src/ibstat.c              |    2 +-
 src/ibsysstat.c           |    2 +-
 src/ibtracert.c           |    2 +-
 src/perfquery.c           |    2 +-
 src/saquery.c             |   66 ++++++++++++++++++++---------------------
 src/sminfo.c              |    2 +-
 src/smpdump.c             |    2 +-
 src/smpquery.c            |    6 ++--
 src/vendstat.c            |    2 +-
 24 files changed, 139 insertions(+), 55 deletions(-)
 create mode 100644 doc/rst/common/opt_K.rst

diff --git a/doc/rst/common/opt_K.rst b/doc/rst/common/opt_K.rst
new file mode 100644
index 0000000..2b96bf2
--- /dev/null
+++ b/doc/rst/common/opt_K.rst
@@ -0,0 +1,4 @@
+.. Define the common option -K
+
+**-K, --show_keys**
+  show security keys (mkey, smkey, etc.) associated with the request.
diff --git a/doc/rst/saquery.8.in.rst b/doc/rst/saquery.8.in.rst
index 36696c7..79c8bd3 100644
--- a/doc/rst/saquery.8.in.rst
+++ b/doc/rst/saquery.8.in.rst
@@ -84,6 +84,8 @@ OPTIONS
         queries.  If non-numeric value (like 'x') is specified then saquery
         will prompt for a value.
 
+.. include:: common/opt_K.rst
+
 **--slid <lid>** Source LID (PathRecord)
 
 **--dlid <lid>** Destination LID (PathRecord)
diff --git a/doc/rst/smpquery.8.in.rst b/doc/rst/smpquery.8.in.rst
index 3b249df..b422731 100644
--- a/doc/rst/smpquery.8.in.rst
+++ b/doc/rst/smpquery.8.in.rst
@@ -46,6 +46,8 @@ Current supported operations and their parameters:
         Set SMSupportsExtendedSpeeds bit 31 in AttributeModifier
         (only impacts PortInfo queries).
 
+.. include:: common/opt_K.rst
+
 
 Addressing Flags
 ----------------
diff --git a/include/ibdiag_common.h b/include/ibdiag_common.h
index 6645322..e989088 100644
--- a/include/ibdiag_common.h
+++ b/include/ibdiag_common.h
@@ -39,6 +39,7 @@
 #ifndef _IBDIAG_COMMON_H_
 #define _IBDIAG_COMMON_H_
 
+#include <stdarg.h>
 #include <infiniband/mad.h>
 #include <infiniband/iba/ib_types.h>
 #include <infiniband/ibnetdisc.h>
@@ -50,6 +51,7 @@ extern enum MAD_DEST ibd_dest_type;
 extern ib_portid_t *ibd_sm_id;
 extern int ibd_timeout;
 extern uint32_t ibd_ibnetdisc_flags;
+extern int show_keys;
 
 /*========================================================*/
 /*                External interface                      */
@@ -64,6 +66,8 @@ extern uint32_t ibd_ibnetdisc_flags;
 } while (0)
 #define IBERROR(fmt, ...) iberror(__FUNCTION__, fmt, ## __VA_ARGS__)
 
+#define NOT_DISPLAYED_STR "<not displayed>"
+
 /* not all versions of ib_types.h will have this define */
 #ifndef IB_PM_PC_XMIT_WAIT_SUP
 #define IB_PM_PC_XMIT_WAIT_SUP (CL_HTON16(((uint16_t)1)<<12))
@@ -150,4 +154,9 @@ int resolve_self(char *ca_name, uint8_t ca_port, 
ib_portid_t *portid,
 int resolve_portid_str(char *ca_name, uint8_t ca_port, ib_portid_t * portid,
                       char *addr_str, enum MAD_DEST dest_type,
                       ib_portid_t *sm_id, const struct ibmad_port *srcport);
+int vsnprint_field(char *buf, size_t n, enum MAD_FIELDS f, int spacing,
+                  const char *format, va_list va_args);
+int snprint_field(char *buf, size_t n, enum MAD_FIELDS f, int spacing,
+                 const char *format, ...);
+void dump_portinfo(void *pi, int pisize, int tabs);
 #endif                         /* _IBDIAG_COMMON_H_ */
diff --git a/src/ibaddr.c b/src/ibaddr.c
index 455d941..0735837 100644
--- a/src/ibaddr.c
+++ b/src/ibaddr.c
@@ -133,7 +133,7 @@ int main(int argc, char **argv)
                NULL
        };
 
-       ibdiag_process_opts(argc, argv, NULL, "L", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "KL", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
diff --git a/src/ibcacheedit.c b/src/ibcacheedit.c
index f9e7dc9..2f9a634 100644
--- a/src/ibcacheedit.c
+++ b/src/ibcacheedit.c
@@ -269,7 +269,7 @@ int main(int argc, char **argv)
        };
        char *usage_args = "<orig.cache> <new.cache>";
 
-       ibdiag_process_opts(argc, argv, NULL, "CDdeGLPstv",
+       ibdiag_process_opts(argc, argv, NULL, "CDdeGKLPstv",
                            opts, process_opt, usage_args,
                            NULL);
 
diff --git a/src/ibccconfig.c b/src/ibccconfig.c
index f84c63c..d796ed8 100644
--- a/src/ibccconfig.c
+++ b/src/ibccconfig.c
@@ -615,7 +615,7 @@ int main(int argc, char **argv)
                        exit(-1);
        }
 
-       ibdiag_process_opts(argc, argv, NULL, "D", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "DK", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
diff --git a/src/ibccquery.c b/src/ibccquery.c
index acdfe46..34a9afd 100644
--- a/src/ibccquery.c
+++ b/src/ibccquery.c
@@ -399,7 +399,7 @@ int main(int argc, char **argv)
                        exit(-1);
        }
 
-       ibdiag_process_opts(argc, argv, NULL, "D", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "DK", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
diff --git a/src/ibdiag_common.c b/src/ibdiag_common.c
index 2f12c46..2662b9b 100644
--- a/src/ibdiag_common.c
+++ b/src/ibdiag_common.c
@@ -53,6 +53,7 @@
 #include <getopt.h>
 #include <limits.h>
 #include <sys/stat.h>
+#include <stdarg.h>
 
 #include <infiniband/umad.h>
 #include <infiniband/mad.h>
@@ -70,6 +71,7 @@ char *ibd_ca = NULL;
 int ibd_ca_port = 0;
 int ibd_timeout = 0;
 uint32_t ibd_ibnetdisc_flags = IBND_CONFIG_MLX_EPI;
+int show_keys = 0;
 
 static const char *prog_name;
 static const char *prog_args;
@@ -260,6 +262,9 @@ static int process_opt(int ch, char *optarg)
                                optarg);
                ibd_sm_id = &sm_portid;
                break;
+       case 'K':
+               show_keys = 1;
+               break;
        default:
                return -1;
        }
@@ -276,6 +281,7 @@ static const struct ibdiag_opt common_opts[] = {
        {"Guid", 'G', 0, NULL, "use GUID address argument"},
        {"timeout", 't', 1, "<ms>", "timeout in ms"},
        {"sm_port", 's', 1, "<lid>", "SM port lid"},
+       {"show_keys", 'K', 0, NULL, "display security keys in output"},
        {"errors", 'e', 0, NULL, "show send and receive errors"},
        {"verbose", 'v', 0, NULL, "increase verbosity level"},
        {"debug", 'd', 0, NULL, "raise debug level"},
@@ -913,3 +919,68 @@ check_fdr10_active:
                           IB_MLNX_EXT_PORT_LINK_SPEED_ACTIVE_F) & FDR10) == 0)
                snprintf(speed_msg, msg_size, "Could be FDR10");
 }
+
+int vsnprint_field(char *buf, size_t n, enum MAD_FIELDS f, int spacing,
+                  const char *format, va_list va_args)
+{
+       int len, i, ret;
+
+       len = strlen(mad_field_name(f));
+        if (len + 2 > n || spacing + 1 > n)
+               return 0;
+
+       strncpy(buf, mad_field_name(f), n);
+       buf[len] = ':';
+       for (i = len+1; i < spacing+1; i++) {
+               buf[i] = '.';
+       }
+
+       ret = vsnprintf(&buf[spacing+1], n - spacing, format, va_args);
+       if (ret >= n - spacing)
+               buf[n] = '\0';
+
+       return ret + spacing;
+}
+
+int snprint_field(char *buf, size_t n, enum MAD_FIELDS f, int spacing,
+                 const char *format, ...)
+{
+       va_list val;
+       int ret;
+
+       va_start(val, format);
+       ret = vsnprint_field(buf, n, f, spacing, format, val);
+       va_end(val);
+
+       return ret;
+}
+
+void dump_portinfo(void *pi, int pisize, int tabs)
+{
+       int field, i;
+       char val[64];
+       char buf[1024];
+
+       for (field = IB_PORT_FIRST_F; field < IB_PORT_LAST_F; field++) {
+               for (i=0;i<tabs;i++)
+                       printf("\t");
+               if (field == IB_PORT_MKEY_F && show_keys == 0) {
+                       snprint_field(buf, 1024, field, 32, NOT_DISPLAYED_STR);
+               } else {
+                       mad_decode_field(pi, field, val);
+                       if (!mad_dump_field(field, buf, 1024, val))
+                               return;
+               }
+               printf("%s\n", buf);
+       }
+
+       for (field = IB_PORT_CAPMASK2_F;
+            field < IB_PORT_LINK_SPEED_EXT_LAST_F; field++) {
+               for (i=0;i<tabs;i++)
+                       printf("\t");
+               mad_decode_field(pi, field, val);
+               if (!mad_dump_field(field, buf, 1024, val))
+                       return;
+               printf("%s\n", buf);
+       }
+}
diff --git a/src/iblinkinfo.c b/src/iblinkinfo.c
index a817920..e4a8d65 100644
--- a/src/iblinkinfo.c
+++ b/src/iblinkinfo.c
@@ -619,7 +619,7 @@ int main(int argc, char **argv)
        };
        char usage_args[] = "";
 
-       ibdiag_process_opts(argc, argv, &config, "aDdGgLlnpRS", opts,
+       ibdiag_process_opts(argc, argv, &config, "aDdGgKLlnpRS", opts,
                            process_opt, usage_args, NULL);
 
        argc -= optind;
diff --git a/src/ibnetdiscover.c b/src/ibnetdiscover.c
index 4748be9..6ed0801 100644
--- a/src/ibnetdiscover.c
+++ b/src/ibnetdiscover.c
@@ -1074,7 +1074,7 @@ int main(int argc, char **argv)
        };
        char usage_args[] = "[topology-file]";
 
-       ibdiag_process_opts(argc, argv, &config, "DGLs", opts, process_opt,
+       ibdiag_process_opts(argc, argv, &config, "DGKLs", opts, process_opt,
                            usage_args, NULL);
 
        f = stdout;
diff --git a/src/ibping.c b/src/ibping.c
index 205aa82..6d3246c 100644
--- a/src/ibping.c
+++ b/src/ibping.c
@@ -202,7 +202,7 @@ int main(int argc, char **argv)
        };
        char usage_args[] = "<dest lid|guid>";
 
-       ibdiag_process_opts(argc, argv, NULL, "D", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "DK", opts, process_opt,
                            usage_args, NULL);
 
        argc -= optind;
diff --git a/src/ibqueryerrors.c b/src/ibqueryerrors.c
index eb57418..c4ffcf1 100644
--- a/src/ibqueryerrors.c
+++ b/src/ibqueryerrors.c
@@ -901,7 +901,7 @@ int main(int argc, char **argv)
        char usage_args[] = "";
 
        memset(suppressed_fields, 0, sizeof suppressed_fields);
-       ibdiag_process_opts(argc, argv, &config, "cDGLnRrSs", opts, process_opt,
+       ibdiag_process_opts(argc, argv, &config, "cDGKLnRrSs", opts, 
process_opt,
                            usage_args, NULL);
 
        argc -= optind;
diff --git a/src/ibroute.c b/src/ibroute.c
index faff34d..63baf04 100644
--- a/src/ibroute.c
+++ b/src/ibroute.c
@@ -414,7 +414,7 @@ int main(int argc, char **argv)
                NULL,
        };
 
-       ibdiag_process_opts(argc, argv, NULL, NULL, opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "K", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
diff --git a/src/ibsendtrap.c b/src/ibsendtrap.c
index f98d9cf..98bacf1 100644
--- a/src/ibsendtrap.c
+++ b/src/ibsendtrap.c
@@ -192,7 +192,7 @@ int main(int argc, char **argv)
        snprintf(usage_args + n, sizeof(usage_args) - n,
                 "\n  default behavior is to send \"%s\"", traps[0].trap_name);
 
-       ibdiag_process_opts(argc, argv, NULL, "DGL", NULL, NULL,
+       ibdiag_process_opts(argc, argv, NULL, "DGKL", NULL, NULL,
                            usage_args, NULL);
 
        argc -= optind;
diff --git a/src/ibstat.c b/src/ibstat.c
index 3d971ed..12d3c20 100644
--- a/src/ibstat.c
+++ b/src/ibstat.c
@@ -292,7 +292,7 @@ int main(int argc, char *argv[])
                NULL
        };
 
-       ibdiag_process_opts(argc, argv, NULL, "CDeGLPst", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "CDeGKLPst", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
diff --git a/src/ibsysstat.c b/src/ibsysstat.c
index 2b11a06..bac4bb1 100644
--- a/src/ibsysstat.c
+++ b/src/ibsysstat.c
@@ -326,7 +326,7 @@ int main(int argc, char **argv)
        };
        char usage_args[] = "<dest lid|guid> [<op>]";
 
-       ibdiag_process_opts(argc, argv, NULL, "D", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "DK", opts, process_opt,
                            usage_args, NULL);
 
        argc -= optind;
diff --git a/src/ibtracert.c b/src/ibtracert.c
index e8fedf3..575d9d0 100644
--- a/src/ibtracert.c
+++ b/src/ibtracert.c
@@ -757,7 +757,7 @@ int main(int argc, char **argv)
                NULL,
        };
 
-       ibdiag_process_opts(argc, argv, NULL, "D", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "DK", opts, process_opt,
                            usage_args, usage_examples);
 
        f = stdout;
diff --git a/src/perfquery.c b/src/perfquery.c
index b58ad70..9ca2e15 100644
--- a/src/perfquery.c
+++ b/src/perfquery.c
@@ -710,7 +710,7 @@ int main(int argc, char **argv)
                NULL,
        };
 
-       ibdiag_process_opts(argc, argv, NULL, "D", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "DK", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
diff --git a/src/saquery.c b/src/saquery.c
index 1e730a4..90feb2d 100644
--- a/src/saquery.c
+++ b/src/saquery.c
@@ -116,20 +116,6 @@ static unsigned valid_gid(ib_gid_t * gid)
        return memcmp(&zero_gid, gid, sizeof(*gid));
 }
 
-static void format_buf(char *in, char *out, unsigned size)
-{
-       unsigned i;
-
-       for (i = 0; i < size - 3 && *in; i++) {
-               *out++ = *in;
-               if (*in++ == '\n' && *in) {
-                       *out++ = '\t';
-                       *out++ = '\t';
-               }
-       }
-       *out = '\0';
-}
-
 static void print_node_desc(ib_node_record_t * node_record)
 {
        ib_node_info_t *p_ni = &(node_record->node_info);
@@ -300,19 +286,17 @@ static void dump_portinfo_record(void *data)
 
 static void dump_one_portinfo_record(void *data)
 {
-       char buf[2300], buf2[4096];
        ib_portinfo_record_t *pir = data;
        ib_port_info_t *pi = &pir->port_info;
 
-       mad_dump_portinfo(buf, sizeof(buf), pi, sizeof(*pi));
-       format_buf(buf, buf2, sizeof(buf2));
        printf("PortInfoRecord dump:\n"
               "\tRID:\n"
               "\t\tEndPortLid..............%u\n"
               "\t\tPortNum.................%u\n"
               "\t\tOptions.................0x%x\n"
-              "\tPortInfo dump:\n\t\t%s",
-              cl_ntoh16(pir->lid), pir->port_num, pir->options, buf2);
+              "\tPortInfo dump:\n",
+              cl_ntoh16(pir->lid), pir->port_num, pir->options);
+       dump_portinfo(pi, sizeof(*pi), 2);
 }
 
 static void dump_one_mcmember_record(void *data)
@@ -471,7 +455,8 @@ static void dump_service_record(void *data)
               cl_ntoh64(p_sr->service_id),
               inet_ntop(AF_INET6, p_sr->service_gid.raw, gid, sizeof gid),
               cl_ntoh16(p_sr->service_pkey), cl_ntoh32(p_sr->service_lease),
-              buf_service_key, buf_service_name,
+              (show_keys ? buf_service_key : NOT_DISPLAYED_STR),
+               buf_service_name,
               p_sr->service_data8[0], p_sr->service_data8[1],
               p_sr->service_data8[2], p_sr->service_data8[3],
               p_sr->service_data8[4], p_sr->service_data8[5],
@@ -507,7 +492,7 @@ static void dump_inform_info_record(void *data)
        ib_inform_info_get_qpn_resp_time(p_iir->inform_info.g_or_v.
                                         generic.qpn_resp_time_val, &qpn,
                                         &resp_time_val);
-       if (p_iir->inform_info.is_generic)
+       if (p_iir->inform_info.is_generic) {
                printf("InformInfoRecord dump:\n"
                       "\t\tRID\n"
                       "\t\tSubscriberGID...........%s\n"
@@ -519,10 +504,7 @@ static void dump_inform_info_record(void *data)
                       "\t\tis_generic..............0x%X\n"
                       "\t\tsubscribe...............0x%X\n"
                       "\t\ttrap_type...............0x%X\n"
-                      "\t\ttrap_num................%u\n"
-                      "\t\tqpn.....................0x%06X\n"
-                      "\t\tresp_time_val...........0x%X\n"
-                      "\t\tnode_type...............0x%06X\n",
+                      "\t\ttrap_num................%u\n",
                       inet_ntop(AF_INET6, p_iir->subscriber_gid.raw, gid_str,
                                 sizeof gid_str),
                       cl_ntoh16(p_iir->subscriber_enum),
@@ -533,11 +515,20 @@ static void dump_inform_info_record(void *data)
                       p_iir->inform_info.is_generic,
                       p_iir->inform_info.subscribe,
                       cl_ntoh16(p_iir->inform_info.trap_type),
-                      cl_ntoh16(p_iir->inform_info.g_or_v.generic.trap_num),
-                      cl_ntoh32(qpn), resp_time_val,
+                      cl_ntoh16(p_iir->inform_info.g_or_v.generic.trap_num));
+               if (show_keys) {
+                       printf("\t\tqpn.....................0x%06X\n",
+                              cl_ntoh32(qpn));
+               } else {
+                       printf("\t\tqpn....................."
+                              NOT_DISPLAYED_STR "\n");
+               }
+               printf("\t\tresp_time_val...........0x%X\n"
+                      "\t\tnode_type...............0x%06X\n",
+                      resp_time_val,
                       cl_ntoh32(ib_inform_info_get_prod_type
                                 (&p_iir->inform_info)));
-       else
+       } else {
                printf("InformInfoRecord dump:\n"
                       "\t\tRID\n"
                       "\t\tSubscriberGID...........%s\n"
@@ -549,10 +540,7 @@ static void dump_inform_info_record(void *data)
                       "\t\tis_generic..............0x%X\n"
                       "\t\tsubscribe...............0x%X\n"
                       "\t\ttrap_type...............0x%X\n"
-                      "\t\tdev_id..................0x%X\n"
-                      "\t\tqpn.....................0x%06X\n"
-                      "\t\tresp_time_val...........0x%X\n"
-                      "\t\tvendor_id...............0x%06X\n",
+                      "\t\tdev_id..................0x%X\n",
                       inet_ntop(AF_INET6, p_iir->subscriber_gid.raw, gid_str,
                                 sizeof gid_str),
                       cl_ntoh16(p_iir->subscriber_enum),
@@ -563,10 +551,20 @@ static void dump_inform_info_record(void *data)
                       p_iir->inform_info.is_generic,
                       p_iir->inform_info.subscribe,
                       cl_ntoh16(p_iir->inform_info.trap_type),
-                      cl_ntoh16(p_iir->inform_info.g_or_v.vend.dev_id),
-                      cl_ntoh32(qpn), resp_time_val,
+                      cl_ntoh16(p_iir->inform_info.g_or_v.vend.dev_id));
+               if (show_keys) {
+                       printf("\t\tqpn.....................0x%06X\n",
+                              cl_ntoh32(qpn));
+               } else {
+                       printf("\t\tqpn....................."
+                              NOT_DISPLAYED_STR "\n");
+               }
+               printf("\t\tresp_time_val...........0x%X\n"
+                      "\t\tvendor_id...............0x%06X\n",
+                      resp_time_val,
                       cl_ntoh32(ib_inform_info_get_prod_type
                                 (&p_iir->inform_info)));
+       }
 }
 
 static void dump_one_link_record(void *data)
diff --git a/src/sminfo.c b/src/sminfo.c
index f1abc6a..1c12204 100644
--- a/src/sminfo.c
+++ b/src/sminfo.c
@@ -109,7 +109,7 @@ int main(int argc, char **argv)
        };
        char usage_args[] = "<sm_lid|sm_dr_path> [modifier]";
 
-       ibdiag_process_opts(argc, argv, NULL, "s", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "sK", opts, process_opt,
                            usage_args, NULL);
 
        argc -= optind;
diff --git a/src/smpdump.c b/src/smpdump.c
index 1e79c52..4d67be7 100644
--- a/src/smpdump.c
+++ b/src/smpdump.c
@@ -231,7 +231,7 @@ int main(int argc, char *argv[])
 
        ibd_timeout = 1000;
 
-       ibdiag_process_opts(argc, argv, NULL, "Gs", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "GKs", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
diff --git a/src/smpquery.c b/src/smpquery.c
index 533b2c3..2909dc5 100644
--- a/src/smpquery.c
+++ b/src/smpquery.c
@@ -133,7 +133,6 @@ static char *node_info(ib_portid_t * dest, char **argv, int 
argc)
 
 static char *port_info(ib_portid_t * dest, char **argv, int argc)
 {
-       char buf[2300];
        char data[IB_SMP_DATA_SIZE] = { 0 };
        int portnum = 0, orig_portnum;
 
@@ -146,9 +145,8 @@ static char *port_info(ib_portid_t * dest, char **argv, int 
argc)
        if (!smp_query_via(data, dest, IB_ATTR_PORT_INFO, portnum, 0, srcport))
                return "port info query failed";
 
-       mad_dump_portinfo(buf, sizeof buf, data, sizeof data);
-
-       printf("# Port info: %s port %d\n%s", portid2str(dest), orig_portnum, 
buf);
+       printf("# Port info: %s port %d\n", portid2str(dest), orig_portnum);
+       dump_portinfo(data, sizeof data, 0);
        return 0;
 }
 
diff --git a/src/vendstat.c b/src/vendstat.c
index 78f6d7d..dd89da7 100644
--- a/src/vendstat.c
+++ b/src/vendstat.c
@@ -332,7 +332,7 @@ int main(int argc, char **argv)
                NULL
        };
 
-       ibdiag_process_opts(argc, argv, NULL, "D", opts, process_opt,
+       ibdiag_process_opts(argc, argv, NULL, "DK", opts, process_opt,
                            usage_args, usage_examples);
 
        argc -= optind;
-- 
1.7.9.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to