summaryrefslogtreecommitdiffstats
path: root/contrib/ofed/management/infiniband-diags/scripts/ibhosts.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ofed/management/infiniband-diags/scripts/ibhosts.in')
-rw-r--r--contrib/ofed/management/infiniband-diags/scripts/ibhosts.in60
1 files changed, 60 insertions, 0 deletions
diff --git a/contrib/ofed/management/infiniband-diags/scripts/ibhosts.in b/contrib/ofed/management/infiniband-diags/scripts/ibhosts.in
new file mode 100644
index 0000000..baba105
--- /dev/null
+++ b/contrib/ofed/management/infiniband-diags/scripts/ibhosts.in
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+IBPATH=${IBPATH:-@IBSCRIPTPATH@}
+
+function usage() {
+ echo Usage: `basename $0` "[-h] [<topology-file> | -C ca_name" \
+ "-P ca_port -t(imeout) timeout_ms]"
+ exit -1
+}
+
+topofile=""
+ca_info=""
+
+while [ "$1" ]; do
+ case $1 in
+ -h)
+ usage
+ ;;
+ -P | -C | -t | -timeout)
+ case $2 in
+ -*)
+ usage
+ ;;
+ esac
+ if [ x$2 = x ] ; then
+ usage
+ fi
+ ca_info="$ca_info $1 $2"
+ shift
+ ;;
+ -*)
+ usage
+ ;;
+ *)
+ if [ "$topofile" ]; then
+ usage
+ fi
+ topofile="$1"
+ ;;
+ esac
+ shift
+done
+
+if [ "$topofile" ]; then
+ netcmd="cat $topofile"
+else
+ netcmd="$IBPATH/ibnetdiscover $ca_info"
+fi
+
+text="`eval $netcmd`"
+rv=$?
+echo "$text" | awk '
+/^Ca/ {print $1 "\t: 0x" substr($3, 4, 16) " ports " $2 " "\
+ substr($0, match($0, "#[ \t]*")+RLENGTH)}
+/^ib/ {print $0; next}
+/ibpanic:/ {print $0}
+/ibwarn:/ {print $0}
+/iberror:/ {print $0}
+'
+exit $rv
OpenPOWER on IntegriCloud