Поток сетевых пакетов с настроенным RSS и PFRING кластером
Мне сложно понять концепцию того, как RSS подключается к балансировке нагрузки кластера PFRING.
Вот мое текущее понимание. Когда настроен RSS, сетевая карта вычисляет хэши пакетов и помещает их в очереди RSS. С другой стороны, модуль ядра PFRING принимает пакеты от сетевой карты и помещает их в кольцо.
Как эти двое объединяются? Берет ли PFRING пакеты из очереди RSS и помещает их в кольцо?
1 ответ
Это то, что мне удалось обнаружить.
Насколько я понимаю, NIC инструктируется о месте назначения, куда копировать пакет. Как только это будет сделано, NIC скопирует пакет в кольцо PF_RING (1-копия), и будет выдано прерывание в обход ядра (без 2-копии). Кольцевая очередь сопоставляется для каждого RSS во время инициализации драйвера сетевой карты.
В режиме 0-copy мы обходим кольцо PF_RING и напрямую обращаемся к памяти NIC.