blob: 187035560d7ff6a9817c90e824318e0dde69c5e6 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001IP OVER INFINIBAND
2
3 The ib_ipoib driver is an implementation of the IP over InfiniBand
Roland Dreierac83cba2006-06-17 20:37:32 -07004 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
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 masqueraded to the kernel as ethernet interfaces).
9
10Partitions 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
27Debugging 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
Roland Dreierb1ed8da2005-04-16 15:26:07 -070035 CONFIG_INFINIBAND_IPOIB_DEBUG also enables files in the debugfs
Linus Torvalds1da177e2005-04-16 15:20:36 -070036 virtual filesystem. By mounting this filesystem, for example with
37
Roland Dreierb1ed8da2005-04-16 15:26:07 -070038 mount -t debugfs none /sys/kernel/debug
Linus Torvalds1da177e2005-04-16 15:20:36 -070039
40 it is possible to get statistics about multicast groups from the
Roland Dreierb1ed8da2005-04-16 15:26:07 -070041 files /sys/kernel/debug/ipoib/ib0_mcg and so on.
Linus Torvalds1da177e2005-04-16 15:20:36 -070042
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
52References
53
54 IETF IP over InfiniBand (ipoib) Working Group
55 http://ietf.org/html.charters/ipoib-charter.html
Roland Dreierac83cba2006-06-17 20:37:32 -070056 Transmission of IP over InfiniBand (IPoIB) (RFC 4391)
57 http://ietf.org/rfc/rfc4391.txt
58 IP over InfiniBand (IPoIB) Architecture (RFC 4392)
59 http://ietf.org/rfc/rfc4392.txt