diff options
Diffstat (limited to 'Documentation/infiniband/ipoib.txt')
-rw-r--r-- | Documentation/infiniband/ipoib.txt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Documentation/infiniband/ipoib.txt b/Documentation/infiniband/ipoib.txt new file mode 100644 index 000000000000..18e184b56040 --- /dev/null +++ b/Documentation/infiniband/ipoib.txt | |||
@@ -0,0 +1,56 @@ | |||
1 | IP OVER INFINIBAND | ||
2 | |||
3 | The ib_ipoib driver is an implementation of the IP over InfiniBand | ||
4 | protocol as specified by the latest Internet-Drafts issued by the | ||
5 | IETF ipoib working group. It is a "native" implementation in the | ||
6 | sense of setting the interface type to ARPHRD_INFINIBAND and the | ||
7 | hardware 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 the "ipoib_debugfs" | ||
36 | virtual filesystem. By mounting this filesystem, for example with | ||
37 | |||
38 | mkdir -p /ipoib_debugfs | ||
39 | mount -t ipoib_debugfs none /ipoib_debufs | ||
40 | |||
41 | it is possible to get statistics about multicast groups from the | ||
42 | files /ipoib_debugfs/ib0_mcg and so on. | ||
43 | |||
44 | The performance impact of this option is negligible, so it | ||
45 | is safe to enable this option with debug_level set to 0 for normal | ||
46 | operation. | ||
47 | |||
48 | CONFIG_INFINIBAND_IPOIB_DEBUG_DATA enables even more debug output in | ||
49 | the data path when data_debug_level is set to 1. However, even with | ||
50 | the output disabled, enabling this configuration option will affect | ||
51 | performance, because it adds tests to the fast path. | ||
52 | |||
53 | References | ||
54 | |||
55 | IETF IP over InfiniBand (ipoib) Working Group | ||
56 | http://ietf.org/html.charters/ipoib-charter.html | ||