[PATCH 0/6] net/memif: lifecycle fixes and unit test
Sriram Yagnaraman
sriram.yagnaraman at ericsson.com
Wed Oct 14 11:12:51 CEST 2026
This series fixes a set of error-path and lifecycle bugs in the memif
PMD and adds a unit test for the driver.
The first five patches are fixes:
- guard eth_memif_tx() against an empty burst so a zero-count call
returns before touching the burst or the ring;
- close file descriptor 0 instead of leaking it (the close path
tested for fd > 0 instead of fd >= 0);
- free the MAC address allocated during probe when a later step
fails, instead of leaking it;
- unwind a partially-created device on failure in memif_create(),
releasing the port and the process-private data rather than
returning with them registered and leaked;
- disconnect the device on close so queues and shared regions are
torn down, and make memif_disconnect() safe to call on a device
that was configured but never started.
The last patch adds a memif PMD unit test (app/test, memif_pmd_autotest)
that stands up a server/client vdev pair over a loopback socket and
covers dev_info, link state, stats, single- and multi-segment loopback,
stop/start reconnect, empty Tx burst, and close without stop.
Verified: memif_pmd_autotest passes 9/9; check-git-log and checkpatch
are clean across the series.
Sriram Yagnaraman (6):
net/memif: guard against empty Tx burst
net/memif: close file descriptor zero
net/memif: fix MAC address leak on probe failure
net/memif: unwind partial device on create failure
net/memif: disconnect on device close
test/memif: add memif PMD unit test
app/test/meson.build | 1 +
app/test/test_pmd_memif.c | 574 ++++++++++++++++++++++++++++++
drivers/net/memif/memif_socket.c | 14 +-
drivers/net/memif/rte_eth_memif.c | 59 ++-
4 files changed, 626 insertions(+), 22 deletions(-)
create mode 100644 app/test/test_pmd_memif.c
--
2.43.7
More information about the dev
mailing list