Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux XDP client multi connection issues #4641

Open
1 of 4 tasks
ami-GS opened this issue Nov 1, 2024 · 0 comments
Open
1 of 4 tasks

Linux XDP client multi connection issues #4641

ami-GS opened this issue Nov 1, 2024 · 0 comments

Comments

@ami-GS
Copy link
Contributor

ami-GS commented Nov 1, 2024

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?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant