Re[4]: И снова о passthru...
От: TarasCo  
Дата: 15.01.08 16:00
Оценка:
А>А может переделаная strstr под работу в драйвере быстрее заработает?

Зачем переделывать? Базовые С функции и так реализованы в ядре и более менее быстро.

А>Или вобще идея фильтрации по сигнатурам по другому реализуется?


Честно говоря, не очень понятно откуда взялись ТАКИЕ тормоза? На 100МБ сети при полной загрузке пакеты приходят примерно 1 на 100мкс. Без фильтрации это нагрузка на нормальный процессор врядли превысит 10% ( если трафик не злонамеренный — хитрая фрагментация может хорошо повысить нагрузку ). Таким образом, можно считать, что у Вас на обработку пакета есть не менее 10 мкс ( при этом не будет существенной нагрузки на процессор ) — IMHO, этого должно хватить на поиск сигнатуры в буфере длиной около 1КБ любым способом . Может, у Вас просто отладочная версия драйвера? Попробуйте собрать его с оптимизацией по скорости, я думаю тормоза значительно уменьшаться. Также, стоит убрать копирование памяти — это съэкономит инструкций 200 .

IMHO сигнатурный анализ сетевого пакета не сводится к поиску определенной последовательности в нем, на практике все может быть гораздо быстрее ( например, поиск сигнатуры по конкретному смещению ).
Да пребудет с тобою сила
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.