iPXE
Data Fields
ib_device_operations Struct Reference

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...
 

Detailed Description

Infiniband device operations.

These represent a subset of the Infiniband Verbs.

Definition at line 255 of file infiniband.h.

Field Documentation

◆ create_cq

int( * ib_device_operations::create_cq) (struct ib_device *ibdev, struct ib_completion_queue *cq)

Create completion queue.

Parameters
ibdevInfiniband device
cqCompletion queue
Return values
rcReturn status code

Definition at line 262 of file infiniband.h.

Referenced by ib_create_cq().

◆ destroy_cq

void( * ib_device_operations::destroy_cq) (struct ib_device *ibdev, struct ib_completion_queue *cq)

Destroy completion queue.

Parameters
ibdevInfiniband device
cqCompletion queue

Definition at line 269 of file infiniband.h.

Referenced by ib_create_cq(), and ib_destroy_cq().

◆ create_qp

int( * ib_device_operations::create_qp) (struct ib_device *ibdev, struct ib_queue_pair *qp)

Create queue pair.

Parameters
ibdevInfiniband device
qpQueue pair
Return values
rcReturn status code

Definition at line 277 of file infiniband.h.

Referenced by ib_create_qp().

◆ modify_qp

int( * ib_device_operations::modify_qp) (struct ib_device *ibdev, struct ib_queue_pair *qp)

Modify queue pair.

Parameters
ibdevInfiniband device
qpQueue pair
Return values
rcReturn status code

Definition at line 285 of file infiniband.h.

Referenced by ib_modify_qp().

◆ destroy_qp

void( * ib_device_operations::destroy_qp) (struct ib_device *ibdev, struct ib_queue_pair *qp)

Destroy queue pair.

Parameters
ibdevInfiniband device
qpQueue pair

Definition at line 292 of file infiniband.h.

Referenced by ib_create_qp(), and ib_destroy_qp().

◆ post_send

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.

Parameters
ibdevInfiniband device
qpQueue pair
destDestination address vector
iobufI/O buffer
Return values
rcReturn 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 307 of file infiniband.h.

Referenced by ib_post_send().

◆ post_recv

int( * ib_device_operations::post_recv) (struct ib_device *ibdev, struct ib_queue_pair *qp, struct io_buffer *iobuf)

Post receive work queue entry.

Parameters
ibdevInfiniband device
qpQueue pair
iobufI/O buffer
Return values
rcReturn 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 323 of file infiniband.h.

Referenced by ib_post_recv().

◆ poll_cq

void( * ib_device_operations::poll_cq) (struct ib_device *ibdev, struct ib_completion_queue *cq)

Poll completion queue.

Parameters
ibdevInfiniband device
cqCompletion queue

The relevant completion handler (specified at completion queue creation time) takes ownership of the I/O buffer.

Definition at line 334 of file infiniband.h.

Referenced by ib_poll_cq().

◆ poll_eq

void( * ib_device_operations::poll_eq) (struct ib_device *ibdev)

Poll event queue.

Parameters
ibdevInfiniband device

Definition at line 341 of file infiniband.h.

Referenced by ib_poll_eq().

◆ open

int( * ib_device_operations::open) (struct ib_device *ibdev)

Open port.

Parameters
ibdevInfiniband device
Return values
rcReturn status code

Definition at line 348 of file infiniband.h.

Referenced by ib_open().

◆ close

void( * ib_device_operations::close) (struct ib_device *ibdev)

Close port.

Parameters
ibdevInfiniband device

Definition at line 354 of file infiniband.h.

Referenced by ib_close(), and ib_open().

◆ mcast_attach

int( * ib_device_operations::mcast_attach) (struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid)

Attach to multicast group.

Parameters
ibdevInfiniband device
qpQueue pair
gidMulticast GID
Return values
rcReturn status code

Definition at line 362 of file infiniband.h.

Referenced by ib_mcast_attach().

◆ mcast_detach

void( * ib_device_operations::mcast_detach) (struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid)

Detach from multicast group.

Parameters
ibdevInfiniband device
qpQueue pair
gidMulticast GID

Definition at line 371 of file infiniband.h.

Referenced by ib_mcast_detach().

◆ set_port_info

int( * ib_device_operations::set_port_info) (struct ib_device *ibdev, union ib_mad *mad)

Set port information.

Parameters
ibdevInfiniband device
madSet port information MAD

This method is required only by adapters that do not have an embedded SMA.

Definition at line 382 of file infiniband.h.

Referenced by ib_set_port_info().

◆ set_pkey_table

int( * ib_device_operations::set_pkey_table) (struct ib_device *ibdev, union ib_mad *mad)

Set partition key table.

Parameters
ibdevInfiniband device
madSet partition key table MAD

This method is required only by adapters that do not have an embedded SMA.

Definition at line 391 of file infiniband.h.

Referenced by ib_set_pkey_table().


The documentation for this struct was generated from the following file: