[openib-general] cable test/error count utilities?

Hal Rosenstock halr at voltaire.com
Fri Jun 3 10:28:36 PDT 2005


On Fri, 2005-06-03 at 13:14, Troy Benjegerdes wrote:
> On Fri, Jun 03, 2005 at 06:14:34AM -0400, Hal Rosenstock wrote:
> > Usage: perfquery [-d(ebug) -G(uid_addr) -a(ll_ports) -r(reset_after_read) -C ca_name -P hca_port -R(eset_only) -t timeout_ms -V(ersion) -h(elp)] [<lid|guid> [[port] [reset_mask]]]
> 
> How can I query a port between two switches?
> 
>         [1] {00066a009800044d}
> DR path [0][1] -> new remote switch {00084e000000014a} portnum 0 lid 0x3-0x3 "Di
> vergeNet Meshlink 4X Switch"
>         [4] {00084e000000014a}
> DR path [0][1] -> processing switch {00084e000000014a} portnum 0 lid 0x2-0x2 "Di
> vergeNet Meshlink 4X Switch"
>         [5] {00084e000000014a}
> DR path [0][1][5] -> new remote switch {00084e0000000152} portnum 0 lid 0x1-0x1
> "DivergeNet Meshlink 4X Switch"
>         [6] {00084e0000000152}
> DR path [0][1][5] -> processing switch {00084e0000000152} portnum 0 lid 0x0-0x0
> "DivergeNet Meshlink 4X Switch"
>         [2] {00084e0000000152}
> DR path [0][1][5][2] -> new remote hca {00066a009800043c} portnum 1 lid 0x7-0x7
> "MT23108 InfiniHost Mellanox Technologies"
>         [1] {00066a009800043c}
> warn: [17598] _do_madrpc: send failed; Invalid argument
> warn: [17598] handle_port: Nodeinfo on DR path [0][1][5][3] port 3 failed, skipp
> ing port
>         [4] {00084e0000000152}
> DR path [0][1][5][4] -> new remote hca {00066a0098000458} portnum 1 lid 0x9-0x9
> "MT23108 InfiniHost Mellanox Technologies"
>         [1] {00066a0098000458}
>         [8] {00084e0000000152}
> DR path [0][1][5][8] -> new remote hca {00066a0098000444} portnum 1 lid 0x8-0x8
> "MT23108 InfiniHost Mellanox Technologies"
>         [1] {00066a0098000444}
> #
> # Topology file: generated on Fri Jun  3 12:13:51 2005
> #
> 
> switchguids=0x84e000000014a
> Switch  8 "S-00084e000000014a"          # DivergeNet Meshlink 4X Switch port 0 l
> id 3
> [5]     "S-00084e0000000152"[6]
> [4]     "H-00066a009800044d"[1]
> 
> switchguids=0x84e0000000152
> Switch  8 "S-00084e0000000152"          # DivergeNet Meshlink 4X Switch port 0 l
> id 1
> [8]     "H-00066a0098000444"[1]
> [4]     "H-00066a0098000458"[1]
> [2]     "H-00066a009800043c"[1]
> [6]     "S-00084e000000014a"[5]
> 
> hcaguids=0x66a0098000444
> Hca     2 "H-00066a0098000444"          # MT23108 InfiniHost Mellanox Technologi
> es
> [1]     "S-00084e0000000152"[8]         # lid 8 lmc 0
> 
> hcaguids=0x66a0098000458
> Hca     2 "H-00066a0098000458"          # MT23108 InfiniHost Mellanox Technologi
> es
> [1]     "S-00084e0000000152"[4]         # lid 9 lmc 0
> 
> hcaguids=0x66a009800043c
> Hca     2 "H-00066a009800043c"          # MT23108 InfiniHost Mellanox Technologi
> es
> [1]     "S-00084e0000000152"[2]         # lid 7 lmc 0
> 
> hcaguids=0x66a009800044d
> Hca     2 "H-00066a009800044d"          # MT23108 InfiniHost Mellanox Technologi
> es
> [1]     "S-00084e000000014a"[4]         # lid 2 lmc 0

You need to give perfquery the port 0 LID of the switch and the physical
port number. One of the switches is LID 3 and the other is LID 1.

So its something like /usr/local/ib/bin/perfquery 3 <physical port
number> 

Here's one of my switch physical ports port counters:
# Port counters: Lid 0x2 port 2
PortSelect:......................2
CounterSelect:...................0x0000
SymbolErrors:....................102
LinkRecovers:....................255
LinkDowned:......................3
RcvErrors:.......................1
RcvRemotePhysErrors:.............0
RcvSwRelayErrors:................0
XmtDiscards:.....................0
XmtConstraintErrors:.............0
RcvConstraintErrors:.............0
LinkIntegrityErrors:.............0
ExcBufOverrunErrors:.............15
VL15Dropped:.....................0
XmtBytes:........................624996
RcvBytes:........................112635
XmtPkts:.........................8693
RcvBytes:........................1578

You can do it from both sides if you know the physical port for each
switch for a given link. You can see this in ibnetdiscover:

Switch  8 "S-00084e000000014a"          # DivergeNet Meshlink 4X Switch
port 0 lid 3
[5]     "S-00084e0000000152"[6]
port 5 on LID 3 is connected to port 6 on GUID ending in 153 (LID 1)

and

Switch  8 "S-00084e0000000152"          # DivergeNet Meshlink 4X Switch port 0 lid 1
[6]     "S-00084e000000014a"[5]
port 6 on LID 1 is connected to port 5 on GUID ending in 14a (other
switch) (LID 3)

So you have 1 trunk between the 2 switches with 3 HCA ports off 1 and 1
HCA port off the other.

-- Hal




More information about the general mailing list