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
ba4a55c
devtools: check patch from stdin only if nothing else
alialnu 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
19 changes: 11 additions & 8 deletions devtools/checkpatches.sh
Original file line number Diff line number Diff line change
Expand Up @@ -421,8 +421,8 @@ check_release_notes() { # <patch>
grep -v $current_rel_notes
}

number=0
range='origin/main..'
number=
range=
quiet=false
verbose=false
while getopts hn:qr:v ARG ; do
Expand Down Expand Up @@ -558,17 +558,20 @@ if [ -n "$1" ] ; then
for patch in "$@" ; do
check "$patch" ''
done
elif [ ! -t 0 ] ; then # stdin
check '' ''
else
if [ $number -eq 0 ] ; then
commits=$(git rev-list --reverse $range)
else
elif [ -n "$number" ] || [ -n "$range" ] || [ -t 0 ]; then
if [ -n "$number" ] ; then
commits=$(git rev-list --reverse --max-count=$number HEAD)
else
if [ -z "$range" ] ; then
range='origin/main..' # default
fi
commits=$(git rev-list --reverse $range)
fi
for commit in $commits ; do
check '' $commit
done
else # stdin
check '' ''
fi
pass=$(($total - $status))
$quiet || printf '\n%d/%d valid patch' $pass $total
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

Minor wording fix in pyelftools note

In the note, “Python 3.11 being the version at type of writing” should be “version at time of writing”.

🤖 Prompt for AI Agents
In doc/guides/freebsd_gsg/build_dpdk.rst around lines 19 to 29, the note uses
the incorrect word "type" in the phrase "version at type of writing"; replace
"type" with "time" so the sentence reads "Python 3.11 being the version at time
of writing" to correct the wording.

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.

Comment on lines 90 to +105
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

Clarify Linux uncore support status between note and new section

The note still says “DPDK uncore support on Linux is work in progress”, but the new Uncore section immediately below states that rte_power_uncore is available from 25.03 and “tested and validated” on specific SoCs. Consider rewording the note to match the current status (e.g., mark it as available but limited to certain platforms / still evolving) so the guidance is self-consistent.


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