Signed-off-by: Hal Rosenstock <[email protected]>
---
Changes since v2:
Made command MlnxExtPortInfo or MEPI
Other cosmetics to add mlnx to extportinfo

Changes since v1:
Added man page change

diff --git a/man/smpquery.8 b/man/smpquery.8
index 3b69e8a..afd02db 100644
--- a/man/smpquery.8
+++ b/man/smpquery.8
@@ -1,4 +1,4 @@
-.TH SMPQUERY 8 "March 14, 2007" "OpenIB" "OpenIB Diagnostics"
+.TH SMPQUERY 8 "March 9, 2011" "OpenIB" "OpenIB Diagnostics"
 
 .SH NAME
 smpquery \- query InfiniBand subnet management attributes
@@ -29,6 +29,7 @@ Current supported operations and their parameters:
         sl2vl <addr> [<portnum>]
         vlarb <addr> [<portnum>]
         guids <addr>
+        mlnxextportinfo <addr> [<portnum>]  # default port is zero
 
 .TP
 \fB\-\-node\-name\-map\fR <node-name-map>
@@ -113,4 +114,4 @@ smpquery -c nodeinfo 6 0,12  # nodeinfo by combined route
 .SH AUTHOR
 .TP
 Hal Rosenstock
-.RI < [email protected] >
+.RI < [email protected] >
diff --git a/src/smpquery.c b/src/smpquery.c
index 65bb65c..6753ba9 100644
--- a/src/smpquery.c
+++ b/src/smpquery.c
@@ -63,7 +63,7 @@ typedef struct match_rec {
 } match_rec_t;
 
 static op_fn_t node_desc, node_info, port_info, switch_info, pkey_table,
-    sl2vl_table, vlarb_table, guid_info;
+    sl2vl_table, vlarb_table, guid_info, mlnx_ext_port_info;
 
 static const match_rec_t match_tbl[] = {
        {"NodeInfo", "NI", node_info},
@@ -74,6 +74,7 @@ static const match_rec_t match_tbl[] = {
        {"SL2VLTable", "SL2VL", sl2vl_table, 1},
        {"VLArbitration", "VLArb", vlarb_table, 1},
        {"GUIDInfo", "GI", guid_info},
+       {"MlnxExtPortInfo", "MEPI", mlnx_ext_port_info, 1},
        {0}
 };
 
@@ -147,6 +148,24 @@ static char *port_info(ib_portid_t * dest, char **argv, 
int argc)
        return 0;
 }
 
+static char *mlnx_ext_port_info(ib_portid_t * dest, char **argv, int argc)
+{
+       char buf[2300];
+       char data[IB_SMP_DATA_SIZE];
+       int portnum = 0;
+
+       if (argc > 0)
+               portnum = strtol(argv[0], 0, 0);
+
+       if (!smp_query_via(data, dest, IB_ATTR_MLNX_EXT_PORT_INFO, portnum, 0, 
srcport))
+               return "Mellanox ext port info query failed";
+
+       mad_dump_mlnx_ext_port_info(buf, sizeof buf, data, sizeof data);
+
+       printf("# MLNX ext Port info: %s port %d\n%s", portid2str(dest), 
portnum, buf);
+       return 0;
+}
+
 static char *switch_info(ib_portid_t * dest, char **argv, int argc)
 {
        char buf[2048];
--
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