Проблема UDP Broadcast / IP Multicast Storm на P1010 и Marvell 88E1512 PHY с ядром Linux 3.18.9-rt4 - PullRequest
0 голосов
/ 01 октября 2018

Я использую пользовательскую плату с процессором Freescale P1010 и Marvell 88E1512 PHY для Ethernet, которая работает на ядре Linux 3.18.9-rt4;

При выполнении тестов Cyber ​​Security с использованием Achilles-box мы обнаружилинекоторые проблемы с IP Multicast Storm (генерирует идентичные, действительные IP-пакеты и группирует их по каналу с определенной скоростью) и UDP Broadcast Storm (генерирует идентичные, действительные UDP-пакеты и транслирует их по каналу с определенной скоростью), поэтомузаметил, что при указанной выше пороговой скорости (выше 90 Мбит / с) порты TCP и UDP вышли из строя, и требуется принудительная перезагрузка, чтобы вернуть их в нормальное состояние.

Сразу после запуска широковещательного шторма появляется сообщение

NOHZ: local_softirq_pending 102

появляется на консоли 10 раз.Причина, по которой это «только» появляется 10 раз, заключается в том, что ядро ​​ограничивает число раз, когда оно пишет это сообщение, до 10.

Примерно через 11 секунд после первого

NOHZ: local_softirq_pending 102

страницысообщается о сбое распределения.Это означает, что системная память исчерпана.Анализ стека вызовов показывает, что это драйвер (drivers/net/ethernet/freescale/gianfar.c and net/core/skbuff.c) для порта Ethernet, точнее задача soft-irq, которая обрабатывает входящие кадры, которая не может получить больше памяти для приема буферов.До начала широковещательного шторма доступно более 200 МБ свободной памяти, и все это исчезло за 11 секунд.Это делает систему неспособной продолжать нормальную работу даже после прекращения широковещательного шторма.

Кажется, что слабое место в том, как Linux обрабатывает входящие кадры Ethernet, делает его уязвимым для штормовых атак, когда используется вся доступная память,оставив систему в нестабильном состоянии после завершения атаки.

Может кто-нибудь сталкивался с подобной проблемой и кто-нибудь знает, как исправить / предложить, чтобы выяснить, почему широковещательный / многоадресный шторм способен потреблятьпочти вся мощность процессора процессора P1010.

...