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.
void(* destroy_cq )(struct ib_device *ibdev, struct ib_completion_queue *cq)
 Destroy completion queue.
int(* create_qp )(struct ib_device *ibdev, struct ib_queue_pair *qp)
 Create queue pair.
int(* modify_qp )(struct ib_device *ibdev, struct ib_queue_pair *qp)
 Modify queue pair.
void(* destroy_qp )(struct ib_device *ibdev, struct ib_queue_pair *qp)
 Destroy queue pair.
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.
int(* post_recv )(struct ib_device *ibdev, struct ib_queue_pair *qp, struct io_buffer *iobuf)
 Post receive work queue entry.
void(* poll_cq )(struct ib_device *ibdev, struct ib_completion_queue *cq)
 Poll completion queue.
void(* poll_eq )(struct ib_device *ibdev)
 Poll event queue.
int(* open )(struct ib_device *ibdev)
 Open port.
void(* close )(struct ib_device *ibdev)
 Close port.
int(* mcast_attach )(struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid)
 Attach to multicast group.
void(* mcast_detach )(struct ib_device *ibdev, struct ib_queue_pair *qp, union ib_gid *gid)
 Detach from multicast group.
int(* set_port_info )(struct ib_device *ibdev, union ib_mad *mad)
 Set port information.
int(* set_pkey_table )(struct ib_device *ibdev, union ib_mad *mad)
 Set partition key table.

Detailed Description

Infiniband device operations.

These represent a subset of the Infiniband Verbs.

Definition at line 254 of file infiniband.h.


Field Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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: