ipoib in OFED 1.0 Release Notes
===============================

June 2006

Overview
--------
ipoib is a network driver implementation that enables transmission of IP and
ARP protocol packets over an InfiniBand UD channel. The implementation conforms
to the relevant IETF working group's RFCs (http://www.ietf.org).


Features
--------
ipoib supports increasing the verbosity of debug messages through a module
parameter. The parameter value can be controlled at load time or runtime.
At load time this can be done by inserting the following line in
/etc/modprobe.conf:
  options ib_ipoib debug_level=<integer number>

At runtime the value can be controlled by writing the following to sysfs:
  echo <integer number> > /sys/module/ib_ipoib/debug_level

The value can also be inspected by running:
  cat /sys/module/ib_ipoib/debug_level


Known Issues
------------
1. If a host has multiple interfaces each belonging to a different IP subnet
   yet using the same InfiniBand switch, the host may build a bad ARP table.
   This may lead to problems which seem like violations of the IP rule requiring
   different broadcast domains -- a rule not observed in this implementation of
   ipoib.

2. On Fedora Core 4, SuSE 10 and SLES 10:
   a.	There are ipoib alias lines in modprobe.conf which prevent stopping/
	unloading the stack (i.e., '/etc/init.d/openibd stop' will fail). The
	drivers get loaded again by udev scripts.
	Workaround: Change modprobe.conf to set	OPENIB_PARAMS="--without-modprobe"
	before running install.sh script or remove the alias lines from modprobe.conf.
   b.	The ib1 interface uses the configuration script of ib0.
	Workaround: use ifup/ifdown with the interface and configuration script
	name (example: ifup ib1 ib1)

3. On RedHat EL 4 up2 the driver may not load properly if SELINUX is enforced.
   Workaround: Change the value of the parameter SELINUX in
   /etc/sysconfig/selinux from "enforcing" to "permissive" or "disabled".

4. Since the IPoIB configuration files (ifcfg-ib<n>) are installed at the
standard networking scripts location (RedHat: /etc/sysconfig/network-scripts/
and SuSE: /etc/sysconfig/network/), the option ipoib=no in openib.conf does not
prevent the loading of ipoib on boot.


DHCP Support of ipoib
---------------------
The default configuration of ipoib sets ipoib to dynamically configure its
interfaces using information obtained dynamically from a DHCP server.

Note: To use DHCP the user must apply a special patch (see "DHCP Notes" below).

DHCP Supported Operating Systems
--------------------------------
1. SLES 10
2. SuSE 10
3. Any kernel from 2.6.14 (tested with kernel 2.6.16.18)

DHCP Unsupported Operating Systems
------------------------------------
No RedHat EL distributions (other than the one above) are supported.


DHCP Notes
----------
1. It may be required to run over different UDP ports than the well known ports
(67 and 68). Free port numbers greater than 0x8000 must be chosen. To specify a
server or client port number, use the option -p <port number>. The client's port
number must be the chosen server's port number plus one.

2. For ipoib to use DHCP, it is required to patch ISC's DHCP. The patch file can
be found under OFED-1.0/docs/dhcp after extracting the distribution file (after
installation it can also be found under <prefix>/docs/dhcp). The patch should be
applied for the server and for each client. Tests were run on version 3.0.4 of
the DHCP package.
