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 254 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 261 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 268 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 276 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 284 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 291 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 306 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 322 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 333 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 340 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 347 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 353 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 361 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 370 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 381 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 390 of file infiniband.h.

Referenced by ib_set_pkey_table().


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