This series adds integrated AFL++ fuzzing support for passt, extending the earlier work by AbdAlRahman Gad with persistent mode, bidirectional protocol fuzzing, and real TCP connection coverage via a companion test server. Architecture ------------ The fuzzer runs passt in AFL++ persistent mode (__AFL_LOOP) with shared memory fuzzing. A separate test server process connects to passt's UNIX socket and listens on 127.0.0.1:9999 for real TCP connections: Deterministic wrappers replace clock_gettime, getrandom, getsockopt, and recv-family calls to eliminate kernel-level non-determinism. Per-iteration reset of the flow table, epoll instance, and clock. *** BLURB HERE *** Anshu Kumari (5): fuzz: Add deterministic wrappers for system calls fuzz: Add flow type guards for fuzzing stability fuzz: Bypass isolation and adapt sockets for AFL++ fuzz: Add AFL++ persistent mode fuzz loop fuzz: Add test server for bidirectional protocol fuzzing Makefile | 28 +- fuzz-server.c | 490 +++++++++++++++++++++++++++++++++ fuzz.c | 275 ++++++++++++++++++ fuzz.h | 62 +++++ fuzzing/README.fuzzing.md | 95 +++++++ fuzzing/testcase_dir/empty.bin | Bin 0 -> 12 bytes icmp.c | 14 +- isolation.c | 11 + passt.c | 189 +++++++++++++ passt.h | 4 + tap.c | 21 ++ tcp.c | 19 +- tcp_buf.c | 1 + tcp_splice.c | 10 + udp.c | 29 +- udp_flow.c | 5 + util.c | 10 + 17 files changed, 1251 insertions(+), 12 deletions(-) create mode 100644 fuzz-server.c create mode 100644 fuzz.c create mode 100644 fuzz.h create mode 100644 fuzzing/README.fuzzing.md create mode 100644 fuzzing/testcase_dir/empty.bin -- 2.55.0