summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-infiniband/openib-files/files/openib')
-rw-r--r--sys-infiniband/openib-files/files/openib243
1 files changed, 0 insertions, 243 deletions
diff --git a/sys-infiniband/openib-files/files/openib b/sys-infiniband/openib-files/files/openib
deleted file mode 100644
index b654831..0000000
--- a/sys-infiniband/openib-files/files/openib
+++ /dev/null
@@ -1,243 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-infiniband/openib-files/files/openib,v 1.1 2011/06/30 22:02:03 alexxy Exp $
-
-# Based on openibd script from openfabrics.org,
-# Copyright (c) 2006 Mellanox Technologies. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- after hotplug
- before net # init openib before starting any ipoib interfaces
-}
-
-OPENIB_CONFDIR=${OPENIB_CONFDIR:-/etc/infiniband}
-
-if [[ -r ${OPENIB_CONFDIR}/openib.conf ]] ; then
- . ${OPENIB_CONFDIR}/openib.conf
-fi
-
-# Setting OpenIB start parameters
-POST_LOAD_MODULES=""
-
-if [ "X${SDP_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES ib_sdp"
- IPOIB_LOAD="yes"
-fi
-
-IPOIB=0
-if [ "X${IPOIB_LOAD}" == "Xyes" ]; then
- IPOIB=1
-fi
-
-if [ "X${SRP_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp"
-fi
-
-if [ "X${SRP_TARGET_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp_target"
-fi
-
-if [ "X${RDMA_CM_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_cm"
-fi
-
-if [ "X${UCM_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES ib_ucm"
-fi
-
-if [ "X${RDS_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES ib_rds"
-fi
-
-if [ "X${ISER_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES ib_iser"
-fi
-
-if [ "X${RDMA_UCM_LOAD}" == "Xyes" ]; then
- POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_ucm"
-fi
-
-PRE_UNLOAD_MODULES="ib_rds ib_ucm kdapl ib_srp_target scsi_target ib_srp ib_iser ib_sdp rdma_ucm rdma_cm ib_addr ib_cm ib_local_sa findex"
-
-# W/A for unloading modules
-POST_UNLOAD_MODULES="$PRE_UNLOAD_MODULES ib_ipoib ib_sa ib_uverbs ib_umad"
-# ib_mthca ib_ipath - don't unload unless they are in openib.conf
-[[ "${MTHCA_LOAD}" == "yes" ]] && \
- POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mthca"
-[[ "${IPATH_LOAD}" == "yes" ]] && \
- POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_ipath ipath_core"
-
-[[ "${MTHCA_LOAD}" == "yes" || "${IPATH_LOAD}" == "yes" ]] && \
- POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mad ib_core"
-
-#STATUS_MODULES="rdma_ucm ib_rds ib_srp ib_sdp rdma_cm ib_addr ib_local_sa findex ib_ipoib ib_ipath ipath_core ib_mthca ib_uverbs ib_umad ib_ucm ib_sa ib_cm ib_mad ib_core"
-
-
-# If module $1 is loaded return - 0 else - 1
-is_module()
-{
- local RC
-
- /bin/lsmod | grep -w "$1" > /dev/null 2>&1
- RC=$?
-
- return $RC
-}
-
-unload()
-{
- # Unload module $1
- if is_module $mod; then
- /sbin/modprobe -r $mod > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- # Try rmmod if modprobe failed: case that previous installation included more IB modules.
- /sbin/rmmod $mod > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- ewarn "Failed to unload $mod"
- return 1
- fi
- fi
- fi
-}
-
-start() {
- local RC=0
- ebegin "Initializing Infiniband"
- eindent
-
- # Load Mellanox HCA driver if explicitly requested
- # (however, it should be loaded automatically by udev)
-
- einfo "Loading HCA and Access Layer drivers"
-
- if [[ "${MTHCA_LOAD}" == "yes" ]]; then
- /sbin/modprobe ib_mthca > /dev/null 2>&1
- RC=$[ $RC + $? ]
- fi
- if [[ "${IPATH_LOAD}" == "yes" ]]; then
- /sbin/modprobe ib_ipath > /dev/null 2>&1
- RC=$[ $RC + $? ]
- fi
-
- # Add node description to sysfs
- IBSYSDIR="/sys/class/infiniband"
- if [ -d ${IBSYSDIR} ]; then
- declare -i hca_id=1
- for hca in ${IBSYSDIR}/*; do
- if [ -e ${hca}/node_desc ]; then
- echo -n "$(hostname -s) HCA-${hca_id}" >> ${hca}/node_desc
- fi
- let hca_id++
- done
- fi
- /sbin/modprobe ib_umad > /dev/null 2>&1
- RC=$[ $RC + $? ]
- /sbin/modprobe ib_uverbs > /dev/null 2>&1
- RC=$[ $RC + $? ]
-
- if [ $IPOIB -eq 1 ]; then
- # this section is not necessary if all ib-over-ib devices are
- # aliased properly in /etc/modules.d/openib
- einfo "loading ib_ipoib module"
- /sbin/modprobe ib_ipoib > /dev/null 2>&1
- RC=$[ $RC + $? ]
- if (( ! RC )); then
- # start the ipoib devices automatically...
- # this is probably a bad idea (the concept is taken from the
- # original SUSE/Redhat-based initscript), and should be removed.
- # But it works, and is not enabled by default. So I leave it here
- # for second opinions.
- local ibdevs=`rc-status -u -nc |egrep 'net\.ib[0-9a-zA-Z]+.*stopped' | awk '{print $1}'`
- if [ -n "$ibdevs" ] ; then
- einfo "starting ipoib devices"
- for ibdev in $ibdevs; do
- /etc/init.d/$ibdev start
- done
- fi
- fi
- fi
-
- # Devices for ib_umad and ib_uverbs should now have been created.
- if [ ! -d /dev/infiniband/ ]; then
- eerror "udev failed to create '/dev/infiniband/' devices"
- RC=1
- fi
-
- # Load configured modules
- if [ "$POST_LOAD_MODULES" != "" ]; then
- for mod in $POST_LOAD_MODULES
- do
- case $mod in
- ib_iser)
- # Voltaire requirement
- /sbin/modprobe --force-modversion $mod > /dev/null 2>&1
- ;;
- *)
- /sbin/modprobe $mod > /dev/null 2>&1
- ;;
- esac
- RC=$?
- [ $RC -ne 0 ] && eerror "Failed to load $mod"
- done
- fi
-
- eoutdent
- eend $RC
-}
-
-stop() {
- ebegin "Stopping Infiniband"
- local RC=0
-
- # Check if applications which use infiniband are running
- local apps="opensm osmtest ibbs ibns"
- local pid
-
- for app in $apps
- do
- if ( ps -ef | grep $app | grep -v grep > /dev/null 2>&1 ); then
- eerror "Please stop $app and all applications running over InfiniBand"
- eend 1
- return
- fi
- done
-
- if ! is_module ib_core; then
- einfo "HCA driver is not loaded"
- eend 0
- return
- fi
-
- # Unload ULPs modules
-
- if [ "$PRE_UNLOAD_MODULES" != "" ]; then
- for mod in $PRE_UNLOAD_MODULES
- do
- unload $mod || { eend 1; return; }
- done
- fi
-
- # Remove srp_presistant_bind.sh before removing ib_srp module
- PID_SCRPT_TO_KILL=`ps -efww | grep srp_persistent | grep -v grep | awk '{print $2}'`
- if ! [ "$PID_SCRPT_TO_KILL" == "" ]; then
- PID_SLEEP_TO_KILL=`ps -efww | grep $PID_SCRPT_TO_KILL | grep sleep | awk '{print $2}'`
- kill -9 $PID_SCRPT_TO_KILL
- fi
- if ! [ "$PID_SLEEP_TO_KILL" == "" ]; then
- kill -9 $PID_SLEEP_TO_KILL
- fi
-
- # Unload OpenIB modules
-
- if [ "$POST_UNLOAD_MODULES" != "" ]; then
- for mod in $POST_UNLOAD_MODULES
- do
- unload $mod || RC=1
- done
- fi
-
- eend $RC
-}
-