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