umad_register2 - Man Page
register the specified management class and version for port
Synopsis
#include <infiniband/umad.h> int umad_register2(int port_fd, struct umad_reg_attr *attr, uint32_t *agent_id);
Description
umad_register2() registers for a MAD agent using the provided registration attributes
port_fd the port on which to register the agent
attr The registration attributes as defined by the structure passed. See below for details of this structure.
agent_id returned on success. agent_id identifies the kernel MAD agent a MAD is received by or to be sent by. agent_id is returned in the umad header "struct ib_user_mad" on recv and specified in umad_send when sending.
Registration Attribute Structure
struct umad_reg_attr { uint8_t mgmt_class; uint8_t mgmt_class_version; uint32_t flags; uint64_t method_mask[2]; uint32_t oui; uint8_t rmpp_version; }; mgmt_class Management class to register for. mgmt_class_version Management class version to register for. flags Registration flags. If a flag specified is not supported by the kernel, an error is returned, and the supported flags are returned in this field. Current flags are: UMAD_USER_RMPP -- flag to indicate the kernel should not process RMPP packets. All RMPP packets will be treated like individual MADs. The user is responsible for implementing the RMPP protocol. method_mask A bit mask which indicates which unsolicited methods this agent should receive. Setting this array to 0 will result in the agent only receiving response MADs for which a request was sent. oui The oui (in host order) to use for vendor classes 0x30 - 0x4f. Otherwise ignored. rmpp_version If the class supports RMPP and kernel RMPP is enabled (the default) indicate which rmpp_version to use.
Return Value
umad_register2() returns 0 on success and +ERRNO on failure.
See Also
Author
Ira Weiny <ira.weiny@intel.com>
Info
March 25, 2014 OpenIB Programmer's Manual