-*- nroff -*-

UMAD_SET_GRH_NET 3 "May 24, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
"NAME"
umad_set_grh_net - set GRH fields within umad buffer using network ordering
"SYNOPSIS"
 #include <infiniband/umad.h>  "int umad_set_grh_net(void " "*umad" ", void " "*mad_addr"); 
"DESCRIPTION"
umad_set_grh_net() sets the GRH fields (grh_present, gid, hop_limit, traffic_class, flow_label) within the specified umad buffer based on the mad_addr supplied. The provided mad_addr fields are expected to be in network order. If the mad_addr pointer supplied is NULL, no GRH is set. The argument mad_addr is a pointer to an ib_mad_addr_t struct, as specified in <infiniband/umad.h>. The argument umad is a pointer to an ib_user_mad_t struct, as specified in <infiniband/umad.h>.

typedef struct ib_mad_addr {
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;
} ib_mad_addr_t;

typedef struct ib_user_mad { 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]; } ib_user_mad_t;

"RETURN VALUE"
umad_set_grh_net() returns 0 on success, and a negative value on errors. Currently, there are no errors indicated.
"KNOWN BUGS"
Not implemented.
"SEE ALSO"
umad_set_grh (3)
"AUTHOR"

Hal Rosenstock <halr@voltaire.com>