[devel] Потеря пакетов libpcap и как с этим бороться

Alexey Shabalin a.shabalin на gmail.com
Чт Фев 18 13:00:23 UTC 2010


28 декабря 2009 г. 19:41 пользователь Slava Dubrovskiy
<slava на tangramltd.com> написал:
> Здравствуйте.
>
> Думаю ни для кого не секрет, что при больших нагрузках libpcap теряет
> много пакетов в результате чего вся статистика основанная на libpcap не
> отвечает действительности.
> Вот результаты некоторых исследований http://luca.ntop.org/Ring.pdf
> Есть вариант решения проблемы - модуль pf_ring
> (http://www.ntop.org/PF_RING.html ) Раньше было патчем к ядру, и т.к.
> требовалось ядро патчить, то проблемно было включить этот патч.
> Но с версии 4.X стало возможным собирать как модулем.
>
> Поэтому хочется заиметь такой функционал в полном объеме.
>
> Что для этого нужно:
> 1. Собрать дополнительный модуль к ядру
> 2. Собрать дополнительно пропатченные модули к поддерживаемым сетевухам
> 3. Собрать пропатченную версию libpcap
> 4. Пересобрать софт с новой libpcap
>
>
> С пунктом первым у меня вопросов нет. Это просто.

Первый пункт я сделал :) модуль ядра отправил в сизиф.

> Со вторым сложнее, т.к. имена модулей совпадают с теми что уже есть в ядре.
> Отюда вопрос: есть ли возможность собирать модули с одинаковыми именами
> и как обеспечить приоритет загрузки нужного модуля?

Этим займёмся позже.

>
> Пункт 3 тоже решаем. Или мы вносим данный функционал в текущий пакет
> libpcap (который давно пора обновить) или придется делать второй пакет.

я вот не совсем понял, будет ли пропатченный libpcap работать без
ядерного модуля.
Если будет то лучше обойтись единственным libpcap.
По ходу сборки userland для pf_ring возникают следующие вопросы:
1. нужен ли отдельный пакет libpfring? всё равно все используют только
libpcap. Может втянуть libpfring в libpcap?
2. в репо PF_RING смотрю на Makefile и вижу - libpcap-ring линкуется
со статической libpfring.a, зачем потом tcpdump и snort тоже линковать
с libfring.a. Надо это делать?
3. Или делать libpfring как shared? тогда надо soname добавлять.

> 4 пункт решается аналогично третьему.
> Хочется услышать мнение заинтересованных, если такие есть.
> Стоит ли заморачиваться и реализовывать такое в репозитарии?
>

-- 
Alexey Shabalin


Подробная информация о списке рассылки Devel