| .\" -*- nroff -*- |
| .\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md |
| .\" |
| .TH UMAD_SET_GRH 3 "May 24, 2007" "OpenIB" "OpenIB Programmer's Manual" |
| .SH "NAME" |
| umad_set_grh \- set GRH fields within umad buffer using host ordering |
| .SH "SYNOPSIS" |
| .nf |
| .B #include <infiniband/umad.h> |
| .sp |
| .BI "int umad_set_grh(void " "*umad" ", void " "*mad_addr"); |
| .fi |
| .SH "DESCRIPTION" |
| .B umad_set_grh() |
| sets the GRH fields (grh_present, gid, hop_limit, traffic_class, flow_label) |
| within the specified |
| .I umad\fR |
| buffer based on the |
| .I mad_addr\fR |
| supplied. The provided |
| .I mad_addr\fR |
| fields are expected to be in host order. |
| If the |
| .I mad_addr\fR |
| pointer supplied is NULL, no GRH is set. |
| The argument |
| .I mad_addr |
| is a pointer to an |
| .I ib_mad_addr_t |
| struct, as specified in |
| .I <infiniband/umad.h>. |
| The argument |
| .I umad |
| is a pointer to an |
| .I ib_user_mad_t |
| struct, as specified in |
| .I <infiniband/umad.h>. |
| .PP |
| .nf |
| typedef struct ib_mad_addr { |
| .in +8 |
| uint32_t qpn; |
| uint32_t qkey; |
| uint16_t lid; |
| uint8_t sl; |
| uint8_t path_bits; |
| uint8_t grh_present; |
| uint8_t gid_index; |
| uint8_t hop_limit; |
| uint8_t traffic_class; |
| uint8_t gid[16]; |
| uint32_t flow_label; |
| .in -8 |
| } ib_mad_addr_t; |
| .PP |
| typedef struct ib_user_mad { |
| .in +8 |
| uint32_t agent_id; |
| uint32_t status; |
| uint32_t timeout_ms; |
| uint32_t retries; |
| uint32_t length; |
| ib_mad_addr_t addr; |
| uint8_t data[0]; |
| .in -8 |
| } ib_user_mad_t; |
| .fi |
| .SH "RETURN VALUE" |
| .B umad_set_grh() |
| returns 0 on success, and a negative value on errors. Currently, there |
| are no errors indicated. |
| .SH "SEE ALSO" |
| .BR umad_set_grh_net (3) |
| .SH "AUTHOR" |
| .TP |
| Hal Rosenstock <halr@voltaire.com> |