отправить UMAD (send umad)
Имя (Name)
umad_send - send umad
Синопсис (Synopsis)
#include <infiniband/umad.h>
int umad_send(int
portid, int
agentid, void
*umad, int
length, int
timeout_ms, int
retries);
Описание (Description)
umad_send()
sends length bytes from the specified umad buffer
from the port specified by portid, and using the agent specified
by agentid.
The buffer can contain a RMPP transmission which is larger than a
single MAD packet when the agentid specifies a class which
utilizes RMPP and the header flags indicate RMPP is active. NOTE
currently only RMPPFlags.Active is meaningful in the header in
user space. All other RMPP fields are ignored. The data section
of the buffer will be sent in multiple RMPP MAD packets with
headers built for the user.
timeout_ms controls the solicited MADs behavior as follows: zero
value means not solicited. Positive value makes kernel indicate
timeout in milliseconds. If reply is not received within the
specified value, the original buffer is returned in the read
channel with the status field set (to non zero). Negative
timeout_ms makes kernel wait forever for the reply. retries
indicates the number of times the MAD will be retried before
giving up.
Возвращаемое значение (Return value)
umad_send()
returns 0 on success; on error, errno is set and a
negative value is returned as follows:
-EINVAL invalid port handle or agentid
-EIO send operation failed