我的情况:
我希望网卡上收到的数据尽快到达我的应用程序。我得出的结论是,最好的(如最低延迟)解决方案是在我的用户空间中实现网络堆栈。
网络流量可以是专有协议(如果它使编写网络堆栈更容易),因为它只是在两台本地计算机之间。
1) 我的网络堆栈需要实现的最少功能列表是什么?
2)我是否需要删除/禁用当前在我的 Linux 中的任何网络堆栈/我将如何执行此操作?
3)我将如何编写驱动程序?我想我需要找到调用驱动程序代码的确切位置,然后不是调用驱动程序/网络堆栈,而是将数据发送到我可以从我的应用程序访问的一块内存?