TX Checksum Offload
Определение
TX Checksum Offload — механизм Linux, при котором расчёт одной контрольной суммы передаваемого пакета поручается сетевому устройству. Если функция недоступна, Linux может выполнить расчёт программно.
Также ищут: checksum offload · расчёт контрольной суммы при передаче
Зачем это знать
Название звучит шире реальной функции. Интерфейс Linux передаёт устройству расчёт одной контрольной суммы, а не всех контрольных сумм пакета; неподдерживаемый запрос может быть обработан программно.
Карта понятия
Что подтверждено
Интерфейс TX Checksum Offload в Linux позволяет поручить устройству расчёт одной контрольной суммы, положение которой задаётся полями csum_start и csum_offset сетевого буфера.
Граница применимости: Linux 6.12 networking checksum offload documentation; речь о TX Checksum Offload, а не обо всех возможностях конкретной NIC.
Интерфейс TX Checksum Offload поддерживает только одну передаваемую контрольную сумму; при инкапсуляции с несколькими полями контрольных сумм для остальных нужны другие механизмы.
Граница применимости: Linux 6.12 TX Checksum Offload; документ приводит LCO и RCO как возможные дополнительные механизмы.
Контрольная сумма заголовка IP этим интерфейсом не передаётся устройству: документация Linux указывает, что она всегда рассчитывается программно.
Граница применимости: Linux 6.12 TX Checksum Offload; утверждение относится к интерфейсу, описанному в документе.
Если запрошенная функция TX Checksum Offload не поддерживается или выключена на устройстве, путь передачи Linux выполняет соответствующий расчёт контрольной суммы программно.
Граница применимости: Linux 6.12; fallback описан для validate_xmit_skb и вызываемых им функций.
Что проверить
- Не считайте слово checksum доказательством расчёта всех контрольных сумм пакета.
- При инкапсуляции отдельно проверьте, какие контрольные суммы обрабатываются аппаратно, а какие — другим механизмом.
- Отделяйте поддержку функции сетевой картой от фактического включения функции в Linux.
- Если аппаратная функция недоступна, учитывайте возможность программного fallback и измеряйте результат под нужной нагрузкой.
Первоисточники
- Checksum Offloads
TX checksum offload: одна передаваемая контрольная сумма, ограничения интерфейса и программный fallback при неподдерживаемой функции.
Связанные понятия
Курсы по теме
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить подбор с ДелектусомОткроется черновик вопроса. Отправьте его, когда будете готовы.