Skip to content

Commit 14355bf

Browse files
author
dpdk-port-leader
committed
port: re-apply F-Stack local DPDK patches onto 24.11.6 (4 patches: redundant cleanup + igb_uio + rte_timer + eal secondary)
Re-applies 4 historical F-Stack patches on top of the freshly-replaced upstream 24.11.6 tree per plan.md §4.4 (single-commit merge per DP-A8). Patch list updated 3 -> 4 after user 2026-06-09 14:50 KNI feedback uncovered patch-scout's missed identification of 29c7d58. All 4 patches re-applied via SEMANTIC re-application (not git apply hunk-based, because each patch failed git apply --check due to context-line drift between 23.11.5 and 24.11.6). Approach: cp from dpdk.bak-23.11.5/ for cp-able units (igb_uio subtree, lib/timer files, kernel meson.build, freebsd rte_os.h); manual replace_in_file for eal.c PRIMARY guard rebase; selective rm via rm_tmp_file.sh for redundant-files deletion. Patches re-applied (chronological): 29c7d58 (2025-01-10) Remove redundant dpdk files (310 files, -43195) Strategy: keep F-Stack's lean dpdk/ mirror. Result on 24.11.6: - 301 files auto-N/A (24.11.6 upstream already lacks them: KNI subtree, old igb_uio, liquidio, acc200_*, nfp, idpf, flow_classify, kni-related examples/ip_pipeline + server_node_efd, Windows EAL log, etc.) - 6 files belong to old igb_uio subtree, replaced by NEW igb_uio from 5f3768c (kept active, NOT deleted) - 1 file (drivers/baseband/acc/acc_common.c) is legitimate in 24.11.6 upstream (referenced by 24's baseband/acc/meson.build:27); does NOT match the 23.11.5 'redundant' semantics — restored after build break - 2 files actually deleted on 24.11.6 (still redundant for F-Stack): * dpdk/dts/framework/remote_session/remote_session.py * dpdk/dts/framework/remote_session/ssh_session.py 5f3768c (2025-10-31) Sync DPDK's modifies (igb_uio + freebsd rte_os.h) - dpdk/kernel/linux/igb_uio/{igb_uio.c, compat.h, Kbuild, Makefile, meson.build} cp-ed from dpdk.bak-23.11.5/kernel/linux/igb_uio/ (DPDK upstream removed igb_uio in 21.05; F-Stack maintains its own port from <=20.11) - dpdk/kernel/linux/meson.build cp-ed from bak (subdirs = ['igb_uio']) - dpdk/kernel/meson.build cp-ed from bak (point to 'linux' subdir) - dpdk/lib/eal/freebsd/include/rte_os.h cp-ed from bak (FreeBSD 13.1+ CPU_AND/CPU_OR 3-arg adaptation) 62f1c34 (2026-01-16) Fix infinite loop when restarting DPDK secondary - dpdk/lib/timer/rte_timer.c cp-ed from bak (+13: rte_timer_meta_init body) - dpdk/lib/timer/rte_timer.h cp-ed from bak (+8: declaration; lib/timer in 24.11.6 has 0 logical changes vs 23.11.5, only macro position adjustment; cp is safe) - lib/ff_dpdk_if.c:910 rte_timer_meta_init() call site UNCHANGED (M2 tree replace does not touch f-stack/lib/, so the call site remains intact) 9271817 (2026-03-18) eal: secondary process eal_bus_cleanup PRIMARY guard - dpdk/lib/eal/linux/eal.c manual rebase to 24.11.6 call order: surrounded eal_bus_cleanup() at line 1324 with PRIMARY guard, after the 24.11.6-newly-added rte_service_finalize() at line 1323. Real upstream fix in DPDK 25.07 commit 4bc53f8f0d64, NOT backported to 24.11.6. KNI clarification (per user 2026-06-09 14:50 feedback): F-Stack's 'KNI' (lib/ff_dpdk_kni.c) is a ring + virtio_user user-space exception path with ZERO dependency on DPDK librte_kni. lib/Makefile:34 comment 'No DPDK KNI support on FreeBSD' / 'Enable KNI, via virtio only, no longer support rte_kni.ko' makes this explicit. FF_KNI=1 retained. No DPDK lib/kni or kernel/linux/kni in upgraded dpdk/ (24.11.6 upstream already lacks them, plus 29c7d58 keeps it that way). Only kernel module in dpdk/kernel/linux/ is igb_uio (per 5f3768c). Build verification (M3 + M4 acceptance): ninja -C build: exit=0 / 0 errors / 3 warnings / 2m29s build (vs 23.11.5 baseline 4 warnings; cleaner) igb_uio.ko: compiled successfully (MODPOST + LD [M] OK) lib/libfstack.a: clean rebuild OK / 0 errors / 16s example/helloworld: 29021744 bytes (identical to 23.11.5 baseline) example/helloworld_epoll: 29019656 bytes (identical to 23.11.5 baseline) helloworld_zc: skip (libfstack.a built without FF_ZC_SEND) R-D11 rte_ip.h stub forwarding: AUTO-RESOLVED — 24.11.6's rte_ip.h (210B stub) auto-forwards to rte_ip4.h + rte_ip6.h, making struct rte_ipv4_hdr / rte_ipv6_hdr visible without any F-Stack source edit. M4 'fix:' commit SKIPPED per spec §4.4 exception clause (zero glue-layer changes needed). Local commit only; no push.
1 parent fe55216 commit 14355bf

13 files changed

Lines changed: 1047 additions & 347 deletions

File tree

dpdk/dts/framework/remote_session/remote_session.py

Lines changed: 0 additions & 226 deletions
This file was deleted.

dpdk/dts/framework/remote_session/ssh_session.py

Lines changed: 0 additions & 116 deletions
This file was deleted.

dpdk/kernel/linux/igb_uio/Kbuild

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ccflags-y := $(MODULE_CFLAGS)
2+
obj-m := igb_uio.o

dpdk/kernel/linux/igb_uio/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
KSRC ?= /lib/modules/$(shell uname -r)/build
2+
3+
all:
4+
make -C $(KSRC)/ M=$(CURDIR)
5+
6+
%:
7+
make -C $(KSRC)/ M=$(CURDIR) $@

0 commit comments

Comments
 (0)