umad_get_ca(3) get and release InfiniBand device port attributes

Other Alias



#include <infiniband/umad.h>

int umad_get_ca(char *ca_name, umad_ca_t *ca);
int umad_release_ca(umad_ca_t *ca);


umad_get_ca() gets the attributes of the InfiniBand device ca_name. It fills the ca structure with the device attributes specified by the ca_name or with the default device attributes if ca_name is NULL. umad_release_ca() should be called before the ca structure is deallocated. The argument ca is an umad_ca_t struct, as specified in <infiniband/umad.h>.

typedef struct umad_ca {
char ca_name[UMAD_CA_NAME_LEN];                 /* Name of the device */
uint node_type;                                 /* Type of the device */
int numports;                                   /* Number of physical ports */
char fw_ver[20];                                /* FW version */
char ca_type[40];                               /* CA type (e.g. MT23108, etc.) */
char hw_ver[20];                                /* Hardware version */
uint64_t node_guid;                             /* Node GUID */
uint64_t system_guid;                           /* System image GUID */
umad_port_t *ports[UMAD_CA_MAX_PORTS];          /* Array of device port properties */
} umad_ca_t;

umad_release_ca() releases the resources that were allocated in the function umad_get_ca().


umad_get_ca() and umad_release_ca() return 0 on success, and a negative value on error.


Hal Rosenstock <[email protected]>
Dotan Barak <[email protected]>