есть ли ограничение на количество sk_buffs в ядре - PullRequest
1 голос
/ 10 июня 2009

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

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

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

1 Ответ

1 голос
/ 11 июня 2009

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

Над мертвой ссылкой, последняя известная версия кешируется здесь

...