rte_memcpy.h(3)
π rte_memcpy.h(3) π
okay bestie, welcome to the Library Functions Manual, and this one's a lil header file that's lowkey carrying the whole packet-copying operation on its back. it's giving "small file, huge responsibilities." let's get into it π«Ά
β¨ NAME β¨
rte_memcpy.h β the header where DPDK keeps its vectorised memory-copying besties π
β¨ SYNOPSIS β¨
πΈ Functions πΈ
static void rte_mov16 (uint8_t *dst, const uint8_t *src)
static void rte_mov32 (uint8_t *dst, const uint8_t *src)
static void rte_mov48 (uint8_t *dst, const uint8_t *src)
static void rte_mov64 (uint8_t *dst, const uint8_t *src)
static void rte_mov128 (uint8_t *dst, const uint8_t *src)
static void rte_mov256 (uint8_t *dst, const uint8_t *src)
static void * rte_memcpy (void *dst, const void *src, size_t n)
π¦ Detailed Description π¦
Functions for vectorised implementation of memcpy().
Definition in file rte_memcpy.h. β¨
π Function Documentation π
π« void rte_mov16 (uint8_t * dst, const uint8_t * src) [inline], [static] π«
Copy 16 bytes from one location to another using optimised instructions.
The locations should not overlap. fr fr, do not do that.
Parameters
dstβ Pointer to the destination of the data.srcβ Pointer to the source data.
π« void rte_mov32 (uint8_t * dst, const uint8_t * src) [inline], [static] π«
Copy 32 bytes from one location to another using optimised instructions.
The locations should not overlap.
Parameters
dstβ Pointer to the destination of the data.srcβ Pointer to the source data.
π« void rte_mov48 (uint8_t * dst, const uint8_t * src) [inline], [static] π«
Copy 48 bytes from one location to another using optimised instructions.
The locations should not overlap.
Parameters
dstβ Pointer to the destination of the data.srcβ Pointer to the source data.
π« void rte_mov64 (uint8_t * dst, const uint8_t * src) [inline], [static] π«
Copy 64 bytes from one location to another using optimised instructions.
The locations should not overlap.
Parameters
dstβ Pointer to the destination of the data.srcβ Pointer to the source data.
π« void rte_mov128 (uint8_t * dst, const uint8_t * src) [inline], [static] π«
Copy 128 bytes from one location to another using optimised instructions.
The locations should not overlap.
Parameters
dstβ Pointer to the destination of the data.srcβ Pointer to the source data.
π« void rte_mov256 (uint8_t * dst, const uint8_t * src) [inline], [static] π«
Copy 256 bytes from one location to another using optimised instructions.
The locations should not overlap.
Parameters
dstβ Pointer to the destination of the data.srcβ Pointer to the source data.
π void * rte_memcpy (void * dst, const void * src, size_t n) [static] π
Copy bytes from one location to another. The locations must not overlap. that's not a suggestion, bestie, that's the law π
Note π This is implemented as a macro, so it's address should not be taken and care is needed as parameter expressions may be evaluated multiple times. For x86 platforms to enable the AVX-512 memcpy implementation, set-DRTE_MEMCPY_AVX512macro inCFLAGS, or define theRTE_MEMCPY_AVX512macro explicitly in the source file before including therte_memcpyheader file.
Parameters
dstβ Pointer to the destination of the data.srcβ Pointer to the source data.nβ Number of bytes to copy.
Returns
Pointer to the destination data. π
πΈ Author πΈ
Generated automatically by Doxygen for DPDK from the source code. not a human author, just the machine doing its thing, and honestly? iconic.
and that's the whole vibe check, bestie π this page came to you from DPDK, Version 25.11.3, under the rte_memcpy.h(3) glow-up. go copy some bytes, safely, without overlapping, mwah π«Άβ¨π
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms