Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
0e42784
doc: add limitations of synchronous flow API with HWS
MaayanKashani1 Nov 5, 2025
fe433b5
doc: update recommended versions for ice and i40e
hailinxx Nov 24, 2025
a223460
net/mlx5: fix flex flow item header length
viacheslavo Nov 18, 2025
cc12189
net/mlx5: revert update of flow engine configuration
raslandarawsheh Nov 24, 2025
cd6519d
doc: update flow count requirements in mlx5 guide
sodar Nov 24, 2025
79375d1
examples/l3fwd: add Tx burst size configuration option
sivapt12 Nov 6, 2025
2001c8e
examples/l3fwd: force link speed
huangdengdui1 Aug 27, 2025
a61cd1c
examples/l3fwd-power: force link speed
huangdengdui1 Aug 27, 2025
c97d223
examples/server_node_efd: fix format overflow
shemminger Nov 20, 2025
6605265
examples/vdpa: fix format overflow
shemminger Nov 20, 2025
eb2c85d
examples/ip_reassembly: add check before formatting name
shemminger Nov 20, 2025
03a8f97
examples: enable format truncation warning
shemminger Nov 20, 2025
9cd1dcc
drivers/net: fix Tx packet prepare
tmonjalo Nov 19, 2025
899e7bb
doc: add Pollara 400 device in ionic guide
andrewb24 Nov 20, 2025
020d6f8
doc: update AMD EPYC guide
vipinamd Sep 22, 2025
7b2b79d
doc: update build instructions in Windows guide
Nov 12, 2025
da1cd5c
doc: fix note in FreeBSD guide
tmonjalo Oct 31, 2025
75204e8
doc: update Python version in FreeBSD guide
shemminger Nov 3, 2025
9fcc10e
doc: remove KNI diagrams
shemminger Aug 14, 2025
83e611c
doc: build separately with Meson install tag
bluca Dec 23, 2024
0f51c2a
doc: add tested platforms with NVIDIA NICs for 25.11
raslandarawsheh Nov 20, 2025
1142310
doc: add tested Intel platforms with Intel NICs for 25.11
yujian4x Nov 24, 2025
2815d50
version: 25.11-rc4
tmonjalo Nov 25, 2025
cde0d52
net/nbl: add dummy VLAN offload configuration
Dimon-Zhao Nov 24, 2025
fb50c47
net/nbl: fix Rx/Tx stats concurrency
Dimon-Zhao Nov 26, 2025
174db9f
doc: update release notes for 25.11
john-mcnamara-intel Nov 27, 2025
bbee934
app/testpmd: fix inner UDP checksum offload
fengchengwen Nov 17, 2025
c94a9de
test/debug: fix IOVA mode on PPC64 without huge pages
bluca Nov 25, 2025
f4ef899
bus/fslmc: fix const pointer in device name parsing
shemminger Nov 25, 2025
3e48adc
event/cnxk: fix Rx offload flags
PavanNikhilesh Nov 26, 2025
82d9cc9
net/txgbe: fix mailbox interface calls
Nov 26, 2025
07f93e7
net/iavf: revert check for PF Rx timestamp support
bruce-richardson Nov 26, 2025
d4695b3
maintainers: update for BPF test coverage
tmonjalo Nov 24, 2025
59a316c
test/latencystats: loosen requirements on measured latency
shemminger Nov 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1907,6 +1907,7 @@ M: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
F: lib/bpf/
F: examples/bpf/
F: app/test/test_bpf.c
F: app/test/bpf/
F: app/test-pmd/bpf_cmd.*
F: doc/guides/prog_guide/bpf_lib.rst

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
25.11.0-rc3
25.11.0-rc4
26 changes: 19 additions & 7 deletions app/test-pmd/csumonly.c
Original file line number Diff line number Diff line change
Expand Up @@ -526,29 +526,41 @@ get_tunnel_ol_flags_by_ptype(uint32_t ptype)
}

static uint8_t
parse_l4_proto(const struct rte_mbuf *m, uint32_t off, uint32_t ptype, bool parse_inner)
parse_l4_proto(const struct rte_mbuf *m, uint32_t off, uint32_t ptype, bool in_tunnel)
{
uint32_t align_ptype = ptype;
int frag = 0, ret;

if (RTE_ETH_IS_IPV4_HDR(ptype)) {
if (in_tunnel) {
uint32_t mask_ptype = ptype & RTE_PTYPE_INNER_L3_MASK;
if (mask_ptype == RTE_PTYPE_INNER_L3_IPV4)
align_ptype = RTE_PTYPE_L3_IPV4;
else if (mask_ptype == RTE_PTYPE_INNER_L3_IPV4_EXT)
align_ptype = RTE_PTYPE_L3_IPV4_EXT;
else if (mask_ptype == RTE_PTYPE_INNER_L3_IPV6)
align_ptype = RTE_PTYPE_L3_IPV6;
else if (mask_ptype == RTE_PTYPE_INNER_L3_IPV6_EXT)
align_ptype = RTE_PTYPE_L3_IPV6_EXT;
else
align_ptype = 0;
}

if (RTE_ETH_IS_IPV4_HDR(align_ptype)) {
const struct rte_ipv4_hdr *ip4h;
struct rte_ipv4_hdr ip4h_copy;
ip4h = rte_pktmbuf_read(m, off, sizeof(*ip4h), &ip4h_copy);
if (unlikely(ip4h == NULL))
return 0;

return ip4h->next_proto_id;
} else if (RTE_ETH_IS_IPV6_HDR(ptype)) {
} else if (RTE_ETH_IS_IPV6_HDR(align_ptype)) {
const struct rte_ipv6_hdr *ip6h;
struct rte_ipv6_hdr ip6h_copy;
ip6h = rte_pktmbuf_read(m, off, sizeof(*ip6h), &ip6h_copy);
if (unlikely(ip6h == NULL))
return 0;

if (!parse_inner && (ptype & RTE_PTYPE_L3_MASK) != RTE_PTYPE_L3_IPV6_EXT)
return ip6h->proto;

if (parse_inner && (ptype & RTE_PTYPE_INNER_L3_MASK) != RTE_PTYPE_INNER_L3_IPV6_EXT)
if ((align_ptype & RTE_PTYPE_L3_MASK) != RTE_PTYPE_L3_IPV6_EXT)
return ip6h->proto;

off += sizeof(struct rte_ipv6_hdr);
Expand Down
9 changes: 8 additions & 1 deletion app/test/test_debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ test_debug(void)
* ==========
*/

static const char *test_args[7];
static const char *test_args[8];

int
test_panic(void)
Expand Down Expand Up @@ -158,10 +158,17 @@ test_debug(void)
test_args[4] = "";
test_args[5] = "";
test_args[6] = "";
test_args[7] = "";
} else {
test_args[4] = "--no-huge";
test_args[5] = "-m";
test_args[6] = "2048";
#ifdef RTE_ARCH_PPC_64
/* iova=pa is the default, but fails on ppc64 with --no-huge */
test_args[7] = "--iova-mode=va";
#else
test_args[7] = "";
#endif
}

rte_dump_stack();
Expand Down
32 changes: 17 additions & 15 deletions app/test/test_latencystats.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,6 @@ static void test_latency_ring_free(void)

static int test_latency_packet_forward(void)
{
unsigned int i;
int ret;
struct rte_mbuf *pbuf[LATENCY_NUM_PACKETS] = { };
struct rte_mempool *mp;
Expand Down Expand Up @@ -184,23 +183,26 @@ static int test_latency_packet_forward(void)
ret = rte_latencystats_get(values, NUM_STATS);
TEST_ASSERT(ret == NUM_STATS, "Test failed to get results after forwarding");

for (i = 0; i < NUM_STATS; i++) {
uint16_t k = values[i].key;

printf("%s = %"PRIu64"\n",
names[k].name, values[i].value);
}
rte_eth_dev_stop(portid);
test_put_mbuf_to_pool(mp, pbuf);

TEST_ASSERT(values[4].value > 0, "No samples taken");
TEST_ASSERT(values[0].value > 0, "Min latency should not be zero");
TEST_ASSERT(values[1].value > 0, "Avg latency should not be zero");
TEST_ASSERT(values[2].value > 0, "Max latency should not be zero");
TEST_ASSERT(values[0].value < values[1].value, "Min latency > Avg latency");
TEST_ASSERT(values[0].value < values[2].value, "Min latency > Max latency");
TEST_ASSERT(values[1].value < values[2].value, "Avg latency > Max latency");

rte_eth_dev_stop(portid);
test_put_mbuf_to_pool(mp, pbuf);
/*
* Test maybe run in emulated environment where TSC is very coarse.
* Therefore can't assume that min/max/avg not zero.
* But we can check that Min <= Avg <= Max.
*/

TEST_ASSERT(values[0].value <= values[1].value,
"Min latency %"PRIu64" > Avg latency %"PRIu64,
values[0].value, values[1].value);
TEST_ASSERT(values[0].value <= values[2].value,
"Min latency %"PRIu64" > Max latency %"PRIu64,
values[0].value, values[2].value);
TEST_ASSERT(values[1].value <= values[2].value,
"Avg latency %"PRIu64 "> Max latency %"PRIu64,
values[1].value, values[2].value);

return (ret >= 0) ? TEST_SUCCESS : TEST_FAILED;
}
Expand Down
3 changes: 3 additions & 0 deletions doc/api/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ example = custom_target('examples.dox',
depfile: 'examples.dox.d',
install: get_option('enable_docs'),
install_dir: htmldir,
install_tag: 'doc',
build_by_default: get_option('enable_docs'))

# set up common Doxygen configuration
Expand Down Expand Up @@ -76,6 +77,7 @@ doxy_html_build = custom_target('doxygen-html',
command: [generate_doxygen, '@OUTPUT@', doxygen, '@INPUT@'],
install: get_option('enable_docs'),
install_dir: htmldir,
install_tag: 'doc',
build_by_default: get_option('enable_docs'))

doc_targets += doxy_html_build
Expand All @@ -90,6 +92,7 @@ doxy_man_build = custom_target('doxygen-man',
command: [generate_doxygen, '@OUTPUT@', doxygen, '@INPUT@'],
install: get_option('enable_docs'),
install_dir: get_option('datadir'),
install_tag: 'doc',
build_by_default: get_option('enable_docs'))

doc_targets += doxy_man_build
Expand Down
4 changes: 3 additions & 1 deletion doc/guides/cryptodevs/ionic.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright 2021-2024 Advanced Micro Devices, Inc.
Copyright 2021-2025 Advanced Micro Devices, Inc.
IONIC Crypto Driver
===================
Expand All @@ -16,6 +16,8 @@ It currently supports the below models:
`(pdf) <https://www.amd.com/content/dam/amd/en/documents/pensando-technical-docs/product-briefs/pensando-elba-product-brief.pdf>`__
- DSC3-400 dual-port 400G Distributed Services Card
`(pdf) <https://www.amd.com/content/dam/amd/en/documents/pensando-technical-docs/product-briefs/pensando-dsc3-product-brief.pdf>`__
- Pollara 400 single-port 400G AI NIC
`(pdf) <https://www.amd.com/content/dam/amd/en/documents/pensando-technical-docs/product-briefs/pollara-product-brief.pdf>`__

Please visit the
`AMD Pensando Networking
Expand Down
10 changes: 5 additions & 5 deletions doc/guides/freebsd_gsg/build_dpdk.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@ The following FreeBSD packages are required to build DPDK:
* meson
* ninja
* pkgconf
* py38-pyelftools
* py311-pyelftools

.. note:
.. note::

The specific package for pyelftools is dependent on the version of python in use,
Python 3.8 being the version at type of writing, hence the ``py38`` prefix.
The specific package for pyelftools is dependent on the version of python in use,
Python 3.11 being the version at type of writing, hence the ``py311`` prefix.

These can be installed using (as root)::

pkg install meson pkgconf py38-pyelftools
pkg install meson pkgconf py311-pyelftools

Comment on lines +19 to 29
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix doc typo and consider adding ninja to install example

  • Line 24: “version at type of writing” → should be “time of writing”.
  • The package list (lines 16–19) includes ninja, but the sample pkg install command (line 28) omits it; consider changing to:
    pkg install meson ninja pkgconf py311-pyelftools.
🤖 Prompt for AI Agents
In doc/guides/freebsd_gsg/build_dpdk.rst around lines 19 to 29, fix the typo
“type of writing” to “time of writing” and update the example install command to
include ninja; change the note text accordingly and modify the pkg install
sample to: pkg install meson ninja pkgconf py311-pyelftools so the package list
matches the earlier mention.

To compile the required kernel modules for memory management and working
with physical NIC devices, the kernel sources for FreeBSD also
Expand Down
41 changes: 38 additions & 3 deletions doc/guides/linux_gsg/amd_platform.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ Tuning Guides for AMD EPYC SoC

#. `GENOA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58017-amd-epyc-9004-tg-data-plane-dpdk.pdf>`_

#. `BERGAMO|SIENNA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58310_amd-epyc-8004-tg-data-plane-dpdk.pdf>`_
#. `BERGAMO|SIENA <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58310_amd-epyc-8004-tg-data-plane-dpdk.pdf>`_

#. `TURIN <https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/58468_amd-epyc-9005-tg-data-plane-dpdk.pdf>`_


General Requirements
Expand Down Expand Up @@ -86,10 +88,43 @@ Core
~~~~

AMD EPYC SoC supports CPU power functions via ``rte_power`` API from `23.11 LTS` onwards.
These are tested and validated on MILAN, GENOA, BERGAMO and SIENA
using Linux kernel `6.4` and above with ``amd_pstate`` power driver.
These are tested and validated on MILAN, GENOA, BERGAMO, SIENA and TURIN
using Linux kernel `6.4` and above with ``amd_pstate`` power driver in ``passive`` mode.

.. note::

* Power libraries are supported on Linux only.
* DPDK uncore support on Linux is work in progress.

Uncore
~~~~~~

AMD EPYC SoC support UNCORE power functions via ``rte_power_uncore`` from `25.03` onwards.
These are tested and validated on GENOA, SIENA and TURIN.
Please refer the tuning guides to enable ``HSMP`` and DPDK power management guide.


NIC
---

To use Solarflare x4 on AMD EPYC TURIN, please ensure the following

#. Upgrade Linux or distro version to 6.13 or higher.

#. Disable PCIe power option via ``vfio-pci.disable_idle_d3=1`` in GRUB.

#. Enable the hardware with out-of-tree sfc (contact Solarflare) Linux kernel driver first;
then bind with ``vfio-pci`` next.

#. Please use PMD args ``fw_variant=ultra-low-latency,perf_profile=throughput``.

To use Solarflare x2 on AMD EPYC TURIN, please ensure the following

#. Upgrade Linux or distro version to 6.13 or higher.

#. Disable PCIe power option via ``vfio-pci.disable_idle_d3=1`` in GRUB.

#. Enable the hardware with ``sfc`` Linux Kernel Driver first;
then bind with ``vfio-pci`` next.

#. Please use PMD args ``fw_variant=ultra-low-latency,perf_profile=throughput``.
1 change: 1 addition & 0 deletions doc/guides/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ html_guides = custom_target('html_guides',
depfile: '.html.d',
build_by_default: get_option('enable_docs'),
install: get_option('enable_docs'),
install_tag: 'doc',
install_dir: htmldir)

doc_targets += html_guides
Expand Down
72 changes: 4 additions & 68 deletions doc/guides/nics/i40e.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ For X710/XL710/XXV710,
+--------------+-----------------------+------------------+
| DPDK version | Kernel driver version | Firmware version |
+==============+=======================+==================+
| 25.11 | 2.28.13 | 9.55 |
+--------------+-----------------------+------------------+
| 25.07 | 2.28.7 | 9.54 |
+--------------+-----------------------+------------------+
| 25.03 | 2.27.8 | 9.53 |
Expand All @@ -128,57 +130,15 @@ For X710/XL710/XXV710,
+--------------+-----------------------+------------------+
| 21.11 | 2.17.4 | 8.30 |
+--------------+-----------------------+------------------+
| 21.08 | 2.15.9 | 8.30 |
+--------------+-----------------------+------------------+
| 21.05 | 2.15.9 | 8.30 |
+--------------+-----------------------+------------------+
| 21.02 | 2.14.13 | 8.00 |
+--------------+-----------------------+------------------+
| 20.11 | 2.14.13 | 8.00 |
+--------------+-----------------------+------------------+
| 20.08 | 2.12.6 | 7.30 |
+--------------+-----------------------+------------------+
| 20.05 | 2.11.27 | 7.30 |
+--------------+-----------------------+------------------+
| 20.02 | 2.10.19 | 7.20 |
+--------------+-----------------------+------------------+
| 19.11 | 2.9.21 | 7.00 |
+--------------+-----------------------+------------------+
| 19.08 | 2.8.43 | 7.00 |
+--------------+-----------------------+------------------+
| 19.05 | 2.7.29 | 6.80 |
+--------------+-----------------------+------------------+
| 19.02 | 2.7.26 | 6.80 |
+--------------+-----------------------+------------------+
| 18.11 | 2.4.6 | 6.01 |
+--------------+-----------------------+------------------+
| 18.08 | 2.4.6 | 6.01 |
+--------------+-----------------------+------------------+
| 18.05 | 2.4.6 | 6.01 |
+--------------+-----------------------+------------------+
| 18.02 | 2.4.3 | 6.01 |
+--------------+-----------------------+------------------+
| 17.11 | 2.1.26 | 6.01 |
+--------------+-----------------------+------------------+
| 17.08 | 2.0.19 | 6.01 |
+--------------+-----------------------+------------------+
| 17.05 | 1.5.23 | 5.05 |
+--------------+-----------------------+------------------+
| 17.02 | 1.5.23 | 5.05 |
+--------------+-----------------------+------------------+
| 16.11 | 1.5.23 | 5.05 |
+--------------+-----------------------+------------------+
| 16.07 | 1.4.25 | 5.04 |
+--------------+-----------------------+------------------+
| 16.04 | 1.4.25 | 5.02 |
+--------------+-----------------------+------------------+


For X722,

+--------------+-----------------------+------------------+
| DPDK version | Kernel driver version | Firmware version |
+==============+=======================+==================+
| 25.11 | 2.28.13 | 6.51 |
+--------------+-----------------------+------------------+
| 25.07 | 2.28.7 | 6.50 |
+--------------+-----------------------+------------------+
| 25.03 | 2.27.8 | 6.50 |
Expand All @@ -203,30 +163,6 @@ For X722,
+--------------+-----------------------+------------------+
| 21.11 | 2.17.4 | 5.30 |
+--------------+-----------------------+------------------+
| 21.08 | 2.15.9 | 5.30 |
+--------------+-----------------------+------------------+
| 21.05 | 2.15.9 | 5.30 |
+--------------+-----------------------+------------------+
| 21.02 | 2.14.13 | 5.00 |
+--------------+-----------------------+------------------+
| 20.11 | 2.13.10 | 5.00 |
+--------------+-----------------------+------------------+
| 20.08 | 2.12.6 | 4.11 |
+--------------+-----------------------+------------------+
| 20.05 | 2.11.27 | 4.11 |
+--------------+-----------------------+------------------+
| 20.02 | 2.10.19 | 4.11 |
+--------------+-----------------------+------------------+
| 19.11 | 2.9.21 | 4.10 |
+--------------+-----------------------+------------------+
| 19.08 | 2.9.21 | 4.10 |
+--------------+-----------------------+------------------+
| 19.05 | 2.7.29 | 3.33 |
+--------------+-----------------------+------------------+
| 19.02 | 2.7.26 | 3.33 |
+--------------+-----------------------+------------------+
| 18.11 | 2.4.6 | 3.33 |
+--------------+-----------------------+------------------+


Configuration
Expand Down
13 changes: 4 additions & 9 deletions doc/guides/nics/ice.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,6 @@ For E810,
+-----------+---------------+-----------------+-----------+--------------+-----------+
| DPDK | Kernel Driver | OS Default DDP | COMMS DDP | Wireless DDP | Firmware |
+===========+===============+=================+===========+==============+===========+
| 20.11 | 1.3.2 | 1.3.20 | 1.3.24 | N/A | 2.3 |
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 21.02 | 1.4.11 | 1.3.24 | 1.3.28 | 1.3.4 | 2.4 |
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 21.05 | 1.6.5 | 1.3.26 | 1.3.30 | 1.3.6 | 3.0 |
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 21.08 | 1.7.16 | 1.3.27 | 1.3.31 | 1.3.7 | 3.1 |
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 21.11 | 1.7.16 | 1.3.27 | 1.3.31 | 1.3.7 | 3.1 |
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 22.03 | 1.8.3 | 1.3.28 | 1.3.35 | 1.3.8 | 3.2 |
Expand All @@ -95,6 +87,8 @@ For E810,
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 25.07 | 2.2.8 | 1.3.43 | 1.3.55 | 1.3.23 | 4.8 |
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 25.11 | 2.3.14 | 1.3.43 | 1.3.55 | 1.3.25 | 4.9 |
+-----------+---------------+-----------------+-----------+--------------+-----------+

For E830,

Expand All @@ -103,7 +97,8 @@ For E830,
+===========+===============+=================+===========+==============+===========+
| 25.07 | 2.2.8 | 1.3.43 | 1.3.55 | 1.3.23 | 1.0 |
+-----------+---------------+-----------------+-----------+--------------+-----------+

| 25.11 | 2.3.14 | 1.3.43 | 1.3.55 | 1.3.25 | 1.2 |
+-----------+---------------+-----------------+-----------+--------------+-----------+

Dynamic Device Personalization (DDP) package loading
----------------------------------------------------
Expand Down
Loading