From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [PATCH v11 0/7] net/null: bug fixes and improvements
Date: Mon, 2 Feb 2026 14:16:45 -0800 [thread overview]
Message-ID: <20260202221820.204680-1-stephen@networkplumber.org> (raw)
In-Reply-To: <20260104222523.329760-1-stephen@networkplumber.org>
This series makes several improvements to the null PMD driver and
adds comprehensive unit tests.
The series:
1) Cleans up the info_get callback by removing redundant argument
checks and using proper constants. Also sets min_rx_bufsize to
the configured packet_size, enabling the ethdev layer to reject
undersized mbuf pools.
2) Adds proper validation for numeric devargs (packet_size,
packet_copy, no_rx) using a common helper function that rejects
empty strings, trailing non-numeric characters, and out-of-range
values.
3) Removes redundant argument validation in dev_ops callbacks that
is already performed by the ethdev layer.
4) Adds VLAN insert and strip offload support. The driver advertises
RX VLAN strip and TX VLAN insert capabilities. When VLAN strip is
enabled, received mbufs are marked with the appropriate flags and
a dummy vlan_tci. The vlan_offload_set dev_op is implemented for
runtime toggling via rte_eth_dev_set_vlan_offload().
5) Extends the packet burst generator to support larger packets
by widening parameter types from uint8_t to uint16_t.
6) Adds a comprehensive unit test for the null PMD covering RX/TX,
statistics, custom packet sizes, copy mode, no-RX mode, link
status, device info, RSS, RETA, VLAN strip, VLAN insert, and
multi-threaded TX.
Patches 1, 2, and 3 are marked for stable backport as they fix issues
where invalid mbufs could be generated or invalid arguments silently
accepted.
v11:
- Add VLAN insert and strip offload support to the driver
- Rebase to main
v10:
- Fix mbuf leak in eth_null_copy_tx
v9:
- Consolidated argument validation into a single patch with
common helper function get_unsigned_arg()
- Merged pool vs packet size check into the cleanup patch
- Removed redundant argument validation in a separate patch
- Reordered patches to put fixes before tests
Stephen Hemminger (7):
net/null: fix missing mbuf leakage in the copy transmit
net/null: cleanup info response
net/null: validate the numeric devargs
net/null: remove redundant argument validation
test: support larger packet sizes in burst generator
test: add a test for null PMD
net/null: add VLAN insert and strip offload support
app/test/meson.build | 1 +
app/test/packet_burst_generator.c | 34 +-
app/test/packet_burst_generator.h | 4 +-
app/test/test_pmd_null.c | 947 ++++++++++++++++++++++++++++++
drivers/net/null/rte_eth_null.c | 156 ++---
5 files changed, 1050 insertions(+), 92 deletions(-)
create mode 100644 app/test/test_pmd_null.c
--
2.51.0
next prev parent reply other threads:[~2026-02-02 22:18 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-04 22:25 [PATCH] test: add a test for null PMD Stephen Hemminger
2026-01-05 14:49 ` Marat Khalili
2026-01-05 17:38 ` Stephen Hemminger
2026-01-06 16:47 ` [PATCH v2 0/2] net/null: add a test Stephen Hemminger
2026-01-06 16:47 ` [PATCH v2 1/2] test: add a test for null PMD Stephen Hemminger
2026-01-06 17:40 ` Marat Khalili
2026-01-06 18:01 ` Stephen Hemminger
2026-01-06 16:47 ` [PATCH v2 2/2] net/null: revise info_get Stephen Hemminger
2026-01-08 20:40 ` [PATCH v3 0/3] test: new test for null PMD Stephen Hemminger
2026-01-08 20:40 ` [PATCH v3 1/3] net/null: cleanup info_get Stephen Hemminger
2026-01-08 20:40 ` [PATCH v3 2/3] test: allow larger packet sizes Stephen Hemminger
2026-01-09 15:00 ` Morten Brørup
2026-01-10 17:21 ` Stephen Hemminger
2026-01-08 20:40 ` [PATCH v3 3/3] test: add a test for null PMD Stephen Hemminger
2026-01-09 1:21 ` Stephen Hemminger
2026-01-10 17:22 ` [PATCH v4 0/3] null pmd minor cleanup and add test Stephen Hemminger
2026-01-10 17:22 ` [PATCH v4 1/3] net/null: cleanup info_get Stephen Hemminger
2026-01-10 17:22 ` [PATCH v4 2/3] test: generate larger packet bursts Stephen Hemminger
2026-01-10 17:22 ` [PATCH v4 3/3] test: add a test for null PMD Stephen Hemminger
2026-01-12 0:56 ` [PATCH v4 0/3] null pmd minor cleanup and add test Stephen Hemminger
2026-01-14 18:30 ` [PATCH v5 0/3] test: add null PMD test suite Stephen Hemminger
2026-01-14 18:30 ` [PATCH v5 1/3] net/null: cleanup info_get Stephen Hemminger
2026-01-14 18:30 ` [PATCH v5 2/3] test: generate larger packet bursts Stephen Hemminger
2026-01-14 18:30 ` [PATCH v5 3/3] test: add a test for null PMD Stephen Hemminger
2026-01-18 16:50 ` [PATCH v6 0/3] test: add null PMD test suite Stephen Hemminger
2026-01-18 16:50 ` [PATCH v6 1/3] net/null: cleanup info response Stephen Hemminger
2026-01-18 16:50 ` [PATCH v6 2/3] test: generate larger packet bursts Stephen Hemminger
2026-01-18 16:50 ` [PATCH v6 3/3] test: add a test for null PMD Stephen Hemminger
2026-01-25 20:23 ` [PATCH v7 0/5] net/null: improvements and bug fixes Stephen Hemminger
2026-01-25 20:23 ` [PATCH v7 1/5] net/null: cleanup info response Stephen Hemminger
2026-01-25 20:23 ` [PATCH v7 2/5] test: generate larger packet bursts Stephen Hemminger
2026-01-25 20:23 ` [PATCH v7 3/5] test: add a test for null PMD Stephen Hemminger
2026-01-25 20:23 ` [PATCH v7 4/5] net/null: add check for pool vs packet size Stephen Hemminger
2026-01-25 20:23 ` [PATCH v7 5/5] net/null: check packet size argument Stephen Hemminger
2026-01-28 19:00 ` [PATCH v8 0/5] net/null: improvements and bug fixes Stephen Hemminger
2026-01-28 19:00 ` [PATCH v8 1/5] net/null: cleanup info response Stephen Hemminger
2026-01-28 19:00 ` [PATCH v8 2/5] test: generate larger packet bursts Stephen Hemminger
2026-01-28 19:00 ` [PATCH v8 3/5] test: add a test for null PMD Stephen Hemminger
2026-01-28 19:00 ` [PATCH v8 4/5] net/null: add check for pool vs packet size Stephen Hemminger
2026-01-28 19:00 ` [PATCH v8 5/5] net/null: check packet size argument Stephen Hemminger
2026-01-29 20:25 ` [PATCH v9 0/5] net/null: improvements and bug fixes Stephen Hemminger
2026-01-29 20:25 ` [PATCH v9 1/5] net/null: cleanup info response Stephen Hemminger
2026-01-29 20:25 ` [PATCH v9 2/5] net/null: validate the numeric devargs Stephen Hemminger
2026-01-29 20:25 ` [PATCH v9 3/5] net/null: remove redundant argument validation Stephen Hemminger
2026-01-29 20:25 ` [PATCH v9 4/5] test: support larger packet sizes in burst generator Stephen Hemminger
2026-01-29 20:25 ` [PATCH v9 5/5] test: add a test for null PMD Stephen Hemminger
2026-02-01 17:17 ` [PATCH v10 0/6] net/null: bug fixes and improvements Stephen Hemminger
2026-02-01 17:17 ` [PATCH v10 1/6] net/null: fix missing mbuf leakage in the copy transmit Stephen Hemminger
2026-02-01 17:17 ` [PATCH v10 2/6] net/null: cleanup info response Stephen Hemminger
2026-02-01 17:17 ` [PATCH v10 3/6] net/null: validate the numeric devargs Stephen Hemminger
2026-02-01 17:17 ` [PATCH v10 4/6] net/null: remove redundant argument validation Stephen Hemminger
2026-02-01 17:17 ` [PATCH v10 5/6] test: support larger packet sizes in burst generator Stephen Hemminger
2026-02-01 17:17 ` [PATCH v10 6/6] test: add a test for null PMD Stephen Hemminger
2026-02-02 22:16 ` Stephen Hemminger [this message]
2026-02-02 22:16 ` [PATCH v11 1/7] net/null: fix missing mbuf leakage in the copy transmit Stephen Hemminger
2026-02-02 22:16 ` [PATCH v11 2/7] net/null: cleanup info response Stephen Hemminger
2026-02-02 22:16 ` [PATCH v11 3/7] net/null: validate the numeric devargs Stephen Hemminger
2026-02-02 22:16 ` [PATCH v11 4/7] net/null: remove redundant argument validation Stephen Hemminger
2026-02-02 22:16 ` [PATCH v11 5/7] test: support larger packet sizes in burst generator Stephen Hemminger
2026-02-02 22:16 ` [PATCH v11 6/7] test: add a test for null PMD Stephen Hemminger
2026-02-02 22:16 ` [PATCH v11 7/7] net/null: add VLAN insert and strip offload support Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260202221820.204680-1-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox