Как включить RSS на ETH_RSS_VXLAN или ETH_RSS_GENEVE для приложения DPDK?

Я пытаюсь выяснить, какие параметры используются для расчета хэша RSS, когда используются туннелированные разгрузки хэша RSS, например ETH_RSS_VXLAN или ETH_RSS_GENEVE. Целью является распределение входящего трафика VXLAN на основе VNI, а не внешнего IP или номера порта UDP в DPDK.

  • Версия DPDK: 20.11.1
  • Сетевая карта: Mellanox ConnectX-5, версия микропрограммы 16.30.1004

Я тестировал различные хэши RSS, используя внутренние поля IP для вычисления хэша. Настройки настройки выполнены: Настройка RSS в приложении L3FWD

[РЕДАКТИРОВАТЬ-1 на основе комментариев]

  1. используемая мной сетевая карта не поддерживает ETH_RSS_VXLAN или другие туннельные разгрузки RSS, я не могу это проверить.
  2. Я не использую RTE_FLOW, так как использую пример приложения l3fwd.

person Ameer Usman    schedule 30.04.2021    source источник
comment
пожалуйста, обновите свой билет, добавив NIC, прошивку, фрагмент кода для RSS, и RTE_FLOW используется или нет?   -  person Vipin Varghese    schedule 30.04.2021
comment
Добавлена ​​запрошенная информация.   -  person Ameer Usman    schedule 03.05.2021
comment
согласно вашему новому обновлению As the NIC card I am using does not support the ETH_RSS_VXLAN or other tunnel RSS offloads,. Следовательно, с какой проблемой вы столкнулись?   -  person Vipin Varghese    schedule 04.05.2021
comment
потому что согласно поддержке PMD MLX5_EXPANSION_OUTER_IPV4_UDP, MLX5_EXPANSION_OUTER_IPV6_UDP, MLX5_EXPANSION_VXLAN и MLX5_EXPANSION_VXLAN_GPE поддерживаются в RTE_FLOW для инкапсулирования и декапирования VxLAN. RSS включен только для ETH_RSS_NONFRAG_IPV6_UDP или ETH_RSS_NONFRAG_IPV6_UDP для внешнего заголовка. doc.dpdk.org/guides/nics/mlx5.html рассказывает о RSS. и VxLan разгружается с помощью коммутатора, поэтому, если вы используете коммутатор с отключенным VXLAN, вы будете получать пакеты с RSS в очереди rx. Но если намерение состоит в том, чтобы получать пакеты VXLAN с включенным RSS на VNI, я не думаю, что в настоящее время в DPDK 20.11 есть опция.   -  person Vipin Varghese    schedule 04.05.2021
comment
Я пытаюсь выяснить, каково было бы его поведение, если бы ETH_RSS_VXLAN использовался на сетевом адаптере? Будет ли он использовать VNI? Будет ли он использовать поля внутреннего IP-заголовка или поля внешнего IP-заголовка (если они связаны с ETH_RSS_IP).   -  person Ameer Usman    schedule 04.05.2021
comment
поскольку общий доступ основан на PMD MXl5 и документации, нет опции для RSS в полях VNI, поэтому опция ETH_RSS_VXLAN отсутствует. По умолчанию RSS основан на внешнем IP-адресе, но если вам нужно получить доступ к внутренним полям IP-адреса RSS после VNI, используйте RTE_FLOW. для включения RSS для определенных пакетов (vxlan).   -  person Vipin Varghese    schedule 04.05.2021
comment
дайте мне знать, если понятно?   -  person Vipin Varghese    schedule 04.05.2021
comment
Понятно, что mlx5 pmd не имеет этой опции, но я хочу знать, что если бы определенный сетевой адаптер использовал эту опцию, каков был бы его поведение? Например, QLogic FastLinQ PMD, похоже, имеет ссылку на ETH_RSS_VXLAN в файле qede_rxtx.h внутри драйверов.   -  person Ameer Usman    schedule 04.05.2021
comment
QELOGIC и Thunderx по умолчанию имеют RSS для vxlan. Intel FVl и CVL включают их через профиль DDP. Но как уже упоминалось, вопрос не в MXL5? Я обновлю ответ, примите его и проголосуйте за него, если он будет полезен   -  person Vipin Varghese    schedule 04.05.2021
comment
Вопрос, который я хотел задать, никогда не касался mlx5, мне просто нужна была общая информация о том, как это будет работать. Также вы упомянули профиль DDP, было бы здорово, если бы вы могли пролить свет и на него.   -  person Ameer Usman    schedule 04.05.2021
comment
Я могу обновить следующие сведения, которые я знаю, в ответе. Но если у вас есть конкретные вопросы по DPDK на основе NIC производителя. Я настоятельно рекомендую открыть конкретный вопрос и поделиться своими шагами и проблемами. не существует универсального ответа на вопросы, касающиеся сетевых адаптеров конкретного производителя.   -  person Vipin Varghese    schedule 04.05.2021
comment
Обновите ответы, если вы сочли это полезным, примите и проголосуйте, чтобы закрыть заявку.   -  person Vipin Varghese    schedule 04.05.2021
comment
не могли бы вы принять и проголосовать, чтобы закрыть текущий тикет.   -  person Vipin Varghese    schedule 06.05.2021
comment
Ну, так как исходный вопрос был полностью изменен, я отправлю новый запрос о том, какая информация мне действительно нужна.   -  person Ameer Usman    schedule 06.05.2021
comment
что вы имеете в виду под изменением исходного вопроса? Я сейчас запутался в словах   -  person Vipin Varghese    schedule 06.05.2021
comment
вы можете проверить правки и утверждения, отслеживая историю, 3 мая (добавлено редактирование для добавления сетевой карты mellanox и прошивки), а 4 мая будет выполнено форматирование, чтобы четко описать текущую проблему. Насколько я понимаю, намерение вашего первоначального вопроса не изменилось. Поэтому, пожалуйста, либо закройте заявку, приняв / проголосовав за нее, либо удалив текущую.   -  person Vipin Varghese    schedule 06.05.2021


