manadv_set_context_attr(3) manadv_set_context_attr(3)

manadv_set_context_attr - Set context attributes

#include <infiniband/manadv.h>
int manadv_set_context_attr(struct ibv_context *context,
                            enum manadv_set_ctx_attr_type attr_type,
                            void *attr);

manadv_set_context_attr gives the ability to set vendor specific attributes on the RDMA context.

RDMA device context to work on.
attr_type
The type of the provided attribute.
Pointer to the attribute to be set.

enum manadv_set_ctx_attr_type {
    /* Attribute type uint8_t */
    MANADV_SET_CTX_ATTR_BUF_ALLOCATORS = 0,
};
Provide an external buffer allocator
struct manadv_ctx_allocators {
    void *(*alloc)(size_t size, void *priv_data);
    void (*free)(void *ptr, void *priv_data);
    void *data;
};
Function used for buffer allocation instead of libmana internal method
Function used to free buffers allocated by alloc function
Metadata that can be used by alloc and free functions

Returns 0 on success, or the value of errno on failure (which indicates the failure reason).

Long Li <longli@microsoft.com>