Message ID | 831b3d02-ecc9-b394-88ea-4e371f3a7e72@dev.mellanox.co.il (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Ira Weiny |
Headers | show |
> > > to be able to obtain CapabilityMask and CapabilityMask2 as these fields are not > used on switch external ports (only on switch port 0) > > Signed-off-by: Hal Rosenstock <hal@mellanox.com> Thanks! This and Add support for QP1Dropped counter in PortCounters attribute accepted, Ira > --- > src/ibdiag_common.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/src/ibdiag_common.c b/src/ibdiag_common.c index 9245146..c33cacc > 100644 > --- a/src/ibdiag_common.c > +++ b/src/ibdiag_common.c > @@ -506,8 +506,18 @@ int is_port_info_extended_supported(ib_portid_t * > dest, int port, > uint8_t data[IB_SMP_DATA_SIZE] = { 0 }; > uint32_t cap_mask; > uint16_t cap_mask2; > + int type, portnum; > > - if (!smp_query_via(data, dest, IB_ATTR_PORT_INFO, port, 0, srcport)) > + if (!smp_query_via(data, dest, IB_ATTR_NODE_INFO, 0, 0, srcport)) > + IBEXIT("node info query failed"); > + > + mad_decode_field(data, IB_NODE_TYPE_F, &type); > + if (type == IB_NODE_SWITCH) > + portnum = 0; > + else > + portnum = port; > + > + if (!smp_query_via(data, dest, IB_ATTR_PORT_INFO, portnum, 0, > +srcport)) > IBEXIT("port info query failed"); > > mad_decode_field(data, IB_PORT_CAPMASK_F, &cap_mask); > -- > 2.8.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body > of a message to majordomo@vger.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html
diff --git a/src/ibdiag_common.c b/src/ibdiag_common.c index 9245146..c33cacc 100644 --- a/src/ibdiag_common.c +++ b/src/ibdiag_common.c @@ -506,8 +506,18 @@ int is_port_info_extended_supported(ib_portid_t * dest, int port, uint8_t data[IB_SMP_DATA_SIZE] = { 0 }; uint32_t cap_mask; uint16_t cap_mask2; + int type, portnum; - if (!smp_query_via(data, dest, IB_ATTR_PORT_INFO, port, 0, srcport)) + if (!smp_query_via(data, dest, IB_ATTR_NODE_INFO, 0, 0, srcport)) + IBEXIT("node info query failed"); + + mad_decode_field(data, IB_NODE_TYPE_F, &type); + if (type == IB_NODE_SWITCH) + portnum = 0; + else + portnum = port; + + if (!smp_query_via(data, dest, IB_ATTR_PORT_INFO, portnum, 0, srcport)) IBEXIT("port info query failed"); mad_decode_field(data, IB_PORT_CAPMASK_F, &cap_mask);
to be able to obtain CapabilityMask and CapabilityMask2 as these fields are not used on switch external ports (only on switch port 0) Signed-off-by: Hal Rosenstock <hal@mellanox.com> --- src/ibdiag_common.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)