DOKK / manpages / debian 10 / libibumad-dev / umad_set_grh_net.3.en
UMAD_SET_GRH_NET(3) OpenIB Programmer´s Manual UMAD_SET_GRH_NET(3)

umad_set_grh_net - set GRH fields within umad buffer using network ordering

#include <infiniband/umad.h>

int umad_set_grh_net(void *umad, void *mad_addr);

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;

umad_set_grh_net() returns 0 on success, and a negative value on errors. Currently, there are no errors indicated.

Not implemented.

umad_set_grh(3)

May 24, 2007 OpenIB