rdma

package
v0.6.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package rdma provides Go bindings for the rdma framework.

Code generated from Apple documentation. DO NOT EDIT.

Index

Constants

View Source
const (
	IBV_ACCESS_LOCAL_WRITE  = 1
	IBV_ACCESS_REMOTE_WRITE = 2
	IBV_ACCESS_REMOTE_READ  = 4

	IBV_QPT_UC = 3

	IBV_QPS_INIT = 1
	IBV_QPS_RTR  = 2
	IBV_QPS_RTS  = 3

	IBV_QP_STATE        = 1
	IBV_QP_ACCESS_FLAGS = 8
	IBV_QP_PKEY_INDEX   = 16
	IBV_QP_PORT         = 32
	IBV_QP_AV           = 128
	IBV_QP_PATH_MTU     = 256
	IBV_QP_RQ_PSN       = 4096
	IBV_QP_SQ_PSN       = 65536
	IBV_QP_DEST_QPN     = 1048576

	IBV_MTU_1024 = 3

	IBV_WR_RDMA_WRITE = 0
	IBV_WR_SEND       = 2
	IBV_SEND_SIGNALED = 2

	IBV_WC_SUCCESS = 0
)

Variables

This section is empty.

Functions

func Available

func Available() bool

Available reports whether librdma and the generated probe symbols are available.

func IbvCloseDevice added in v0.6.4

func IbvCloseDevice(context RDMAContext) (int, error)

IbvCloseDevice.

func IbvDeallocPd added in v0.6.4

func IbvDeallocPd(pd RDMAPD) (int, error)

IbvDeallocPd.

func IbvDeregMr added in v0.6.4

func IbvDeregMr(mr RDMAMR) (int, error)

IbvDeregMr.

func IbvDestroyCq added in v0.6.4

func IbvDestroyCq(cq RDMACQ) (int, error)

IbvDestroyCq.

func IbvDestroyQp added in v0.6.4

func IbvDestroyQp(qp RDMAQP) (int, error)

IbvDestroyQp.

func IbvFreeDeviceList added in v0.6.4

func IbvFreeDeviceList(list RDMADeviceList) error

IbvFreeDeviceList.

func IbvGetDeviceName added in v0.6.4

func IbvGetDeviceName(device RDMADevice) (uintptr, error)

IbvGetDeviceName.

func IbvModifyQp added in v0.6.4

func IbvModifyQp(qp RDMAQP, attr uintptr, attr_mask int) (int, error)

IbvModifyQp.

func IbvQueryDevice added in v0.6.4

func IbvQueryDevice(context RDMAContext, device_attr uintptr) (int, error)

IbvQueryDevice.

func IbvQueryGid added in v0.6.4

func IbvQueryGid(context RDMAContext, port_num uint8, index int, gid uintptr) (int, error)

IbvQueryGid.

func IbvQueryPort added in v0.6.4

func IbvQueryPort(context RDMAContext, port_num uint8, port_attr uintptr) (int, error)

IbvQueryPort.

func Ibv_mr_lkey

func Ibv_mr_lkey(mr RDMAMR) uint32

func Ibv_mr_rkey

func Ibv_mr_rkey(mr RDMAMR) uint32

func Ibv_poll_cq

func Ibv_poll_cq(cq RDMACQ, numEntries int, wc *IbvWC) (int, error)

Ibv_poll_cq calls the SDK inline ibv_poll_cq wrapper through ibv_context_ops.

func Ibv_post_recv

func Ibv_post_recv(qp RDMAQP, wr *IbvRecvWR, badWR **IbvRecvWR) (int, error)

Ibv_post_recv calls the SDK inline ibv_post_recv wrapper through ibv_context_ops.

func Ibv_post_send

func Ibv_post_send(qp RDMAQP, wr *IbvSendWR, badWR **IbvSendWR) (int, error)

Ibv_post_send calls the SDK inline ibv_post_send wrapper through ibv_context_ops.

func Ibv_qp_num

func Ibv_qp_num(qp RDMAQP) uint32

Types

type Device

type Device struct {
	Handle RDMADevice
	Name   string
}

Device describes an RDMA device returned by Devices.

func Devices

func Devices() ([]Device, error)

Devices returns the RDMA devices currently reported by librdma.

It only calls exported lifecycle/probe symbols. It does not enable RDMA and may return an empty slice on systems where RDMA over Thunderbolt is disabled.

type IbvAHAttr

type IbvAHAttr struct {
	GRH         IbvGlobalRoute
	DLID        uint16
	SL          uint8
	SrcPathBits uint8
	StaticRate  uint8
	IsGlobal    uint8
	PortNum     uint8
	// contains filtered or unexported fields
}

IbvAHAttr matches struct ibv_ah_attr.

type IbvCQPoller

type IbvCQPoller struct {
	// contains filtered or unexported fields
}

func NewIbvCQPoller

func NewIbvCQPoller(cq RDMACQ) (IbvCQPoller, error)

func (IbvCQPoller) Poll

func (p IbvCQPoller) Poll(numEntries int, wc *IbvWC) int

type IbvGID

type IbvGID [16]byte

IbvGID is the raw 16-byte representation of union ibv_gid.

type IbvGlobalRoute

type IbvGlobalRoute struct {
	DGID         IbvGID
	FlowLabel    uint32
	SGIDIndex    uint8
	HopLimit     uint8
	TrafficClass uint8
	// contains filtered or unexported fields
}

IbvGlobalRoute matches struct ibv_global_route.

type IbvPortAttr

type IbvPortAttr struct {
	GIDTblLen uint32

	LID uint16
	// contains filtered or unexported fields
}

IbvPortAttr exposes the fields used by RDMA examples.

type IbvQPAttr

type IbvQPAttr struct {
	QPState          int32
	CurQPState       int32
	PathMTU          int32
	PathMigState     int32
	QKey             uint32
	RQPSN            uint32
	SQPSN            uint32
	DestQPNum        uint32
	QPAccessFlags    int32
	Cap              IbvQPCap
	AHAttr           IbvAHAttr
	AltAHAttr        IbvAHAttr
	PKeyIndex        uint16
	AltPKeyIndex     uint16
	EnSQDAsyncNotify uint8
	SQDraining       uint8
	MaxRDAtomic      uint8
	MaxDestRDAtomic  uint8
	MinRNRTimer      uint8
	PortNum          uint8
	Timeout          uint8
	RetryCnt         uint8
	RNRetry          uint8
	AltPortNum       uint8
	AltTimeout       uint8
	// contains filtered or unexported fields
}

IbvQPAttr matches the fields commonly used with ibv_modify_qp.

type IbvQPCap

type IbvQPCap struct {
	MaxSendWR     uint32
	MaxRecvWR     uint32
	MaxSendSGE    uint32
	MaxRecvSGE    uint32
	MaxInlineData uint32
}

IbvQPCap matches struct ibv_qp_cap.

type IbvQPInitAttr

type IbvQPInitAttr struct {
	QPContext uintptr
	SendCQ    RDMACQ
	RecvCQ    RDMACQ
	SRQ       uintptr
	Cap       IbvQPCap
	QPType    int32
	SQSigAll  int32
}

IbvQPInitAttr matches struct ibv_qp_init_attr.

type IbvQPPoster

type IbvQPPoster struct {
	// contains filtered or unexported fields
}

func NewIbvQPPoster

func NewIbvQPPoster(qp RDMAQP) (IbvQPPoster, error)

func (IbvQPPoster) PostRecv

func (p IbvQPPoster) PostRecv(wr *IbvRecvWR, badWR **IbvRecvWR) int

func (IbvQPPoster) PostSend

func (p IbvQPPoster) PostSend(wr *IbvSendWR, badWR **IbvSendWR) int

type IbvRecvWR

type IbvRecvWR struct {
	WRID   uint64
	Next   *IbvRecvWR
	SGList *IbvSGE
	NumSGE int32
	// contains filtered or unexported fields
}

IbvRecvWR matches struct ibv_recv_wr.

type IbvSGE

type IbvSGE struct {
	Addr   uint64
	Length uint32
	LKey   uint32
}

IbvSGE matches struct ibv_sge.

type IbvSendWR

type IbvSendWR struct {
	WRID      uint64
	Next      *IbvSendWR
	SGList    *IbvSGE
	NumSGE    int32
	Opcode    int32
	SendFlags int32
	ImmData   uint32
	WR        [32]byte
	QPType    [8]byte
	BindMW    [48]byte
}

IbvSendWR matches struct ibv_send_wr for send operations.

type IbvWC

type IbvWC struct {
	WRID         uint64
	Status       int32
	Opcode       int32
	VendorErr    uint32
	ByteLen      uint32
	ImmData      uint32
	QPNum        uint32
	SrcQP        uint32
	WCFlags      int32
	PKeyIndex    uint16
	SLID         uint16
	SL           uint8
	DLIDPathBits uint8
	PortNum      uint8
	// contains filtered or unexported fields
}

IbvWC matches struct ibv_wc.

type RDMACQ

type RDMACQ = uintptr

func IbvCreateCq added in v0.6.4

func IbvCreateCq(context RDMAContext, cqe int, cq_context uintptr, channel uintptr, comp_vector int) (RDMACQ, error)

IbvCreateCq.

type RDMAContext

type RDMAContext = uintptr

func IbvOpenDevice added in v0.6.4

func IbvOpenDevice(device RDMADevice) (RDMAContext, error)

IbvOpenDevice.

type RDMADevice

type RDMADevice = uintptr

type RDMADeviceList

type RDMADeviceList = uintptr

func IbvGetDeviceList added in v0.6.4

func IbvGetDeviceList(num_devices uintptr) (RDMADeviceList, error)

IbvGetDeviceList.

type RDMAMR

type RDMAMR = uintptr

func IbvRegMr added in v0.6.4

func IbvRegMr(pd RDMAPD, addr uintptr, length uintptr, access int) (RDMAMR, error)

IbvRegMr.

type RDMAPD

type RDMAPD = uintptr

func IbvAllocPd added in v0.6.4

func IbvAllocPd(context RDMAContext) (RDMAPD, error)

IbvAllocPd.

type RDMAQP

type RDMAQP = uintptr

func IbvCreateQp added in v0.6.4

func IbvCreateQp(pd RDMAPD, qp_init_attr uintptr) (RDMAQP, error)

IbvCreateQp.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL