1219820Sjeff#!/bin/sh 2219820Sjeff 3219820SjeffIBPATH=${IBPATH:-@IBSCRIPTPATH@} 4219820Sjeff 5219820Sjefffunction usage() { 6219820Sjeff echo Usage: `basename $0` "[-h] [<topology-file> | -C ca_name" \ 7219820Sjeff "-P ca_port -t(imeout) timeout_ms]" 8219820Sjeff exit -1 9219820Sjeff} 10219820Sjeff 11219820Sjefftopofile="" 12219820Sjeffca_info="" 13219820Sjeff 14219820Sjeffwhile [ "$1" ]; do 15219820Sjeff case $1 in 16219820Sjeff -h) 17219820Sjeff usage 18219820Sjeff ;; 19219820Sjeff -P | -C | -t | -timeout) 20219820Sjeff case $2 in 21219820Sjeff -*) 22219820Sjeff usage 23219820Sjeff ;; 24219820Sjeff esac 25219820Sjeff if [ x$2 = x ] ; then 26219820Sjeff usage 27219820Sjeff fi 28219820Sjeff ca_info="$ca_info $1 $2" 29219820Sjeff shift 30219820Sjeff ;; 31219820Sjeff -*) 32219820Sjeff usage 33219820Sjeff ;; 34219820Sjeff *) 35219820Sjeff if [ "$topofile" ]; then 36219820Sjeff usage 37219820Sjeff fi 38219820Sjeff topofile="$1" 39219820Sjeff ;; 40219820Sjeff esac 41219820Sjeff shift 42219820Sjeffdone 43219820Sjeff 44219820Sjeffif [ "$topofile" ]; then 45219820Sjeff netcmd="cat $topofile" 46219820Sjeffelse 47219820Sjeff netcmd="$IBPATH/ibnetdiscover $ca_info" 48219820Sjefffi 49219820Sjeff 50219820Sjefftext="`eval $netcmd`" 51219820Sjeffrv=$? 52219820Sjeffecho "$text" | awk ' 53219820Sjeff/^Ca/ {print $1 "\t: 0x" substr($3, 4, 16) " ports " $2 " "\ 54219820Sjeff substr($0, match($0, "#[ \t]*")+RLENGTH)} 55219820Sjeff/^ib/ {print $0; next} 56219820Sjeff/ibpanic:/ {print $0} 57219820Sjeff/ibwarn:/ {print $0} 58219820Sjeff/iberror:/ {print $0} 59219820Sjeff' 60219820Sjeffexit $rv 61