rte_dma_op(3)

πŸ“¦
version 25.11.3 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– rte_dma_op(3) πŸ’–

okay bestie, pull up a chair, we're doing a DPDK manpage and honestly? this one's kinda cute. it lives in the Library Functions Manual, it's called rte_dma_op, and it's basically the little to-do card you hand to your DMA device when you want it to move memory around like it's the main character. ✨


🌸 NAME 🌸

rte_dma_op β€” the struct, the icon, the moment. no cap.


πŸŽ€ SYNOPSIS πŸŽ€

#include <rte_dmadev.h>

✨ Data Fields ✨

here's the whole squad, in order, exactly as they appear:

uint64_t flags
struct rte_mempool * op_mp
enum rte_dma_status_code status
uint32_t rsvd
uint64_t impl_opaque [2]
uint64_t user_meta
uint64_t event_meta
int16_t dma_dev_id
uint16_t vchan
uint16_t nb_src
uint16_t nb_dst
struct rte_dma_sge src_dst_seg []

πŸ’… Detailed Description πŸ’…

so like. this is a structure used to hold event based DMA operation entry. that's the whole vibe. every single piece of information required for a DMA transfer shall be populated in a "struct rte_dma_op" instance. all of it. don't leave crumbs, bestie. πŸ“

it's defined at line 1057 of the file rte_dmadev.h.


πŸ¦‹ Field Documentation πŸ¦‹

uint64_t flags

Flags related to the operation. that's it, that's the field.

See also: RTE_DMA_OP_FLAG_*

defined at line 1061 of the file rte_dmadev.h.

struct rte_mempool* op_mp

Mempool from which op is allocated. where the op came from, basically its hometown. 🏑

defined at line 1063 of the file rte_dmadev.h.

enum rte_dma_status_code status

Status code for this operation. the receipts, fr fr.

defined at line 1065 of the file rte_dmadev.h.

uint32_t rsvd

Reserved for future use. leave it alone, it's saving that seat for future-us. πŸ™ˆ

defined at line 1067 of the file rte_dmadev.h.

uint64_t impl_opaque[2]

Implementation-specific opaque data. a DMA device implementation uses this field to hold implementation-specific values to share between dequeue and enqueue operations.

⚠️ the application should NOT modify this field. hands off, bestie. that's the device's business. πŸ’€

defined at line 1074 of the file rte_dmadev.h.

uint64_t user_meta

Memory to store user specific metadata. that's your little diary entry, and the deal is: the DMA device implementation should not modify this area. reciprocal boundaries, we love to see it. 🫢

defined at line 1078 of the file rte_dmadev.h.

uint64_t event_meta

Event metadata of DMA completion event. here's when it shows up:

used when RTE_EVENT_DMA_ADAPTER_CAP_INTERNAL_PORT_VCHAN_EV_BIND is not supported in OP_NEW mode.

See also:

  • rte_event_dma_adapter_mode::RTE_EVENT_DMA_ADAPTER_OP_NEW
  • RTE_EVENT_DMA_ADAPTER_CAP_INTERNAL_PORT_VCHAN_EV_BIND

also used when RTE_EVENT_DMA_ADAPTER_CAP_INTERNAL_PORT_OP_FWD is not supported in OP_FWD mode.

See also:

  • rte_event_dma_adapter_mode::RTE_EVENT_DMA_ADAPTER_OP_FORWARD
  • RTE_EVENT_DMA_ADAPTER_CAP_INTERNAL_PORT_OP_FWD
  • struct rte_event::event

defined at line 1092 of the file rte_dmadev.h.

int16_t dma_dev_id

DMA device ID to be used with OP_FORWARD mode. like, which device is picking up the phone. πŸ“ž

See also: rte_event_dma_adapter_mode::RTE_EVENT_DMA_ADAPTER_OP_FORWARD

defined at line 1096 of the file rte_dmadev.h.

uint16_t vchan

DMA vchan ID to be used with OP_FORWARD mode.

See also: rte_event_dma_adapter_mode::RTE_EVENT_DMA_ADAPTER_OP_FORWARD

defined at line 1100 of the file rte_dmadev.h.

uint16_t nb_src

Number of source segments. counting the sources, one by one. πŸ”’

defined at line 1102 of the file rte_dmadev.h.

uint16_t nb_dst

Number of destination segments. and now the destinations.

defined at line 1104 of the file rte_dmadev.h.

struct rte_dma_sge src_dst_seg[]

Source and destination segments. the actual little travel itinerary for your data. 🌈

defined at line 1106 of the file rte_dmadev.h.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for DPDK from the source code. so like, not a human author. the robots did this one. iconic of them honestly. πŸ€–πŸ’–


aaaand that's the whole page, bestie!! πŸ’… this absolute queen of a doc is DPDK Version 25.11.3 and yes, rte_dma_op(3) is the name of the game. go populate those structs responsibly. periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from