Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | IP OVER INFINIBAND |
2 | ||
3 | The ib_ipoib driver is an implementation of the IP over InfiniBand | |
ac83cbaa RD |
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 | |
1da177e4 LT |
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 | ||
b1ed8dab | 35 | CONFIG_INFINIBAND_IPOIB_DEBUG also enables files in the debugfs |
1da177e4 LT |
36 | virtual filesystem. By mounting this filesystem, for example with |
37 | ||
b1ed8dab | 38 | mount -t debugfs none /sys/kernel/debug |
1da177e4 LT |
39 | |
40 | it is possible to get statistics about multicast groups from the | |
b1ed8dab | 41 | files /sys/kernel/debug/ipoib/ib0_mcg and so on. |
1da177e4 LT |
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 | ||
ac83cbaa RD |
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 |