Не удается изменить отключение фрагментации UDP

Вопрос или проблема

У меня есть сервер Dell PowerEdge R740 с контроллером Ethernet Intel Corporation x710 для сети 10GbE SFP+. На нем установлена RHEL 8. Я пытаюсь включить аппаратное ускорение фрагментации UDP следующим образом:

$ sudo ethtool --offload eno1 ufo on

Я получаю такое сообщение:

Не удается изменить аппаратное ускорение фрагментации UDP  
Не удается изменить какие-либо функции устройства.

У eno1 есть кабель SFP+ DAC. Проблема связана с кабелем SFP+? Или с каким-то драйвером, который у меня может отсутствовать?

Судя по предоставленному вами выводу, вероятно, UFO не поддерживается драйвером и не имеет отношения к кабелю.

Вот коммит в Git kernel.org, который добавил функцию UFO.

Обратите внимание на следующее:

Этот патч использует функцию scatter-gather skb для генерации больших UDP
датаграмм.

[…]

skb->ip_summed будет установлено в CHECKSUM_HW,
что указывает на то, что аппаратное обеспечение должно выполнять расчет контрольной суммы. Аппаратное обеспечение должно
вычислить контрольную сумму UDP для полной датаграммы, а также контрольную сумму заголовка IP для
каждого фрагментированного IP пакета.

Поэтому, если у вас отключены scatter-gather и/или TX аппаратное суммирование контрольной суммы, может быть невозможно включить функцию аппаратного ускорения фрагментации UDP, хотя эта функция доступна в NIC+драйвере. Вам нужно сначала включить другие необходимые функции.

Это будет:

sudo ethtool --offload eno1 sg on tx on ufo on

Ответ или решение

Не удаётся изменить параметр UDP Fragmentation Offload на сервере Dell PowerEdge R740 с RHEL 8

Проблема

Вы столкнулись с проблемой, пытаясь включить функцию UDP fragmentation offload (UFO) на сетевом интерфейсе вашего сервера Dell PowerEdge R740. При выполнении команды:

sudo ethtool --offload eno1 ufo on

вы получаете сообщение об ошибке:

Cannot change UDP fragmentation offload  
Cannot change any device features.

Это может вызвать недоумение, особенно если вы уверены в корректной работе вашего оборудования и программного обеспечения. В данной статье мы рассмотрим возможные причины возникновения этой ошибки и предложим пути её решения.

Причины возникновения ошибки

  1. Поддержка функции драйвером: Как было отмечено, данное сообщение об ошибке может указывать на то, что ваша сетевая карта и используемый драйвер не поддерживают функцию UDP fragmentation offload (UFO). Сетевой адаптер Intel x710 в принципе должен поддерживать UFO, но в зависимости от версии драйвера это может быть реализовано не полностью.

  2. Зависимость от других настроек: Некоторые функции, такие как UFO, могут зависеть от других параметров аппаратного обеспечения. Для корректной работы UFO необходимо, чтобы были включены следующие функции:

    • Scatter-Gather (SG): Эта функция позволяет операционной системе делить данные на более мелкие пакеты, которые затем отправляются на сетевой адаптер.
    • TX (TX Checksum Offload): Эта функция позволяет адаптеру выполнять вычисления контрольной суммы для передаваемых данных, а не делать это в программном обеспечении.

Если эти функции отключены, это может привести к невозможности включения UFO, даже если сама функция доступна для сетевого интерфейса.

Решение

Для решения вашей проблемы выполните следующие шаги:

  1. Проверьте, включены ли функции Scatter-Gather и TX Checksum Offload. Это можно сделать с помощью команды ethtool:

    sudo ethtool --show-offload eno1

    Убедитесь, что параметры scatter-gather и tx-checksum включены (должны быть установлены в on).

  2. Включите необходимые функции:
    Если какие-либо из необходимых функций отключены, включите их с помощью следующих команд:

    sudo ethtool --offload eno1 sg on
    sudo ethtool --offload eno1 tx on
  3. Включите UDP fragmentation offload:
    После активации необходимых функций попробуйте снова включить UFO:

    sudo ethtool --offload eno1 ufo on

Заключение

Убедитесь, что ваш драйвер и прошивка сетевой карты обновлены до последней версии. Если проблема не исчезнет, возможно, стоит обратиться в поддержку Dell или к разработчикам драйвера для получения более детальной информации о поддержке UFO и потенциальных обновлениях.

Эта проблема не связана с типом вашего соединения (например, SFP+ кабель) и больше относится к аппаратному и программному обеспечению сетевого интерфейса. Следуя инструкциям выше, вы сможете устранить возникшую ошибку и включить необходимую функциональность для оптимизации вашей сетевой работы.

Оцените материал
Добавить комментарий

Капча загружается...