NetXtreme II BCM5709千兆以太网网卡支持MSI功能(消息信号中断),它有8个队列。每个队列在/proc/中断中都有自己的中断处理程序。我想要完成的是告诉网卡哪些数据包应该进入哪个队列。是否可以通过封装协议类型手动指定哪些IP数据包应该进入哪个队列(例如,IPsec数据包进入一个队列,而TCP数据包进入另一个队列)?如果有可能的话--我如何在Linux下做到这一点?
如果这是不可能的-我应
问题:我们在Windows Server 2012系统上实现了一个视频录制系统。尽管CPU和内存消耗很低,但我们面临着严重的性能问题。
应用程序(VS2005/C++)创建多个网络套接字,每个套接字接收来自以太网的组播UDP视频流。对于每个流,应用程序通过调用WSARecvFrom() (重叠操作)提供一个接收器缓冲区,在MsgWaitForMultipleObjects()中等待窗口的“数据到达”事件,获取数据包,然后在无限循环中重复所有操作。为了测试,除了纯粹的套接字IO工作之外,为了确保最小的CPU和内存消耗,应用程序什么也不做,也不做任何磁盘/文件IO。应用程序进程配置为使用机器上的所