On Sat, 23 Jul 2011 04:02:52 -0700 Hal Rosenstock <[email protected]> wrote:
> > Signed-off-by: Hal Rosenstock <[email protected]> applied, thanks, Ira > --- > 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]; -- Ira Weiny Math Programmer/Computer Scientist Lawrence Livermore National Lab 925-423-8008 [email protected] -- 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
