iPXE
|
Infiniband device operations. More...
#include <infiniband.h>
Data Fields | |
int(* | create_cq )(struct ib_device *ibdev, struct ib_completion_queue *cq) |
Create completion queue. More... | |
void(* | destroy_cq )(struct ib_device *ibdev, struct ib_completion_queue *cq) |
Destroy completion queue. More... | |
int(* | create_qp )(struct ib_device *ibdev, struct ib_queue_pair *qp) |
Create queue pair. More... | |
int(* | modify_qp )(struct ib_device *ibdev, struct ib_queue_pair *qp) |
Modify queue pair. More... | |
void(* | destroy_qp )(struct ib_device *ibdev, struct ib_queue_pair *qp) |
Destroy queue pair. More... | |
int(* | post_send )(struct ib_device *ibdev, struct ib_queue_pair *qp, struct ib_address_vector *dest, struct io_buffer *iobuf) |
Post send work queue entry. More... | |
int(* | post_recv )(struct ib_device *ibdev, struct ib_queue_pair *qp, struct io_buffer *iobuf) |
Post receive work queue entry. More... | |
void(* | poll_cq )(struct ib_device *ibdev, struct ib_completion_queue *cq) |
Poll completion queue. More... | |
void(* | poll_eq )(struct ib_device *ibdev) |
Poll event queue. More... | |
int(* | open )(struct ib_device *ibdev) |
Open port. More... | |
void(* | close )(struct ib_device *ibdev) |
Close port. More... | |
int(* | mcast_attach )(struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid) |
Attach to multicast group. More... | |
void(* | mcast_detach )(struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid) |
Detach from multicast group. More... | |
int(* | set_port_info )(struct ib_device *ibdev, union ib_mad *mad) |
Set port information. More... | |
int(* | set_pkey_table )(struct ib_device *ibdev, union ib_mad *mad) |
Set partition key table. More... | |
Infiniband device operations.
These represent a subset of the Infiniband Verbs.
Definition at line 254 of file infiniband.h.
int( * ib_device_operations::create_cq) (struct ib_device *ibdev, struct ib_completion_queue *cq) |
Create completion queue.
ibdev | Infiniband device |
cq | Completion queue |
rc | Return status code |
Definition at line 261 of file infiniband.h.
Referenced by ib_create_cq().
void( * ib_device_operations::destroy_cq) (struct ib_device *ibdev, struct ib_completion_queue *cq) |
Destroy completion queue.
ibdev | Infiniband device |
cq | Completion queue |
Definition at line 268 of file infiniband.h.
Referenced by ib_create_cq(), and ib_destroy_cq().
int( * ib_device_operations::create_qp) (struct ib_device *ibdev, struct ib_queue_pair *qp) |
Create queue pair.
ibdev | Infiniband device |
qp | Queue pair |
rc | Return status code |
Definition at line 276 of file infiniband.h.
Referenced by ib_create_qp().
int( * ib_device_operations::modify_qp) (struct ib_device *ibdev, struct ib_queue_pair *qp) |
Modify queue pair.
ibdev | Infiniband device |
qp | Queue pair |
rc | Return status code |
Definition at line 284 of file infiniband.h.
Referenced by ib_modify_qp().
void( * ib_device_operations::destroy_qp) (struct ib_device *ibdev, struct ib_queue_pair *qp) |
Destroy queue pair.
ibdev | Infiniband device |
qp | Queue pair |
Definition at line 291 of file infiniband.h.
Referenced by ib_create_qp(), and ib_destroy_qp().
int( * ib_device_operations::post_send) (struct ib_device *ibdev, struct ib_queue_pair *qp, struct ib_address_vector *dest, struct io_buffer *iobuf) |
Post send work queue entry.
ibdev | Infiniband device |
qp | Queue pair |
dest | Destination address vector |
iobuf | I/O buffer |
rc | Return status code |
If this method returns success, the I/O buffer remains owned by the queue pair. If this method returns failure, the I/O buffer is immediately released; the failure is interpreted as "failure to enqueue buffer".
Definition at line 306 of file infiniband.h.
Referenced by ib_post_send().
int( * ib_device_operations::post_recv) (struct ib_device *ibdev, struct ib_queue_pair *qp, struct io_buffer *iobuf) |
Post receive work queue entry.
ibdev | Infiniband device |
qp | Queue pair |
iobuf | I/O buffer |
rc | Return status code |
If this method returns success, the I/O buffer remains owned by the queue pair. If this method returns failure, the I/O buffer is immediately released; the failure is interpreted as "failure to enqueue buffer".
Definition at line 322 of file infiniband.h.
Referenced by ib_post_recv().
void( * ib_device_operations::poll_cq) (struct ib_device *ibdev, struct ib_completion_queue *cq) |
Poll completion queue.
ibdev | Infiniband device |
cq | Completion queue |
The relevant completion handler (specified at completion queue creation time) takes ownership of the I/O buffer.
Definition at line 333 of file infiniband.h.
Referenced by ib_poll_cq().
void( * ib_device_operations::poll_eq) (struct ib_device *ibdev) |
Poll event queue.
ibdev | Infiniband device |
Definition at line 340 of file infiniband.h.
Referenced by ib_poll_eq().
int( * ib_device_operations::open) (struct ib_device *ibdev) |
Open port.
ibdev | Infiniband device |
rc | Return status code |
Definition at line 347 of file infiniband.h.
Referenced by ib_open().
void( * ib_device_operations::close) (struct ib_device *ibdev) |
Close port.
ibdev | Infiniband device |
Definition at line 353 of file infiniband.h.
Referenced by ib_close(), and ib_open().
int( * ib_device_operations::mcast_attach) (struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid) |
Attach to multicast group.
ibdev | Infiniband device |
qp | Queue pair |
gid | Multicast GID |
rc | Return status code |
Definition at line 361 of file infiniband.h.
Referenced by ib_mcast_attach().
void( * ib_device_operations::mcast_detach) (struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid) |
Detach from multicast group.
ibdev | Infiniband device |
qp | Queue pair |
gid | Multicast GID |
Definition at line 370 of file infiniband.h.
Referenced by ib_mcast_detach().
Set port information.
ibdev | Infiniband device |
mad | Set port information MAD |
This method is required only by adapters that do not have an embedded SMA.
Definition at line 381 of file infiniband.h.
Referenced by ib_set_port_info().
Set partition key table.
ibdev | Infiniband device |
mad | Set partition key table MAD |
This method is required only by adapters that do not have an embedded SMA.
Definition at line 390 of file infiniband.h.
Referenced by ib_set_pkey_table().