Вопрос

Мне нужно украсть несколько SKB в моем крючке NetFilter и сохранить их на какое-то время.

Есть ли в ядре ограничение на количество SKB, которые я могу использовать одновременно?Каковы последствия наличия в моем модуле ядра около 100 000 или даже более SKB?Я мог бы избежать повторного копирования пакетов, если бы у меня было много-много SKB.

С уважением, ден

Это было полезно?

Решение

Если у вас есть память, не проблема.Ограничением является то, что пространство данных ядра на 32-разрядных машинах x86 обычно ограничено 1 ГБ (см. http://kerneltrap.org/node/2450 ).Помните, что каждый skb использует структуру данных skb, а также память, на которую он ссылается.Вы также можете использовать ipqueue для обработки в пользовательском пространстве (при наличии большего количества памяти).

Ссылка выше не работает, последняя известная версия кэширована здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top