Hello,
We have a customer reporting an issue with the "ibswitches" command part
of the infiniband-diags package.
If the switch description includes the string "base" anywhere, then the
match operation in the awk section of ibwitches does not behave as
expected and output is garbled.
Example :
[root@slcc09sw-ib2 tmp]# grep Switch ibnetdisc.out
Switch 36 "S-002128468ee1a0a0" # "SUN DCS 36P QDR basesw-ib3
10.242.48.23" enhanced port 0 lid 1 lmc 0
Switch 36 "S-0021286cc8a3a0a0" # "SUN DCS 46P QDR slcc09sw-ib3
10.242.48.24" enhanced port 0 lid 12 lmc 0
[root@slcc09sw-ib2 tmp]# ibswitches ibnetdisc.out
Switch : 0x002128468ee1a0a0 ports 36 "SUN DCS 36P QDR base port 0 lid 1
lmc 0
Switch : 0x0021286cc8a3a0a0 ports 36 "SUN DCS 46P QDR slcc09sw-ib3
10.242.48.24" enhanced port 0 lid 12 lmc 0
The 1 liner workaround we have is to replace in red :
echo "$text" | awk '
/^Switch/ {
l=$0
desc=substr(l, match(l, "#[ \t]*")+RLENGTH)
pi=match(desc, "port 0.*")
pinfo=substr(desc, pi)
desc=substr(desc, 1, pi-2)
type="base"
ti=match(desc, type)
...
With
echo "$text" | awk '
/^Switch/ {
l=$0
desc=substr(l, match(l, "#[ \t]*")+RLENGTH)
pi=match(desc, "port 0.*")
pinfo=substr(desc, pi)
desc=substr(desc, 1, pi-2)
type="\base\"
ti=match(desc, type)
...
Thanks for your help in reviewing this potential defect.
Apologies if posting to the wrong mailing list.
Best regards,
Pierre Orzechowski
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html