umad_set_grh(3)

umad_set_grh3

Set grh fields within umad buffer using host ordering

Usage

#include <infiniband/umad.h>

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

Overview

umad_set_grh() 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 host 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() returns 0 on success, and a negative value on errors. Currently, there are no errors indicated.

Releases

9 releases since Debian 6.0 (Squeeze); the text changed 2 times.

  1. 6.0–9
  2. 10
  3. 11–Arch

Author

Hal Rosenstock <[email protected]>

From rdma-core 65.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.