Blame SPECS/opensm.launch

Packit 96b2f2
#!/bin/bash
Packit 96b2f2
#
Packit 96b2f2
# Launch the necessary OpenSM daemons for systemd
Packit 96b2f2
#
Packit 96b2f2
# sysconfig: /etc/sysconfig/opensm
Packit 96b2f2
# config: /etc/rdma/opensm.conf
Packit 96b2f2
#
Packit 96b2f2
Packit 96b2f2
shopt -s nullglob
Packit 96b2f2
Packit 96b2f2
prog=/usr/sbin/opensm
Packit 96b2f2
[ -f /etc/sysconfig/opensm ] && . /etc/sysconfig/opensm
Packit 96b2f2
Packit 96b2f2
[ -n "$PRIORITY" ] && prio="-p $PRIORITY"
Packit 96b2f2
Packit 96b2f2
if [ -z "$GUIDS" ]; then
Packit 96b2f2
	CONFIGS=""
Packit 96b2f2
	CONFIG_CNT=0
Packit 96b2f2
	for conf in /etc/rdma/opensm.conf.[0-9]*; do
Packit 96b2f2
		CONFIGS="$CONFIGS $conf"
Packit 96b2f2
		let CONFIG_CNT++
Packit 96b2f2
	done
Packit 96b2f2
else
Packit 96b2f2
	GUID_CNT=0
Packit 96b2f2
	for guid in $GUIDS; do
Packit 96b2f2
		let GUID_CNT++
Packit 96b2f2
	done
Packit 96b2f2
fi
Packit 96b2f2
# Start opensm
Packit 96b2f2
if [ -n "$GUIDS" ]; then
Packit 96b2f2
	SUBNET_COUNT=0
Packit 96b2f2
	for guid in $GUIDS; do
Packit 96b2f2
		SUBNET_PREFIX=`printf "0xfe800000000000%02d" $SUBNET_COUNT`
Packit 96b2f2
		(while true; do $prog $prio -g $guid --subnet_prefix $SUBNET_PREFIX; sleep 30; done) &
Packit 96b2f2
		let SUBNET_COUNT++
Packit 96b2f2
	done
Packit 96b2f2
elif [ -n "$CONFIGS" ]; then
Packit 96b2f2
	for config in $CONFIGS; do
Packit 96b2f2
		(while true; do $prog $prio -F $config; sleep 30; done) &
Packit 96b2f2
	done
Packit 96b2f2
else
Packit 96b2f2
	(while true; do $prog $prio; sleep 30; done) &
Packit 96b2f2
fi
Packit 96b2f2
exit 0