History log of /dpdk/doc/api/doxy-api-index.md (Results 1 – 25 of 142)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b5458e2c 06-Dec-2024 Konstantin Ananyev <konstantin.ananyev@huawei.com>

ring: introduce staged ordered ring

Staged-Ordered-Ring (SORING) provides a SW abstraction for 'ordered' queues
with multiple processing 'stages'.
It is based on conventional DPDK rte_ring, re-uses

ring: introduce staged ordered ring

Staged-Ordered-Ring (SORING) provides a SW abstraction for 'ordered' queues
with multiple processing 'stages'.
It is based on conventional DPDK rte_ring, re-uses many of its concepts,
and even substantial part of its code.
It can be viewed as an 'extension' of rte_ring functionality.
In particular, main SORING properties:
- circular ring buffer with fixed size objects
- producer, consumer plus multiple processing stages in the middle.
- allows to split objects processing into multiple stages.
- objects remain in the same ring while moving from one stage to the other,
initial order is preserved, no extra copying needed.
- preserves the ingress order of objects within the queue across multiple
stages, i.e.:
at the same stage multiple threads can process objects from the ring in
any order, but for the next stage objects will always appear in the
original order.
- each stage (and producer/consumer) can be served by single and/or
multiple threads.
- number of stages, size and number of objects in the ring are
configurable at ring initialization time.

Data-path API provides four main operations:
- enqueue/dequeue works in the same manner as for conventional rte_ring,
all rte_ring synchronization types are supported.
- acquire/release - for each stage there is an acquire (start) and
release (finish) operation.
after some objects are 'acquired' - given thread can safely assume that
it has exclusive possession of these objects till 'release' for them is
invoked.
Note that right now user has to release exactly the same number of
objects that was acquired before.
After 'release', objects can be 'acquired' by next stage and/or dequeued
by the consumer (in case of last stage).

Expected use-case: applications that uses pipeline model
(probably with multiple stages) for packet processing, when preserving
incoming packet order is important. I.E.: IPsec processing, etc.

Signed-off-by: Eimear Morrissey <eimear.morrissey@huawei.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>

show more ...


Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2
# f30a1bbd 28-Oct-2024 Sivaprasad Tummala <sivaprasad.tummala@amd.com>

power: rename files for CPU frequency management

This patch renames the existing core power library source files
from rte_power.* to rte_power_cpufreq.* for better clarity

Signed-off-by: Sivaprasad

power: rename files for CPU frequency management

This patch renames the existing core power library source files
from rte_power.* to rte_power_cpufreq.* for better clarity

Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>

show more ...


Revision tags: v24.11-rc1
# 7cfcce8e 15-Oct-2024 Jun Yang <jun.yang@nxp.com>

dma/dpaa2: move QDMA header to common driver

Include rte_pmd_dpaax_qdma.h instead of rte_pmd_dpaa2_qdma.h
and change code accordingly.

Signed-off-by: Jun Yang <jun.yang@nxp.com>


# 5bce9bed 25-Oct-2024 Mattias Rönnblom <mattias.ronnblom@ericsson.com>

eal: add static per-lcore memory allocation facility

Introduce DPDK per-lcore id variables, or lcore variables for short.

An lcore variable has one value for every current and future lcore
id-equip

eal: add static per-lcore memory allocation facility

Introduce DPDK per-lcore id variables, or lcore variables for short.

An lcore variable has one value for every current and future lcore
id-equipped thread.

The primary <rte_lcore_var.h> use case is for statically allocating
small, frequently-accessed data structures, for which one instance
should exist for each lcore.

Lcore variables are similar to thread-local storage (TLS, e.g., C11
_Thread_local), but decoupling the values' life time with that of the
threads.

Lcore variables are also similar in terms of functionality provided by
FreeBSD kernel's DPCPU_*() family of macros and the associated
build-time machinery. DPCPU uses linker scripts, which effectively
prevents the reuse of its, otherwise seemingly viable, approach.

The currently-prevailing way to solve the same problem as lcore
variables is to keep a module's per-lcore data as RTE_MAX_LCORE-sized
array of cache-aligned, RTE_CACHE_GUARDed structs. The benefit of
lcore variables over this approach is that data related to the same
lcore now is close (spatially, in memory), rather than data used by
the same module, which in turn avoid excessive use of padding,
polluting caches with unused data.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>

show more ...


# 1a2b549b 18-Oct-2024 Robin Jarry <rjarry@redhat.com>

net: split IPv4 and IPv6 symbols in separate headers

Split IPv4 and IPv6 symbols in two separate headers. rte_ip4.h and
rte_ip6.h, respectively.

Update doxygen index accordingly.

Include rte_ip4.h

net: split IPv4 and IPv6 symbols in separate headers

Split IPv4 and IPv6 symbols in two separate headers. rte_ip4.h and
rte_ip6.h, respectively.

Update doxygen index accordingly.

Include rte_ip4.h and rte_ip6.h in rte_ip.h for backward compatibility
in applications.

Signed-off-by: Robin Jarry <rjarry@redhat.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>

show more ...


# 4149b1fb 18-Oct-2024 Robin Jarry <rjarry@redhat.com>

net: split raw checksum functions in separate header

The checksum functions are used by both ipv4 and ipv6 functions. In
preparation of moving ipv6 symbols to a new header, move the checksum
related

net: split raw checksum functions in separate header

The checksum functions are used by both ipv4 and ipv6 functions. In
preparation of moving ipv6 symbols to a new header, move the checksum
related symbols to another dedicated header.

Update doxygen index accordingly.

Signed-off-by: Robin Jarry <rjarry@redhat.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>

show more ...


Revision tags: v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2
# 7f932642 12-Jul-2024 Juraj Linkeš <juraj.linkes@pantheon.tech>

dts: add API doc generation

The tool used to generate DTS API docs is Sphinx, which is already in
use in DPDK. The same configuration is used to preserve style with one
DTS-specific configuration (s

dts: add API doc generation

The tool used to generate DTS API docs is Sphinx, which is already in
use in DPDK. The same configuration is used to preserve style with one
DTS-specific configuration (so that the DPDK docs are unchanged) that
modifies how the sidebar displays the content. There's other Sphinx
configuration related to Python docstrings which doesn't affect DPDK doc
build. All new configuration is in a conditional block, applied only
when DTS API docs are built to not interfere with DPDK doc build.

Sphinx generates the documentation from Python docstrings. The docstring
format is the Google format [0] which requires the sphinx.ext.napoleon
extension. The other extension, sphinx.ext.intersphinx, enables linking
to objects in external documentations, such as the Python documentation.

There is one requirement for building DTS docs - the same Python version
as DTS or higher, because Sphinx's autodoc extension imports the code.

The dependencies needed to import the code don't have to be satisfied,
as the autodoc extension allows us to mock the imports. The missing
packages are taken from the DTS pyproject.toml file.

And finally, the DTS API docs can be accessed from the DPDK API doxygen
page.

[0] https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Dean Marx <dmarx@iol.unh.edu>
Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>

show more ...


# 99a11976 09-Aug-2024 Mattias Rönnblom <mattias.ronnblom@ericsson.com>

eal: add bitset type

Introduce a set of functions and macros that operate on sets of bits,
kept in arrays of 64-bit words.

RTE bitset is designed for bitsets which are larger than what fits in
a si

eal: add bitset type

Introduce a set of functions and macros that operate on sets of bits,
kept in arrays of 64-bit words.

RTE bitset is designed for bitsets which are larger than what fits in
a single machine word (i.e., 64 bits). For very large bitsets,
the <rte_bitmap.h> API may be a more appropriate choice.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

show more ...


Revision tags: v24.07-rc1
# 57cf5b6d 30-Apr-2024 Ferruh Yigit <ferruh.yigit@amd.com>

doc: add power uncore in API index

Add missing power uncore API documentation.

Fixes: ac1edcb6621a ("power: refactor uncore power management API")
Cc: stable@dpdk.org

Reported-by: Vipin Varghese <

doc: add power uncore in API index

Add missing power uncore API documentation.

Fixes: ac1edcb6621a ("power: refactor uncore power management API")
Cc: stable@dpdk.org

Reported-by: Vipin Varghese <vipin.varghese@amd.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 077596a4 11-Jun-2024 Paul Szczepanek <paul.szczepanek@arm.com>

ptr_compress: add pointer compression library

Add a new utility header for compressing pointers. The provided
functions can store pointers as 32-bit or 16-bit offsets.

The compression takes advanta

ptr_compress: add pointer compression library

Add a new utility header for compressing pointers. The provided
functions can store pointers as 32-bit or 16-bit offsets.

The compression takes advantage of the fact that pointers are
usually located in a limited memory region (like a mempool).
We can compress them by converting them to offsets from a base
memory address. Offsets can be stored in fewer bytes (dictated
by the memory region size and alignment of the pointer).
For example: an 8 byte aligned pointer which is part of a 32GB
memory pool can be stored in 4 bytes.

Suggested-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Signed-off-by: Paul Szczepanek <paul.szczepanek@arm.com>
Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Nathan Brown <nathan.brown@arm.com>
Reviewed-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>

show more ...


Revision tags: v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1
# 26bb5c4d 17-Jan-2024 Anoob Joseph <anoobj@marvell.com>

crypto/cnxk: add CPT raw submission PMD API

Added PMD APIs to allow applications to directly
submit CPT instructions to hardware.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Go

crypto/cnxk: add CPT raw submission PMD API

Added PMD APIs to allow applications to directly
submit CPT instructions to hardware.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>

show more ...


# e3e579f5 26-Jan-2024 Chengwen Feng <fengchengwen@huawei.com>

argparse: introduce argparse library

Introduce argparse library (which was inspired by the thread [1]).
This commit provides public API and doc.

[1] https://patchwork.dpdk.org/project/dpdk/patch/20

argparse: introduce argparse library

Introduce argparse library (which was inspired by the thread [1]).
This commit provides public API and doc.

[1] https://patchwork.dpdk.org/project/dpdk/patch/20231105054539.22303-2-fengchengwen@huawei.com/

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


Revision tags: v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2, v23.11-rc1
# 58fbbcca 28-Sep-2023 Rakesh Kudurumalla <rkudurumalla@marvell.com>

node: add IPv4 local node to handle local packets

Local or Host destined pkts can be redirected IPv4 local node
using IP4 Lookup node entries with prefix of 32 and be redirected
to this IP4 local no

node: add IPv4 local node to handle local packets

Local or Host destined pkts can be redirected IPv4 local node
using IP4 Lookup node entries with prefix of 32 and be redirected
to this IP4 local node for further processing.

Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>

show more ...


# ecca8a0b 12-Oct-2023 Mattias Rönnblom <mattias.ronnblom@ericsson.com>

lib: introduce dispatcher library

The purpose of the dispatcher library is to help reduce coupling in an
Eventdev-based DPDK application.

In addition, the dispatcher also provides a convenient and

lib: introduce dispatcher library

The purpose of the dispatcher library is to help reduce coupling in an
Eventdev-based DPDK application.

In addition, the dispatcher also provides a convenient and flexible
way for the application to use service cores for application-level
processing.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Tested-by: Peter Nilsson <peter.j.nilsson@ericsson.com>
Reviewed-by: Heng Wang <heng.wang@ericsson.com>

show more ...


# 66a30a29 29-Sep-2023 Amit Prakash Shukla <amitprakashs@marvell.com>

eventdev/dma: introduce DMA adapter

Introduce event dma adapter interface to transfer packets between
dma device and event device.

Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
Acke

eventdev/dma: introduce DMA adapter

Introduce event dma adapter interface to transfer packets between
dma device and event device.

Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>

show more ...


# 03714a41 29-Aug-2023 Pavan Nikhilesh <pbhagavatula@marvell.com>

event/cnxk: add event port flow context API

Add event port flow context status APIs.

rte_pmd_cnxk_eventdev_wait_head() - Allows application to wait
for the flow context currently held by the event

event/cnxk: add event port flow context API

Add event port flow context status APIs.

rte_pmd_cnxk_eventdev_wait_head() - Allows application to wait
for the flow context currently held by the event port to become
the HEAD of the flow chain.

rte_pmd_cnxk_eventdev_is_head() - Allows application to test if
the flow context currently held by the event port is the HEAD
of the flow chain.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>

show more ...


# cc11f659 03-Oct-2023 Akhil Goyal <gakhil@marvell.com>

net: add headers for TLS/DTLS packets

Added TLS and DTLS packet headers for L4 security applications.

Signed-off-by: Akhil Goyal <gakhil@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com

net: add headers for TLS/DTLS packets

Added TLS and DTLS packet headers for L4 security applications.

Signed-off-by: Akhil Goyal <gakhil@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Vidya Sagar Velumuri <vvelumuri@marvell.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>

show more ...


# f78c100b 01-Aug-2023 Stephen Hemminger <stephen@networkplumber.org>

remove KNI

The KNI driver had design flaws such as calling userspace with kernel
mutex held that made it prone to deadlock. The design also introduced
security risks because the kernel driver truste

remove KNI

The KNI driver had design flaws such as calling userspace with kernel
mutex held that made it prone to deadlock. The design also introduced
security risks because the kernel driver trusted the userspace
(DPDK) kni interface. The kernel driver was never reviewed by
the upstream kernel community and would never have been accepted.

And since the Linux kernel API is not stable, it was a continual
source of maintenance issues especially with distribution kernels.

There are better ways to inject packets into the kernel such as
virtio_user, tap and XDP drivers. All of these do not need out of
tree kernel drivers.

The deprecation was announced in 22.11 release (see links for the
the techboard discussions); and users were directed to alternatives
there.

Link: https://mails.dpdk.org/archives/dev/2021-January/197077.html
Link: https://mails.dpdk.org/archives/dev/2022-June/243596.html

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

show more ...


# 80a08138 01-Aug-2023 Stephen Hemminger <stephen@networkplumber.org>

remove flow classify library

The flow_classify library was marked for removal last year
because there was no maintainer and the functionality is
limited.

Signed-off-by: Stephen Hemminger <stephen@n

remove flow classify library

The flow_classify library was marked for removal last year
because there was no maintainer and the functionality is
limited.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

show more ...


Revision tags: v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2
# 12aa8a16 20-Jun-2023 Jerin Jacob <jerinj@marvell.com>

doc: add IPv6 lookup node to API index

Add ip6 node public API to doxygen list.

Fixes: 20365d793e45 ("node: add IPv6 lookup node")

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Sunil K

doc: add IPv6 lookup node to API index

Add ip6 node public API to doxygen list.

Fixes: 20365d793e45 ("node: add IPv6 lookup node")

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Sunil Kumar Kori <skori@marvell.com>

show more ...


# a2bc0584 14-Jun-2023 Zhirun Yan <zhirun.yan@intel.com>

graph: split graph worker into common and default model

To support multiple graph worker model, split graph into common
and default. Naming the current walk function as rte_graph_model_rtc
cause the

graph: split graph worker into common and default model

To support multiple graph worker model, split graph into common
and default. Naming the current walk function as rte_graph_model_rtc
cause the default model is RTC(Run-to-completion).

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>

show more ...


# 421073c0 14-Jun-2023 Zhirun Yan <zhirun.yan@intel.com>

graph: rename rte graph worker header as common

Rename rte_graph_work.h to rte_graph_work_common.h for supporting
multiple graph worker model.

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Sig

graph: rename rte graph worker header as common

Rename rte_graph_work.h to rte_graph_work_common.h for supporting
multiple graph worker model.

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>

show more ...


Revision tags: v23.07-rc1
# 1d0f0957 23-May-2023 Ashwin Sekhar T K <asekhar@marvell.com>

mempool/cnxk: add API for exchanging mbuf between pools

Add the following cnxk mempool PMD APIs to facilitate exchanging mbufs
between pools.
- rte_pmd_cnxk_mempool_is_hwpool() - Allows user to chec

mempool/cnxk: add API for exchanging mbuf between pools

Add the following cnxk mempool PMD APIs to facilitate exchanging mbufs
between pools.
- rte_pmd_cnxk_mempool_is_hwpool() - Allows user to check whether a pool
is hwpool or not.
- rte_pmd_cnxk_mempool_range_check_disable() - Disables range checking on
any rte_mempool.
- rte_pmd_cnxk_mempool_mbuf_exchange() - Exchanges mbufs between any two
rte_mempool where the range check is disabled.

Signed-off-by: Ashwin Sekhar T K <asekhar@marvell.com>

show more ...


# a702bd09 30-May-2023 Anoob Joseph <anoobj@marvell.com>

lib: add PDCP protocol

Add Packet Data Convergence Protocol (PDCP) processing library.

The library is similar to lib_ipsec which provides IPsec processing
capabilities in DPDK.

PDCP would involve

lib: add PDCP protocol

Add Packet Data Convergence Protocol (PDCP) processing library.

The library is similar to lib_ipsec which provides IPsec processing
capabilities in DPDK.

PDCP would involve roughly the following options,
1. Transfer of user plane data
2. Transfer of control plane data
3. Header compression
4. Uplink data compression
5. Ciphering and integrity protection

PDCP library provides following control path APIs that is used to
configure various PDCP entities,
1. rte_pdcp_entity_establish()
2. rte_pdcp_entity_suspend()
3. rte_pdcp_entity_release()

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>

show more ...


# 895ec77b 30-May-2023 Volodymyr Fialko <vfialko@marvell.com>

net: add PDCP header

Add PDCP protocol header to be used for supporting
PDCP protocol processing.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kiran Kumar K <kirankumark@marvell.

net: add PDCP header

Add PDCP protocol header to be used for supporting
PDCP protocol processing.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>

show more ...


123456