Motr  M0
nlx_core_buffer Struct Reference

#include <lnet_core_types.h>

Collaboration diagram for nlx_core_buffer:
Collaboration graph

Data Fields

uint64_t cb_magic
 
nlx_core_opaque_ptr_t cb_buffer_id
 
enum m0_net_queue_type cb_qtype
 
m0_bcount_t cb_length
 
m0_bcount_t cb_min_receive_size
 
uint32_t cb_max_operations
 
uint64_t cb_match_bits
 
struct nlx_core_ep_addr cb_addr
 
void * cb_upvt
 
void * cb_kpvt
 

Detailed Description

Core buffer data. The transport layer should embed this in its private data.

Definition at line 261 of file lnet_core_types.h.

Field Documentation

◆ cb_addr

struct nlx_core_ep_addr cb_addr

The address of the destination transfer machine is set in this field for buffers on the M0_NET_QT_MSG_SEND queue.

The address of the remote passive transfer machine is set in this field for buffers on the M0_NET_QT_ACTIVE_BULK_SEND or M0_NET_QT_ACTIVE_BULK_RECV queues.

Definition at line 318 of file lnet_core_types.h.

◆ cb_buffer_id

nlx_core_opaque_ptr_t cb_buffer_id

The address of the m0_net_buffer structure in the transport address space. The value is set by the nlx_core_buffer_register() subroutine.

Definition at line 269 of file lnet_core_types.h.

◆ cb_kpvt

void* cb_kpvt

Core kernel space private

Definition at line 321 of file lnet_core_types.h.

◆ cb_length

m0_bcount_t cb_length

The length of data involved in the operation. Note this is less than or equal to the buffer length.

Definition at line 281 of file lnet_core_types.h.

◆ cb_magic

uint64_t cb_magic

Definition at line 262 of file lnet_core_types.h.

◆ cb_match_bits

uint64_t cb_match_bits

The match bits for a passive bulk buffer, including the TMID field. They should be set using the nlx_core_buf_desc_encode() subroutine.

The field is also used in an active buffer to describe the match bits of the remote passive buffer.

The field is set automatically for receive buffers.

Definition at line 308 of file lnet_core_types.h.

◆ cb_max_operations

uint32_t cb_max_operations

Value from nb_max_receive_msgs for receive queue buffers. Set to 1 in other cases. The value is used for the threshold field of an lnet_md_t, and specifies the number of internal buffer event structures that have to be provisioned to accommodate the expected result notifications.

Definition at line 296 of file lnet_core_types.h.

◆ cb_min_receive_size

m0_bcount_t cb_min_receive_size

Value from nb_min_receive_size for receive queue buffers only.

Definition at line 286 of file lnet_core_types.h.

◆ cb_qtype

enum m0_net_queue_type cb_qtype

The buffer queue type - copied from m0_net_buffer::nb_qtype when the buffer operation is initiated.

Definition at line 275 of file lnet_core_types.h.

◆ cb_upvt

void* cb_upvt

Core user space private

Definition at line 320 of file lnet_core_types.h.


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