есть ли ограничение на количество sk_buffs в ядре
-
13-09-2019 - |
Вопрос
Мне нужно украсть несколько SKB в моем крючке NetFilter и сохранить их на какое-то время.
Есть ли в ядре ограничение на количество SKB, которые я могу использовать одновременно?Каковы последствия наличия в моем модуле ядра около 100 000 или даже более SKB?Я мог бы избежать повторного копирования пакетов, если бы у меня было много-много SKB.
С уважением, ден
Решение
Если у вас есть память, не проблема.Ограничением является то, что пространство данных ядра на 32-разрядных машинах x86 обычно ограничено 1 ГБ (см. http://kerneltrap.org/node/2450 ).Помните, что каждый skb использует структуру данных skb, а также память, на которую он ссылается.Вы также можете использовать ipqueue для обработки в пользовательском пространстве (при наличии большего количества памяти).
Ссылка выше не работает, последняя известная версия кэширована здесь