我在1Gbit/sec网络上测试netlink过滤器应用程序:我有用户空间函数向netlink套接字发送判决;另一个用户空间例程执行从netlink套接字异步读取标记的数据包和一些自定义过滤器函数。对于大于300 Mbps的比特率,我看到netlink套接字读取错误“没有可用的缓冲空间”。我认为这是netlink缓冲区溢出。有人能推荐一种方法来提高高速网络的netlink吞吐量吗?我的内核版本是2.6.38。
发布于 2012-08-16 04:29:55
在内核到用户空间之间有一个套接字。通过套接字将数据包上传到用户空间。套接字缓冲区已满,因此会出现错误。在c中,您可以定义套接字缓冲区大小并增加它(这是由netlink完成的)
https://stackoverflow.com/questions/11215071
复制相似问题