Серверные сети

TX Checksum Offload

Определение

TX Checksum Offload — механизм Linux, при котором расчёт одной контрольной суммы передаваемого пакета поручается сетевому устройству. Если функция недоступна, Linux может выполнить расчёт программно.

Также ищут: checksum offload · расчёт контрольной суммы при передаче

Зачем это знать

Название звучит шире реальной функции. Интерфейс Linux передаёт устройству расчёт одной контрольной суммы, а не всех контрольных сумм пакета; неподдерживаемый запрос может быть обработан программно.

Связи из словаря

Карта понятия

TX Checksum Offload
Доказательная часть

Что подтверждено

  1. Интерфейс TX Checksum Offload в Linux позволяет поручить устройству расчёт одной контрольной суммы, положение которой задаётся полями csum_start и csum_offset сетевого буфера.

    Граница применимости: Linux 6.12 networking checksum offload documentation; речь о TX Checksum Offload, а не обо всех возможностях конкретной NIC.

  2. Интерфейс TX Checksum Offload поддерживает только одну передаваемую контрольную сумму; при инкапсуляции с несколькими полями контрольных сумм для остальных нужны другие механизмы.

    Граница применимости: Linux 6.12 TX Checksum Offload; документ приводит LCO и RCO как возможные дополнительные механизмы.

  3. Контрольная сумма заголовка IP этим интерфейсом не передаётся устройству: документация Linux указывает, что она всегда рассчитывается программно.

    Граница применимости: Linux 6.12 TX Checksum Offload; утверждение относится к интерфейсу, описанному в документе.

  4. Если запрошенная функция TX Checksum Offload не поддерживается или выключена на устройстве, путь передачи Linux выполняет соответствующий расчёт контрольной суммы программно.

    Граница применимости: Linux 6.12; fallback описан для validate_xmit_skb и вызываемых им функций.

Перед спецификацией

Что проверить

  1. Не считайте слово checksum доказательством расчёта всех контрольных сумм пакета.
  2. При инкапсуляции отдельно проверьте, какие контрольные суммы обрабатываются аппаратно, а какие — другим механизмом.
  3. Отделяйте поддержку функции сетевой картой от фактического включения функции в Linux.
  4. Если аппаратная функция недоступна, учитывайте возможность программного fallback и измеряйте результат под нужной нагрузкой.
Открытые основания

Первоисточники

  • Документация1
  • Официальная документация
    Checksum Offloads Linux Kernel · Linux 6.12 documentation · проверено

    TX checksum offload: одна передаваемая контрольная сумма, ограничения интерфейса и программный fallback при неподдерживаемой функции.

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить подбор с Делектусом

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие