diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-infiniband/ofed | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-infiniband/ofed')
-rw-r--r-- | sys-infiniband/ofed/Manifest | 2 | ||||
-rw-r--r-- | sys-infiniband/ofed/files/90-ib.rules | 5 | ||||
-rw-r--r-- | sys-infiniband/ofed/files/openib | 243 | ||||
-rw-r--r-- | sys-infiniband/ofed/files/openib.conf | 27 | ||||
-rw-r--r-- | sys-infiniband/ofed/files/openib.env | 1 | ||||
-rw-r--r-- | sys-infiniband/ofed/files/openib.modprobe | 12 | ||||
-rw-r--r-- | sys-infiniband/ofed/metadata.xml | 18 | ||||
-rw-r--r-- | sys-infiniband/ofed/ofed-3.12_rc1.ebuild | 150 | ||||
-rw-r--r-- | sys-infiniband/ofed/ofed-3.5.ebuild | 158 |
9 files changed, 616 insertions, 0 deletions
diff --git a/sys-infiniband/ofed/Manifest b/sys-infiniband/ofed/Manifest new file mode 100644 index 000000000000..ca457c585395 --- /dev/null +++ b/sys-infiniband/ofed/Manifest @@ -0,0 +1,2 @@ +DIST OFED-3.12-rc1.tgz 22055476 SHA256 14ca8a2b0d68e3ee9a37f475fa9eecd9a5ffd6055135f9d4d9db8319843a94dc SHA512 9f834d6982ab7e8ab47a8b5c958ab2e4c238ef983e47798e7f06655f69672ea1e996297939b381f26ed8c39552f6e62156173d5ddd2f0a7b6cad6aecdd973944 WHIRLPOOL 5a64b1d952890ea0e72e0ca93654a0fabc8f871475b05fcbe3b214ddfe4836f6b92d4fbc9e0f0d79acfe69d8c8d219b2c467c23654021e23eaf85ae6825ea4a9 +DIST OFED-3.5-rc2.tgz 18600237 SHA256 b267cea49bf72790843e6b08e26c10a6954d7736a8b93deed1e632772f4f5fff SHA512 deb83c3417ac60bd5d4c6ac1cadf93d6a34a55ca58365b54bb0c3a8230ba6a7f13e0257515dac0170cc4ab46b558519c86e6c01f7fa49550162feed0b0ea2e89 WHIRLPOOL e6843593fbe4937ffcf600be9cb3dee78e14cbeb4c411a4b64076b1194653cbcb9d4bc6cbd52ad77ac9c6b14d4dd2cdafa4364bfe6924b55896844042aa4d9cd diff --git a/sys-infiniband/ofed/files/90-ib.rules b/sys-infiniband/ofed/files/90-ib.rules new file mode 100644 index 000000000000..789668486c8c --- /dev/null +++ b/sys-infiniband/ofed/files/90-ib.rules @@ -0,0 +1,5 @@ +KERNEL=="umad*", NAME="infiniband/%k" +KERNEL=="issm*", NAME="infiniband/%k" +KERNEL=="uverbs*", NAME="infiniband/%k", MODE="0666" +KERNEL=="ucm*", NAME="infiniband/%k", MODE="0666" +KERNEL=="rdma_cm", NAME="infiniband/%k", MODE="0666" diff --git a/sys-infiniband/ofed/files/openib b/sys-infiniband/ofed/files/openib new file mode 100644 index 000000000000..71d0647fc18f --- /dev/null +++ b/sys-infiniband/ofed/files/openib @@ -0,0 +1,243 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# 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 +} + diff --git a/sys-infiniband/ofed/files/openib.conf b/sys-infiniband/ofed/files/openib.conf new file mode 100644 index 000000000000..9b4eb292857c --- /dev/null +++ b/sys-infiniband/ofed/files/openib.conf @@ -0,0 +1,27 @@ +# uncomment to load ib_ipoib module +#IPOIB_LOAD=yes + +# uncomment to load ib_sdp module (implies IPOIB_LOAD=yes) +#SDP_LOAD=yes + +# uncomment to load ib_srp module +#SRP_LOAD=yes + +# uncomment to load ib_srp_target module +#SRP_TARGET_LOAD=yes + +# uncomment to load rdma_cm module +#RDMA_CM_LOAD=yes + +# uncomment to load ib_ucm module +#UCM_LOAD=yes + +# uncomment to load ib_rds module +#RDS_LOAD=yes + +# uncomment to load ib_iser module +#ISER_LOAD=yes + +# uncomment to load rdma_ucm module +#RDMA_UCM_LOAD=yes + diff --git a/sys-infiniband/ofed/files/openib.env b/sys-infiniband/ofed/files/openib.env new file mode 100644 index 000000000000..2e34cf22f96b --- /dev/null +++ b/sys-infiniband/ofed/files/openib.env @@ -0,0 +1 @@ +IBPATH="/usr/sbin" diff --git a/sys-infiniband/ofed/files/openib.modprobe b/sys-infiniband/ofed/files/openib.modprobe new file mode 100644 index 000000000000..52828fb3bf65 --- /dev/null +++ b/sys-infiniband/ofed/files/openib.modprobe @@ -0,0 +1,12 @@ +# Setup aliases from ip-over-ib devices to the ip-over-ib kernel module. +# Add to this list if you have more infiniband ports. Or you can set +# IPOIB_LOAD=yes to have the ip-over-ib interfaces brought up by init.d/openib +alias ib0 ib_ipoib +alias ib1 ib_ipoib +alias ib2 ib_ipoib +alias ib3 ib_ipoib + +alias net-pf-27 ib_sdp + +#options ib_mthca msi_x=1 + diff --git a/sys-infiniband/ofed/metadata.xml b/sys-infiniband/ofed/metadata.xml new file mode 100644 index 000000000000..ccfad5ee7c1d --- /dev/null +++ b/sys-infiniband/ofed/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>cluster</herd> + <use> + <flag name='compat-dapl'>Add support for DAPL v1.2 abstraction layer</flag> + <flag name='dapl'>Add support for DAPL abstraction layer</flag> + <flag name='diags'>Add dignostic tools for infiniband</flag> + <flag name='ibacm'>Add support for userspace pre-connection services</flag> + <flag name='mstflint'>Tools to burn Mellanox firmware</flag> + <flag name='opensm'>Add OpenSM - Subnet manager for infiniband</flag> + <flag name='perftest'>Add perftest utils</flag> + <flag name='qperf'>Add rdma tests</flag> + <flag name='sdp'>Add SDP tools</flag> + <flag name="srp">Suport for userspace part for srp initiator</flag> + <flag name="rds">Tools to manage rds sockets</flag> + </use> +</pkgmetadata> diff --git a/sys-infiniband/ofed/ofed-3.12_rc1.ebuild b/sys-infiniband/ofed/ofed-3.12_rc1.ebuild new file mode 100644 index 000000000000..36b5310de050 --- /dev/null +++ b/sys-infiniband/ofed/ofed-3.12_rc1.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +OFED_VER="3.12" +OFED_RC="1" +OFED_RC_VER="1" +OFED_SUFFIX="1.g8336567" + +IUSE_OFED_DRIVERS=" + ofed_drivers_cxgb3 + ofed_drivers_cxgb4 + ofed_drivers_ehca + ofed_drivers_ipath + ofed_drivers_mlx4 + ofed_drivers_mlx5 + ofed_drivers_mthca + ofed_drivers_nes + ofed_drivers_ocrdma + ofed_drivers_psm" + +inherit openib udev toolchain-funcs + +DESCRIPTION="OpenIB system files" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="dapl +diags ibacm mstflint +opensm perftest qperf rds srp ${IUSE_OFED_DRIVERS}" + +RDEPEND="!sys-infiniband/openib + !sys-infiniband/openib-files + sys-infiniband/libibcm:${SLOT} + sys-infiniband/libibmad:${SLOT} + sys-infiniband/libibumad:${SLOT} + sys-infiniband/librdmacm:${SLOT} + dapl? ( sys-infiniband/dapl:${SLOT} ) + diags? ( sys-infiniband/infiniband-diags:${SLOT} ) + ibacm? ( sys-infiniband/ibacm:${SLOT} ) + mstflint? ( sys-infiniband/mstflint:${SLOT} ) + opensm? ( sys-infiniband/opensm:${SLOT} ) + perftest? ( sys-infiniband/perftest:${SLOT} ) + qperf? ( sys-infiniband/qperf:${SLOT} ) + srp? ( sys-infiniband/srptools:${SLOT} ) + rds? ( sys-infiniband/rds-tools:${SLOT} ) + ofed_drivers_cxgb3? ( sys-infiniband/libcxgb3:${SLOT} ) + ofed_drivers_cxgb4? ( sys-infiniband/libcxgb4:${SLOT} ) + ofed_drivers_ehca? ( sys-infiniband/libehca:${SLOT} ) + ofed_drivers_ipath? ( sys-infiniband/libipathverbs:${SLOT} ) + ofed_drivers_mlx4? ( sys-infiniband/libmlx4:${SLOT} ) + ofed_drivers_mlx5? ( sys-infiniband/libmlx5:${SLOT} ) + ofed_drivers_mthca? ( sys-infiniband/libmthca:${SLOT} ) + ofed_drivers_nes? ( sys-infiniband/libnes:${SLOT} ) + ofed_drivers_ocrdma? ( sys-infiniband/libocrdma:${SLOT} ) + ofed_drivers_psm? ( sys-infiniband/infinipath-psm:${SLOT} ) + " +DEPEND="${RDEPEND} + virtual/pkgconfig + " +block_other_ofed_versions + +S="${WORKDIR}/${MY_PN}-${OFED_VER}" +SCRIPTDIR="${S}/ofed_scripts" + +src_configure() { :; } +src_compile() { :; } + +src_install() { + udev_newrules "${SCRIPTDIR}/90-ib.rules" 40-ib.rules + insinto /etc/modprobe.d + newins "${FILESDIR}/openib.modprobe" openib.conf + newenvd "${FILESDIR}/openib.env" 02openib + insinto /etc/infiniband + + doinitd "${FILESDIR}/openib" + + # build openib.conf based on ofed_scripts/ofa_kernel.spec + build_ipoib=1 + cp "${SCRIPTDIR}/openib.conf" "${T}" + IB_CONF_DIR=${T} + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "UCM_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_CM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_CM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_UCM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Increase ib_mad thread priority" >> ${IB_CONF_DIR}/openib.conf + echo "RENICE_IB_MAD=no" >> ${IB_CONF_DIR}/openib.conf + + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load MTHCA" >> ${IB_CONF_DIR}/openib.conf + echo "MTHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + if use ofed_drivers_ipath; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPATH" >> ${IB_CONF_DIR}/openib.conf + echo "IPATH_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use ofed_drivers_ehca; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load eHCA" >> ${IB_CONF_DIR}/openib.conf + echo "EHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use ofed_drivers_mlx4; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load MLX4 modules" >> ${IB_CONF_DIR}/openib.conf + echo "MLX4_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if (( build_ipoib )); then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPoIB" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIB_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB Connected Mode" >> ${IB_CONF_DIR}/openib.conf + echo "#SET_IPOIB_CM=yes" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIBHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + echo "# PRIMARY_IPOIB_DEV=ib0" >> ${IB_CONF_DIR}/openib.conf + echo "# SECONDARY_IPOIB_DEV=ib1" >> ${IB_CONF_DIR}/openib.conf + fi + if use srp; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load SRP module" >> ${IB_CONF_DIR}/openib.conf + echo "#SRP_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable SRP High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#SRPHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + + fi + if use rds; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDS module" >> ${IB_CONF_DIR}/openib.conf + echo "#RDS_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + fi + + doins "${T}/openib.conf" +} + +pkg_postinst() { + einfo "Configuration file installed in /etc/infiniband/openib.conf" + einfo "To automatically initialize infiniband on boot, add openib to your" + einfo "start-up scripts, like so:" + einfo "\`rc-update add openib default\`" + +} diff --git a/sys-infiniband/ofed/ofed-3.5.ebuild b/sys-infiniband/ofed/ofed-3.5.ebuild new file mode 100644 index 000000000000..5fb9390cd636 --- /dev/null +++ b/sys-infiniband/ofed/ofed-3.5.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +OFED_VER="3.5" +OFED_RC="1" +OFED_RC_VER="2" +OFED_SUFFIX="OFED.3.5.rc2" + +IUSE_OFED_DRIVERS=" + ofed_drivers_cxgb3 + ofed_drivers_cxgb4 + ofed_drivers_ehca + ofed_drivers_ipath + ofed_drivers_mlx4 + ofed_drivers_mthca + ofed_drivers_nes + ofed_drivers_psm" + +inherit openib udev toolchain-funcs + +DESCRIPTION="OpenIB system files" +SCRIPTDIR="${S}/ofed_scripts" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="compat-dapl dapl +diags ibacm mstflint +opensm perftest rds sdp srp ${IUSE_OFED_DRIVERS}" + +RDEPEND="!sys-infiniband/openib + !sys-infiniband/openib-files + sys-infiniband/libibcm:${SLOT} + sys-infiniband/libibmad:${SLOT} + sys-infiniband/libibumad:${SLOT} + sys-infiniband/librdmacm:${SLOT} + compat-dapl? ( sys-infiniband/compat-dapl:${SLOT} ) + dapl? ( sys-infiniband/dapl:${SLOT} ) + diags? ( sys-infiniband/infiniband-diags:${SLOT} ) + ibacm? ( sys-infiniband/ibacm:${SLOT} ) + mstflint? ( sys-infiniband/mstflint:${SLOT} ) + opensm? ( sys-infiniband/opensm:${SLOT} ) + perftest? ( sys-infiniband/perftest:${SLOT} ) + srp? ( sys-infiniband/srptools:${SLOT} ) + ofed_drivers_cxgb3? ( sys-infiniband/libcxgb3:${SLOT} ) + ofed_drivers_cxgb4? ( sys-infiniband/libcxgb4:${SLOT} ) + ofed_drivers_ehca? ( sys-infiniband/libehca:${SLOT} ) + ofed_drivers_ipath? ( sys-infiniband/libipathverbs:${SLOT} ) + ofed_drivers_mlx4? ( sys-infiniband/libmlx4:${SLOT} ) + ofed_drivers_mthca? ( sys-infiniband/libmthca:${SLOT} ) + ofed_drivers_nes? ( sys-infiniband/libnes:${SLOT} ) + ofed_drivers_psm? ( sys-infiniband/infinipath-psm:${SLOT} ) + " +DEPEND="${RDEPEND} + virtual/pkgconfig + " + +src_configure() { :; } +src_compile() { :; } + +src_install() { + udev_newrules "${SCRIPTDIR}/90-ib.rules" 40-ib.rules + insinto /etc/modprobe.d + newins "${FILESDIR}/openib.modprobe" openib.conf + newenvd "${FILESDIR}/openib.env" 02openib + insinto /etc/infiniband + + doinitd "${FILESDIR}/openib" + + # build openib.conf based on ofed_scripts/ofa_kernel.spec + build_ipoib=1 + build_sdp=1 + cp "${SCRIPTDIR}/openib.conf" "${T}" + IB_CONF_DIR=${T} + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "UCM_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_CM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_CM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_UCM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Increase ib_mad thread priority" >> ${IB_CONF_DIR}/openib.conf + echo "RENICE_IB_MAD=no" >> ${IB_CONF_DIR}/openib.conf + + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load MTHCA" >> ${IB_CONF_DIR}/openib.conf + echo "MTHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + if use ofed_drivers_ipath; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPATH" >> ${IB_CONF_DIR}/openib.conf + echo "IPATH_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use ofed_drivers_ehca; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load eHCA" >> ${IB_CONF_DIR}/openib.conf + echo "EHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use ofed_drivers_mlx4; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load MLX4 modules" >> ${IB_CONF_DIR}/openib.conf + echo "MLX4_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if (( build_ipoib )); then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPoIB" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIB_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB Connected Mode" >> ${IB_CONF_DIR}/openib.conf + echo "#SET_IPOIB_CM=yes" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIBHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + echo "# PRIMARY_IPOIB_DEV=ib0" >> ${IB_CONF_DIR}/openib.conf + echo "# SECONDARY_IPOIB_DEV=ib1" >> ${IB_CONF_DIR}/openib.conf + fi + if (( build_sdp )); then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load SDP module" >> ${IB_CONF_DIR}/openib.conf + echo "#SDP_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use srp; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load SRP module" >> ${IB_CONF_DIR}/openib.conf + echo "#SRP_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable SRP High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#SRPHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + + fi + if use iser; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load ISER module" >> ${IB_CONF_DIR}/openib.conf + echo "#ISER_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + fi + if use rds; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDS module" >> ${IB_CONF_DIR}/openib.conf + echo "#RDS_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + fi + if use vnic; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load VNIC module" >> ${IB_CONF_DIR}/openib.conf + echo "#VNIC_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + + doins "${T}/openib.conf" +} + +pkg_postinst() { + einfo "Configuration file installed in /etc/infiniband/openib.conf" + einfo "To automatically initialize infiniband on boot, add openib to your" + einfo "start-up scripts, like so:" + einfo "\`rc-update add openib default\`" + +} |