Ответы (1)


Согласно DPDK 20.11.1 и MLX5 PMD, включение RSS на основе VXLAN через DPDK rte_dev_configure отсутствует. поскольку текущая поддержка PMD MLX5_EXPANSION_OUTER_IPV4_UDP, MLX5_EXPANSION_OUTER_IPV6_UDP, MLX5_EXPANSION_VXLAN и MLX5_EXPANSION_VXLAN_GPE предназначена для RTE_FLOW для включения и отключения VxLAN для коммутатора. DPDK rte_eth_dev_configure - это общий API для всех сетевых адаптеров.

Поэтому, если реальное намерение состоит в том, чтобы распространять пакеты на основе ВНУТРЕННЕГО IP-адреса, я настоятельно рекомендую использовать RTE_FLOW с совпадением потоков в качестве номеров портов OUTER-IP и UDP и действием RSS на ВНУТРЕННИЙ IP-адрес и номер порта. Но приложение L3FWD должно быть модифицировано для этого.

Другие сетевые адаптеры, поддерживаемые DPDK, также поддерживают VNI (с разной степенью);

  1. NXP Qede
  2. Marvell Thunderx
  3. Intel FVL и CVL

на Intel FVL и поиск CVL может быть выполнен с последующей рассылкой RSS в определенные очереди. общую настройку можно выполнить с помощью

  1. для FVL укажите микропрограмму сетевого адаптера, которая поддерживает VXLAN, с сайта Intel для вашего сетевого адаптера.
  2. с помощью инструмента nvmupdate прошейте FVL прошивкой и перезапустите машину.
  3. Используя приложение DPDK (пример: testpmd) создайте 5 очередей rxqueues
  4. установите правило потока как IF traffic is tunneled with VXLAN, then use action 1) RSS for inner IP on Q1 to Q4 action 2) Decap the Tunnel header.

см. образец теста для получения дополнительных сведений.

Примечание: я настоятельно рекомендую открыть вопрос, связанный с поставщиком DPDK, с подробной информацией о программе-образце, выполненных действиях и возникших проблемах.

person Vipin Varghese    schedule 04.05.2021