Blame scripts/ibrouters.in

Packit db064d
#!/bin/sh
Packit db064d
Packit db064d
IBPATH=${IBPATH:-@IBSCRIPTPATH@}
Packit db064d
Packit db064d
usage() {
Packit db064d
	echo Usage: `basename $0` "[-h] [<topology-file> | -y mkey" \
Packit db064d
	    "-C ca_name -P ca_port -t timeout_ms]"
Packit db064d
	exit -1
Packit db064d
}
Packit db064d
Packit db064d
topofile=""
Packit db064d
ca_info=""
Packit db064d
mkey="0"
Packit db064d
Packit db064d
while [ "$1" ]; do
Packit db064d
	case $1 in
Packit db064d
	-h | --help)
Packit db064d
		usage
Packit db064d
		;;
Packit db064d
	-y | --m_key)
Packit db064d
		case $2 in
Packit db064d
		-*)
Packit db064d
			usage
Packit db064d
			;;
Packit db064d
		esac
Packit db064d
		if [ x$2 = x ] ; then
Packit db064d
			usage
Packit db064d
		fi
Packit db064d
		shift
Packit db064d
		mkey="$1"
Packit db064d
		;;
Packit db064d
	-P | --Port | -C | --Ca | -t | --timeout)
Packit db064d
		case $2 in
Packit db064d
		-*)
Packit db064d
			usage
Packit db064d
			;;
Packit db064d
		esac
Packit db064d
		if [ x$2 = x ] ; then
Packit db064d
			usage
Packit db064d
		fi
Packit db064d
		ca_info="$ca_info $1 $2"
Packit db064d
		shift
Packit db064d
		;;
Packit db064d
	-*)
Packit db064d
		usage
Packit db064d
		;;
Packit db064d
	*)
Packit db064d
		if [ "$topofile" ]; then
Packit db064d
			usage
Packit db064d
		fi
Packit db064d
		topofile="$1"
Packit db064d
		;;
Packit db064d
	esac
Packit db064d
	shift
Packit db064d
done
Packit db064d
Packit db064d
if [ "$topofile" ]; then
Packit db064d
	netcmd="cat $topofile"
Packit db064d
else
Packit db064d
	netcmd="$IBPATH/ibnetdiscover -y $mkey $ca_info"
Packit db064d
fi
Packit db064d
Packit db064d
text="`eval $netcmd`"
Packit db064d
rv=$?
Packit db064d
echo "$text" | awk '
Packit db064d
/^Rt/	{print $1 "\t: 0x" substr($3, 4, 16) " ports " $2 " "\
Packit db064d
		substr($0, match($0, "#[ \t]*")+RLENGTH)}
Packit db064d
/^ib/	{print $0; next}
Packit db064d
/ibpanic:/	{print $0}
Packit db064d
/ibwarn:/	{print $0}
Packit db064d
/iberror:/	{print $0}
Packit db064d
'
Packit db064d
exit $rv