Description
Describe the bug
When client secnetperf running with multi connection using XDP, some packets arrive at normal socket datapath and hit segfault.
Client hits here
https://github.com/microsoft/msquic/pull/4551/files/e2a3ad4c123cec85f648841d61a9eeceba49778d#r1768132268
Affected OS
- Windows
- Linux
- macOS
- Other (specify below)
Additional OS information
Ubuntu 24.04
MsQuic version
main
Steps taken to reproduce bug
2 Ubuntu 24.04 VMs on Hyper-V on same Azure host (nested VM)
server
./artifacts/bin/linux/x64_Debug_openssl3/secnetperf -exec:maxtput -io:epoll -pollidle:1000
client
./artifacts/bin/linux/x64_Debug_openssl3/secnetperf -target:$TARGET_IP -exec:maxtput -down:10s -ptput:1 -tcp:0 -trimout -watchdog:25000 -pconn:1 -pstream:1 -io:xdp -conns:100
Expected behavior
continue running until the workload ends.
Actual outcome
use epoll datapath and segfault
Additional details
When running with multi-connection, some packets arrive at normal socket datapath for some reason even though all packets are forcibly routed to AF_XDP socket by hack.
hypothesis
- the packets arrive at normal datapath are mixed with the ones arrive at AF_XDP socket, then break code.
- netvsc has bug?
- host layer bug?
- nested VM bug?