Здравствуйте, cppdev, Вы писали:
C>Необходимо захватывать все входящие пакеты с 10 GBit Ethernet, исходящих пакетов нет, все пакеты генерирует спец. железка. C>Делаю с помощью WinPcap, захват идет в память — при скорости свыше 2Гбит/с пакеты начинают отбрасываться(тестовое приложение их не получает), C>при этом Wireshark показывает в своей статистике, что запрошенное число пакетов до сетевой карты доходит.
C>Вопрос: на каком уровне стека драйверов пакеты начинают отбрасываться/пропускаться?
1.
Какой внутренний размер буффера winpcap ставите?
Попробуйте увеличить его размер.
2.
Пакеты начинают отбрасываться когда стек для данного протокола переполнен.
Недавно писал программу для гигабитной сети по средствам winpcap. Так что задача была та же только скорость ниже.
3.Отслеживаете ли вы сами пропуск пакетов в stat_packet_handler функции. Если нет то попробуйте.
Если да , то какими порциями пропускаются пакеты.