Есть задача сделать сабж в виде L2 моста для анализа траффика и дропа некоторых пакетов по своим правилам.
Целевой траффик около 20Гбит, 2Mpps с перспективой роста.
Собрал тестовый стенд из трех DL360 gen9, карты Intel XL710, ядра 4.9.х, дрова интель последние. Один генератор траффика, второй - приемник, в середине Suricata, она настроена на режим AF_PACKET с копированием пакетов с одного интерфейса на другой и обратно.
Тестирую прогоном pcap-файла через tcpreplay.
Всё, вроде бы, работает отлично - на скоростях до 1.15Mpps на порт ядро и Suricata пакеты не дропают, но вот почему-то дальше во второй порт пакетов *уходит* на ~0.8% меньше чем вошло в первый. Проверял по ethtool -S eno49 | grep tx_packets.
Где оно может теряться? В счетчиках отправляющей карты дропов и оверранов не обнаружил, в сурикате тоже всё по нулям.