Generic Receive Offload (GRO)
Определение
Generic Receive Offload (GRO) — механизм Linux на приёме, который объединяет подходящие входящие кадры в более крупное представление для дальнейшей обработки.
Также ищут: GRO · Generic Receive Offload · объединение пакетов на приёме
Зачем это знать
GRO работает на стороне приёма, тогда как GSO занимается сегментацией перед передачей. Документация Linux рассматривает их как дополняющие механизмы и описывает желаемую обратимость между объединением и сегментацией.
Карта понятия
Что подтверждено
Документация Linux называет GRO дополнением GSO: GRO собирает кадры на стороне приёма, а GSO выполняет обратную сегментацию.
Граница применимости: Linux 6.12 segmentation offloads documentation; это отношение GRO и GSO в сетевом стеке Linux.
В идеальном случае кадр, собранный GRO, после сегментации GSO должен давать ту же последовательность кадров, из которой он был собран.
Граница применимости: Linux 6.12 GRO; документ формулирует это как идеальное свойство и отдельно оговаривает исключение для IPv4 ID при установленном DF.
В идеальном случае последовательность кадров, полученная GSO, должна собираться GRO обратно в исходное представление.
Граница применимости: Linux 6.12 GRO; это желаемая взаимная обратимость механизмов, а не обещание для произвольного трафика.
Что проверить
- Не путайте направление: GRO относится к приёму, GSO — к сегментации перед передачей.
- Не трактуйте GRO как доказательство аппаратной сегментации: это отдельный механизм Linux.
- При сравнении результатов фиксируйте offload-настройки обеих сторон и реальный профиль трафика.
Первоисточники
- Segmentation Offloads
TSO, GSO и GRO: кто выполняет сегментацию, зависимость TSO от partial checksum offload и взаимосвязь GSO/GRO.
Связанные понятия
Курсы по теме
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить подбор с ДелектусомОткроется черновик вопроса. Отправьте его, когда будете готовы.