summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-infiniband/ofed
downloadgentoo-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/Manifest2
-rw-r--r--sys-infiniband/ofed/files/90-ib.rules5
-rw-r--r--sys-infiniband/ofed/files/openib243
-rw-r--r--sys-infiniband/ofed/files/openib.conf27
-rw-r--r--sys-infiniband/ofed/files/openib.env1
-rw-r--r--sys-infiniband/ofed/files/openib.modprobe12
-rw-r--r--sys-infiniband/ofed/metadata.xml18
-rw-r--r--sys-infiniband/ofed/ofed-3.12_rc1.ebuild150
-rw-r--r--sys-infiniband/ofed/ofed-3.5.ebuild158
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\`"
+
+}