Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / Documentation / infiniband / ipoib.txt
1 IP OVER INFINIBAND
2
3   The ib_ipoib driver is an implementation of the IP over InfiniBand
4   protocol as specified by RFC 4391 and 4392, issued by the IETF ipoib
5   working group.  It is a "native" implementation in the sense of
6   setting the interface type to ARPHRD_INFINIBAND and the hardware
7   address length to 20 (earlier proprietary implementations
8   masqueraded to the kernel as ethernet interfaces).
9
10 Partitions and P_Keys
11
12   When the IPoIB driver is loaded, it creates one interface for each
13   port using the P_Key at index 0.  To create an interface with a
14   different P_Key, write the desired P_Key into the main interface's
15   /sys/class/net/<intf name>/create_child file.  For example:
16
17     echo 0x8001 > /sys/class/net/ib0/create_child
18
19   This will create an interface named ib0.8001 with P_Key 0x8001.  To
20   remove a subinterface, use the "delete_child" file:
21
22     echo 0x8001 > /sys/class/net/ib0/delete_child
23
24   The P_Key for any interface is given by the "pkey" file, and the
25   main interface for a subinterface is in "parent."
26
27 Debugging Information
28
29   By compiling the IPoIB driver with CONFIG_INFINIBAND_IPOIB_DEBUG set
30   to 'y', tracing messages are compiled into the driver.  They are
31   turned on by setting the module parameters debug_level and
32   mcast_debug_level to 1.  These parameters can be controlled at
33   runtime through files in /sys/module/ib_ipoib/.
34
35   CONFIG_INFINIBAND_IPOIB_DEBUG also enables files in the debugfs
36   virtual filesystem.  By mounting this filesystem, for example with
37
38     mount -t debugfs none /sys/kernel/debug
39
40   it is possible to get statistics about multicast groups from the
41   files /sys/kernel/debug/ipoib/ib0_mcg and so on.
42
43   The performance impact of this option is negligible, so it
44   is safe to enable this option with debug_level set to 0 for normal
45   operation.
46
47   CONFIG_INFINIBAND_IPOIB_DEBUG_DATA enables even more debug output in
48   the data path when data_debug_level is set to 1.  However, even with
49   the output disabled, enabling this configuration option will affect
50   performance, because it adds tests to the fast path.
51
52 References
53
54   Transmission of IP over InfiniBand (IPoIB) (RFC 4391)
55     http://ietf.org/rfc/rfc4391.txt 
56   IP over InfiniBand (IPoIB) Architecture (RFC 4392)
57     http://ietf.org/rfc/rfc4392.txt