0

我正在 1Gbit/sec 网络上测试 netlink 过滤器应用程序:我有用户空间功能将判决发送到 netlink 套接字;另一个用户空间例程从 netlink 套接字和一些自定义过滤器函数执行标记数据包的异步读取。对于 >300 Mbps 的比特率,我看到 netlink 套接字读取错误“没有可用的缓冲区空间”。我把它当作 netlink 缓冲区溢出。有人可以推荐一种方法来提高高速网络的 netlink 吞吐量吗?我的内核版本是 2.6.38。

4

1 回答 1

0

内核到用户空间之间有套接字。通过套接字数据包上传到用户空间。套接字缓冲区已满,因此出现错误。在 c 中,您可以定义套接字缓冲区大小并增加它(这由 netlink 完成)

于 2012-08-15T20:29:54.577 回答