|
iPXE
|
Infiniband path records. More...
#include <ipxe/infiniband.h>Go to the source code of this file.
Data Structures | |
| struct | ib_path_operations |
| Infiniband path operations. More... | |
| struct | ib_path |
| An Infiniband path. More... | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| static __always_inline void | ib_path_set_ownerdata (struct ib_path *path, void *priv) |
| Set Infiniband path owner-private data. More... | |
| static __always_inline void * | ib_path_get_ownerdata (struct ib_path *path) |
| Get Infiniband path owner-private data. More... | |
| struct ib_path * | ib_create_path (struct ib_device *ibdev, struct ib_address_vector *av, struct ib_path_operations *op) |
| Create path. More... | |
| void | ib_destroy_path (struct ib_device *ibdev, struct ib_path *path) |
| Destroy path. More... | |
| int | ib_resolve_path (struct ib_device *ibdev, struct ib_address_vector *av) |
| Resolve path. More... | |
Variables | |
| struct ib_path_operations | __attribute__ |
Infiniband path records.
Definition in file ib_pathrec.h.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
inlinestatic |
Set Infiniband path owner-private data.
| path | Path |
| priv | Private data |
Definition at line 52 of file ib_pathrec.h.
References ib_path::owner_priv, and priv.
Referenced by ib_create_conn(), and ib_resolve_path().
|
inlinestatic |
Get Infiniband path owner-private data.
| path | Path |
| priv | Private data |
Definition at line 63 of file ib_pathrec.h.
References ib_path::owner_priv.
Referenced by ib_cached_path_complete(), and ib_cm_path_complete().
| struct ib_path* ib_create_path | ( | struct ib_device * | ibdev, |
| struct ib_address_vector * | av, | ||
| struct ib_path_operations * | op | ||
| ) |
Create path.
| ibdev | Infiniband device |
| av | Address vector to complete |
| op | Path operations |
| path | Path |
Definition at line 107 of file ib_pathrec.c.
References ib_path::av, free, ib_address_vector::gid, ib_device::gid, ib_device::gsi, htonl, htons, ib_create_madx(), ib_destroy_madx(), ib_madx_set_ownerdata(), IB_MGMT_CLASS_SUBN_ADM, IB_MGMT_METHOD_GET, ib_path_op, IB_SA_ATTR_PATH_REC, IB_SA_CLASS_VERSION, IB_SA_PATH_REC_DGID, IB_SA_PATH_REC_SGID, ib_path::ibdev, mad, ib_path::madx, memcpy(), memset(), NULL, ib_path::op, op, ib_mad::sa, sa, and zalloc().
Referenced by ib_create_conn(), and ib_resolve_path().
Destroy path.
| ibdev | Infiniband device |
| path | Path |
Definition at line 156 of file ib_pathrec.c.
References free, ib_device::gsi, ib_destroy_madx(), and ib_path::madx.
Referenced by ib_cached_path_complete(), ib_cm_path_complete(), ib_create_conn(), ib_destroy_conn(), and ib_resolve_path().
| int ib_resolve_path | ( | struct ib_device * | ibdev, |
| struct ib_address_vector * | av | ||
| ) |
Resolve path.
| ibdev | Infiniband device |
| av | Address vector to complete |
| rc | Return status code |
This provides a non-transactional way to resolve a path, via a cache similar to ARP.
Definition at line 249 of file ib_pathrec.c.
References ib_path::av, DBGC, DBGC2, ENOENT, ENOMEM, gid, ib_address_vector::gid, ib_address_vector::gid_present, ib_cached_path_op, ib_create_path(), ib_destroy_path(), ib_find_path_cache_entry(), IB_GID_ARGS, IB_GID_FMT, IB_NUM_CACHED_PATHS, ib_path_cache, ib_path_cache_idx, ib_path_set_ownerdata(), ib_address_vector::lid, memset(), ib_device::name, ib_cached_path::path, ib_address_vector::rate, and ib_address_vector::sl.
Referenced by eoib_duplicate(), eoib_tx_av(), and ipoib_transmit().
| struct ib_path_operations __attribute__ |
1.8.15