You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

eBPF首个数据包送入传输队列后丢失问题排查求助

eBPF首个数据包送入传输队列后丢失问题排查求助

各位好,我现在遇到一个eBPF相关的问题,想请大家帮忙排查下:

我做了一个基于eBPF的测试用例,核心是实现两个命名空间之间的ping通信。我的eBPF程序逻辑是这样的:拦截流的第一个数据包并发送到用户态,在用户态用这个包构建映射表,让该流后续的数据包可以直接从接收网卡进入内核,由内核生成ping回复。

问题出在第一个数据包上:我把它送入eBPF传输队列后,就再也找不到它的踪迹了——不管是在网卡上用tcpdump抓包,还是用pwru追踪,都看不到这个包的后续流程,更没法触发内核生成ping回复。

我补充几个细节:

  • 运行环境是完全更新的Ubuntu 22.04
  • 我的测试用例基于AF_XDP-filter实现,包含ping测试的运行脚本、完整的执行日志(后来补充了带tcpdump输出的日志)以及pwru的追踪日志
  • 为了验证问题,我还新增了UDP测试用例,包含发送端计数程序、接收端程序,以及对应的运行脚本和日志。这个测试里同样出现了第一个包被重定向到用户态后丢失的情况,但第二个包能正常到达UDP监听端

有没有大佬能帮我分析下,我到底哪里做错了?

备注:内容来源于stack exchange,提问作者Chris Ward

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:34:07