我正在尝试模拟Linux计算机上的TCP ACCLERATION算法。据我了解,我必须绕过内核网络堆栈,并将Incommant的数据包传输到我的自定义代码。我目前正在寻找NetFilter挂钩以拦截数据包,但我不明白如何将数据包传递到用户空间。您可以帮忙吗?
我建议您查看Linux内核中可用的Packet_mmap设施,并允许在映射到用户空间的圆形缓冲环上构建的数据包接收。链接上的文档是某种详尽的,也存在各种示例,例如 libpcap 。