内核中的sk_buff数量有限制吗?

时间:2009-06-10 11:06:27

标签: linux linux-kernel memory-management buffer netfilter

我需要在我的NetFilter挂钩中窃取一些SKB,并保留它们一段时间。

内核中是否有限制我一次可以使用多少个SKB? 在我的内核模块中保留了大约100,000个甚至更多的SKB会带来什么后果? 如果我可以拥有许多SKB,我可以避免两次复制我的数据包。

此致 Denes

1 个答案:

答案 0 :(得分:1)

如果你的记忆没有问题。限制是32位x86机器上的内核数据空间通常限制为1G(参见http://kerneltrap.org/node/2450)。意识到每个skb都使用skb数据结构以及它引用的内存。您还可以使用ipqueue在用户空间中进行处理(可用更多内存)。

以上链接已死,上次已知版本已缓存here