Man Linux: Main Page and Category List

NAME

       umad_set_grh - set GRH fields within umad buffer using host ordering

SYNOPSIS

       #include <infiniband/umad.h>

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

DESCRIPTION

       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.

SEE ALSO

       umad_set_grh_net(3)

AUTHOR

       Hal Rosenstock <halr@voltaire.com>