1ibd(7D)                             Devices                            ibd(7D)
2
3
4

NAME

6       ibd - Infiniband IPoIB device driver
7

SYNOPSIS

9       /dev/ibd*
10
11

DESCRIPTION

13       The ibd driver implements the IETF IP over Infiniband protocol and pro‐
14       vides IPoIB service for all IBA ports present in the system.
15
16
17       The ibd driver is a multi-threaded, loadable, clonable,  STREAMS  hard‐
18       ware driver supporting the connectionless Data Link Provider Interface,
19       dlpi(7P)). The ibd driver provides basic support for the IBA Unreliable
20       Datagram  Queue  Pair  hardware.  Functions  include QP initialization,
21       frame transmit and receive, multicast and promiscuous mode support, and
22       statistics reporting.
23
24
25       Use  the  cloning,  character-special device /dev/ibd to access all ibd
26       devices installed within the system.
27
28
29       The ibd driver is dependent on GLD, a loadable kernel module that  pro‐
30       vides  the  ibd driver with the DLPI and STREAMS functionality required
31       of a LAN driver. Except as noted in the Application Programming  Inter‐
32       face section of this manpage, see gld(7D) for more details on the prim‐
33       itives supported by the driver. The GLD  module  is  located  at  /ker‐
34       nel/misc/sparcv9/gld  on  64  bit systems and at /kernel/misc/gld on 32
35       bit systems.
36
37
38       The ibd driver expects certain configuration of the IBA fabric prior to
39       operation  (which  also  implies the SM must be active and managing the
40       fabric). Specifically, the IBA multicast group  representing  the  IPv4
41       limited  broadcast  address 255.255.255.255 (also defined as broadcast-
42       GID in IETF documents)  must  be  created  prior  to  initializing  the
43       device.  IBA  properties  (including mtu, qkey and sl) of this group is
44       used by  the  driver  to  create  any  other  IBA  multicast  group  as
45       instructed  by  higher  level  (IP) software. The driver probes for the
46       existance of this broadcast-GID during attach(9E).
47

APPLICATION PROGRAMMING INTERFACE (DLPI)

49       The values returned by the  driver  in  the  DL_INFO_ACK  primitive  in
50       response to your DL_INFO_REQ are:
51
52           o      Maximum  SDU  is  the  MTU associated with the broadcast-GID
53                  group, less the 4 byte IPoIB header.
54
55           o      Minimum SDU is 0.
56
57           o      dlsap address length is 22.
58
59           o      MAC type is DL_IB.
60
61           o      The sap length value is -2,  meaning  the  physical  address
62                  component  is followed immediately by a 2-byte sap component
63                  within the DLSAP address.
64
65           o      Broadcast address value is the MAC address consisting of the
66                  4  bytes  of  QPN 00:FF:FF:FF prepended to the IBA multicast
67                  address of the broadcast-GID.
68
69                  Due to the nature of link address definition for IPoIB,  the
70                  DL_SET_PHYS_ADDR_REQ DLPI primitive is not supported.
71
72                  In  the  transmit case for streams that have been put in raw
73                  mode via the  DLIOCRAW  ioctl,  the  DLPI  application  must
74                  prepend the 20 byte IPoIB destination address to the data it
75                  wants to transmit over-the-wire. In the receive case, appli‐
76                  cations  receive  the  IP/ARP  datagram  along with the IETF
77                  defined 4 byte header.
78

WARNING

80       This section describes warning messages that might be generated by  the
81       driver. Please note that while the format of these messages may be mod‐
82       ified in future versions, the same general  information  will  be  pro‐
83       vided.
84
85
86       While joining IBA multicast groups corresponding to IP multicast groups
87       as part of multicast promiscuous operations as required by IP multicast
88       routers,  or as part of running snoop(1M), it is possible that joins to
89       some multicast groups can fail due to inherent resource constraints  in
90       the  IBA components. In such cases, warning message similar to the fol‐
91       lowing appear in the system log, indicating the interface on which  the
92       failure occurred:
93
94         NOTICE: ibd0: Could not get list of IBA multicast groups
95         NOTICE: ibd0: IBA promiscuous mode missed multicast group
96         NOTICE: ibd0: IBA promiscuous mode missed new multicast gid
97
98
99
100       Also,  if the IBA SM indicates that multicast trap support is suspended
101       or unavailable, the system log  contains a message similar to:
102
103         NOTICE: ibd0: IBA multicast support degraded due to
104         unavailability of multicast traps
105
106
107
108       And when the SM indicates trap support is restored:
109
110         NOTICE: ibd0: IBA multicast support restored due to
111         availability of multicast traps
112
113
114
115       Additionally, if the IBA link transitions to an unavailable state (that
116       is,  the  IBA  link  state becomes "Down," "Initialize" or "Armed") and
117       then becomes active again, the driver tries to rejoin previously joined
118       groups  if  required.  Failure  to rejoin multicast groups will trigger
119       messages like:
120
121         NOTICE: ibd0: Failure on port up to rejoin multicast gid
122
123
124
125       If the corresponding HCA port is in the unavailable state defined above
126       when  initializing  an  ibd  interface using ifconfig(1M), a message is
127       emitted by the driver:
128
129         NOTICE: ibd0: Port is not active
130
131
132
133       Further, as described above, if the broadcast-GID is not found, or  the
134       associated  MTU  is higher than what the HCA port can support, the fol‐
135       lowing messages are printed to the system log:
136
137         NOTICE: ibd0: IPoIB broadcast group absent
138         NOTICE: ibd0: IPoIB broadcast group MTU 4096 greater than port's
139         maximum MTU 2048
140
141
142
143       In all cases of these reported problems when running  ifconfig(1M),  it
144       should  be  checked that IBA cabling is intact, an SM is running on the
145       fabric, and the broadcast-GID with appropriate properties has been cre‐
146       ated in the IBA partition.
147

CONFIGURATION

149       The  IPoIB  service comes preconfigured on all HCA ports in the system.
150       To turn the service off, or back on after turning it off, refer to doc‐
151       umentation in cfgadm_ib(1M).
152

FILES

154       /dev/ibd*                  special character device
155
156
157       /kernel/drv/ib.conf        configuration file to start IPoIB service
158
159
160       /kernel/drv/sparcv9/ibd    64-bit SPARC device driver
161
162
163       /kernel/drv/amd64/ibd      64-bit x86 device driver
164
165
166       /kernel/drv/ibd            32-bit x86 device driver
167
168

SEE ALSO

170       cfgadm(1M),  cfgadm_ib(1M), ifconfig(1M), syslogd(1M), gld(7D), ib(7D),
171       kstat(7D), streamio(7I), dlpi(7P), attributes(5), attach(9E)
172

NOTES

174       IBD is a GLD-based driver and  provides  the  statistics  described  by
175       gld(7D).  Note  that  valid received packets not accepted by any stream
176       (long) will increase when IBD transmits broadcast IP packets. This hap‐
177       pens  because  the infiniband hardware copies and loops back the trans‐
178       mitted broadcast packets to the source. These packets are discarded  by
179       GLD and are recorded as 'unknowns'.
180
181
182
183SunOS 5.11                        20 Jul 2007                          ibd(7D)
Impressum