summaryrefslogtreecommitdiff
path: root/Documentation/infiniband/ipoib.txt
blob: 18e184b56040316dda6d622c6a061d8b864d0c37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
IP OVER INFINIBAND

  The ib_ipoib driver is an implementation of the IP over InfiniBand
  protocol as specified by the latest Internet-Drafts issued by the
  IETF ipoib working group.  It is a "native" implementation in the
  sense of setting the interface type to ARPHRD_INFINIBAND and the
  hardware address length to 20 (earlier proprietary implementations
  masqueraded to the kernel as ethernet interfaces).

Partitions and P_Keys

  When the IPoIB driver is loaded, it creates one interface for each
  port using the P_Key at index 0.  To create an interface with a
  different P_Key, write the desired P_Key into the main interface's
  /sys/class/net/<intf name>/create_child file.  For example:

    echo 0x8001 > /sys/class/net/ib0/create_child

  This will create an interface named ib0.8001 with P_Key 0x8001.  To
  remove a subinterface, use the "delete_child" file:

    echo 0x8001 > /sys/class/net/ib0/delete_child

  The P_Key for any interface is given by the "pkey" file, and the
  main interface for a subinterface is in "parent."

Debugging Information

  By compiling the IPoIB driver with CONFIG_INFINIBAND_IPOIB_DEBUG set
  to 'y', tracing messages are compiled into the driver.  They are
  turned on by setting the module parameters debug_level and
  mcast_debug_level to 1.  These parameters can be controlled at
  runtime through files in /sys/module/ib_ipoib/.

  CONFIG_INFINIBAND_IPOIB_DEBUG also enables the "ipoib_debugfs"
  virtual filesystem.  By mounting this filesystem, for example with

    mkdir -p /ipoib_debugfs
    mount -t ipoib_debugfs none /ipoib_debufs

  it is possible to get statistics about multicast groups from the
  files /ipoib_debugfs/ib0_mcg and so on.

  The performance impact of this option is negligible, so it
  is safe to enable this option with debug_level set to 0 for normal
  operation.

  CONFIG_INFINIBAND_IPOIB_DEBUG_DATA enables even more debug output in
  the data path when data_debug_level is set to 1.  However, even with
  the output disabled, enabling this configuration option will affect
  performance, because it adds tests to the fast path.

References

  IETF IP over InfiniBand (ipoib) Working Group
    http://ietf.org/html.charters/ipoib-charter.html