|
iPXE
|
Infiniband Subnet Management Client. More...
#include <stdint.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <byteswap.h>#include <ipxe/infiniband.h>#include <ipxe/ib_smc.h>Go to the source code of this file.
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| static int | ib_smc_mad (struct ib_device *ibdev, uint16_t attr_id, uint32_t attr_mod, ib_local_mad_t local_mad, union ib_mad *mad) |
| Issue local MAD. | |
| static int | ib_smc_get_node_info (struct ib_device *ibdev, ib_local_mad_t local_mad, union ib_mad *mad) |
| Get node information. | |
| static int | ib_smc_get_port_info (struct ib_device *ibdev, ib_local_mad_t local_mad, union ib_mad *mad) |
| Get port information. | |
| static int | ib_smc_get_guid_info (struct ib_device *ibdev, ib_local_mad_t local_mad, union ib_mad *mad) |
| Get GUID information. | |
| static int | ib_smc_get_pkey_table (struct ib_device *ibdev, ib_local_mad_t local_mad, union ib_mad *mad) |
| Get partition key table. | |
| static int | ib_smc_get (struct ib_device *ibdev, ib_local_mad_t local_mad) |
| Get Infiniband parameters using SMC. | |
| int | ib_smc_init (struct ib_device *ibdev, ib_local_mad_t local_mad) |
| Initialise Infiniband parameters using SMC. | |
| int | ib_smc_update (struct ib_device *ibdev, ib_local_mad_t local_mad) |
| Update Infiniband parameters using SMC. | |
Infiniband Subnet Management Client.
Definition in file ib_smc.c.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
static |
Issue local MAD.
| ibdev | Infiniband device |
| attr_id | Attribute ID, in network byte order |
| attr_mod | Attribute modifier, in network byte order |
| local_mad | Method for issuing local MADs |
| mad | Management datagram to fill in |
| rc | Return status code |
Definition at line 52 of file ib_smc.c.
References attr_id, attr_mod, IB_MGMT_BASE_VERSION, IB_MGMT_CLASS_SUBN_LID_ROUTED, IB_MGMT_METHOD_GET, mad, memset(), and rc.
Referenced by ib_smc_get_guid_info(), ib_smc_get_node_info(), ib_smc_get_pkey_table(), and ib_smc_get_port_info().
|
static |
Get node information.
| ibdev | Infiniband device |
| local_mad | Method for issuing local MADs |
| mad | Management datagram to fill in |
| rc | Return status code |
Definition at line 81 of file ib_smc.c.
References DBGC, htons, ib_smc_mad(), IB_SMP_ATTR_NODE_INFO, mad, ib_device::name, rc, and strerror().
Referenced by ib_smc_get().
|
static |
Get port information.
| ibdev | Infiniband device |
| local_mad | Method for issuing local MADs |
| mad | Management datagram to fill in |
| rc | Return status code |
Definition at line 104 of file ib_smc.c.
References DBGC, htonl, htons, ib_smc_mad(), IB_SMP_ATTR_PORT_INFO, mad, ib_device::name, ib_device::port, rc, and strerror().
Referenced by ib_smc_get().
|
static |
Get GUID information.
| ibdev | Infiniband device |
| local_mad | Method for issuing local MADs |
| mad | Management datagram to fill in |
| rc | Return status code |
Definition at line 127 of file ib_smc.c.
References DBGC, htons, ib_smc_mad(), IB_SMP_ATTR_GUID_INFO, mad, ib_device::name, rc, and strerror().
Referenced by ib_smc_get().
|
static |
Get partition key table.
| ibdev | Infiniband device |
| local_mad | Method for issuing local MADs |
| mad | Management datagram to fill in |
| rc | Return status code |
Definition at line 150 of file ib_smc.c.
References DBGC, htons, ib_smc_mad(), IB_SMP_ATTR_PKEY_TABLE, mad, ib_device::name, rc, and strerror().
Referenced by ib_smc_get().
|
static |
Get Infiniband parameters using SMC.
| ibdev | Infiniband device |
| local_mad | Method for issuing local MADs |
| rc | Return status code |
Definition at line 172 of file ib_smc.c.
References DBGC, ib_device::gid, ib_gid::guid, guid_info, IB_GID_ARGS, IB_GID_FMT, ib_smc_get_guid_info(), ib_smc_get_node_info(), ib_smc_get_pkey_table(), ib_smc_get_port_info(), ib_device::lid, ib_device::link_speed_active, ib_device::link_speed_enabled, ib_device::link_speed_supported, ib_device::link_width_active, ib_device::link_width_enabled, ib_device::link_width_supported, mad, memcpy(), ib_device::name, ib_device::node_guid, node_info, ntohs, ib_device::pkey, pkey_table, port_info, ib_device::port_state, ib_gid::prefix, rc, ib_gid::s, ib_device::sm_lid, and ib_device::sm_sl.
Referenced by ib_smc_init(), and ib_smc_update().
| int ib_smc_init | ( | struct ib_device * | ibdev, |
| ib_local_mad_t | local_mad ) |
Initialise Infiniband parameters using SMC.
| ibdev | Infiniband device |
| local_mad | Method for issuing local MADs |
| rc | Return status code |
Definition at line 232 of file ib_smc.c.
References ib_smc_get(), and rc.
Referenced by arbel_probe(), and hermon_register_ibdev().
| int ib_smc_update | ( | struct ib_device * | ibdev, |
| ib_local_mad_t | local_mad ) |
Update Infiniband parameters using SMC.
| ibdev | Infiniband device |
| local_mad | Method for issuing local MADs |
| rc | Return status code |
Definition at line 249 of file ib_smc.c.
References ib_link_state_changed(), ib_smc_get(), and rc.
Referenced by arbel_event_port_state_change(), arbel_ib_open(), arbel_inform_sma(), arbel_poll_eq(), hermon_event_port_mgmnt_change(), hermon_ib_open(), hermon_inform_sma(), hermon_poll_eq(), and hermon_state_change_ibdev().