Проблема с запуском примера программы KNI на RHEL 8 через vmware

#vmware #rhel #dpdk

#vmware #rhel #dpdk

Вопрос:

Ранее я мог успешно запускать программу-пример «kni» в DPDK (версия 20.08) на RHEL 8 через KVM (с драйвером Ethernet virtio-pci).

Затем я перешел на запуск этого «kni» на RHEL 8 через vmware (с драйвером vmxnet3). Если бы я запустил этот «kni» для использования 2 портов:

./kni -c 0x1f -n 4 — -P -p 0x3 —config=»(0,1,2),(1,3,4)»

Он зависал при инициализации 2-го порта (инициализация 1-го порта в порядке).

Если он начал использовать только 1 порт:

./kni -c 0x07 -n 4 — -P -p 0x1 —config=»(0,1,2)»

Он мог успешно запуститься, но зависал, когда я убивал эту программу (используя kill -9).

На самом деле, я не уверен, зависала виртуальная машина или нет, потому что все сетевые интерфейсы исчезли, когда программа «зависала» — я был вынужден выйти из системы, поскольку я подключился к виртуальной машине с помощью сеанса SSH.

Кажется, DPDK не очень хорошо работает на RHEL 8, если он работает через vmware (с использованием ‘vmxnet3’). Есть подозрение, что может быть какая-то проблема с драйвером vmxnet3.

Кто-нибудь может успешно запустить приложение DPDK (20.08) KNI на RHEL 8 через vmware?

Комментарии:

1. сколько ядер pinned у вашей виртуальной машины? с приложением с 2 портами, которое вы передали как 0x1f so, есть ли у вас 5 процессор внутри вашей виртуальной машины? В вашем вопросе вы сделали замечание seems DPDK doesn't work quite well on RHEL 8 if it is over vmware (using 'vmxnet3') . Насколько я помню, DPDK PMD поверх vmxnet3 и KNI это 2 разных PMD, точно так же, как прохождение PCIe является отличным PMD для физического сетевого адаптера и KNI. Итак, вы можете разобрать и объяснить 2 пункта.

2. Поскольку у вас есть 2 порта, вы включили kthread_mode=multiple ? и привязаны к потоку lcore lcore_kthread ? ждем ваших обновлений

3. Да, я понимаю, что KNI и vmxnet3 — это 2 разных PMD. Имеется 8 ядер, поэтому количество ядер не является проблемой. Как я уже сказал, я могу успешно запустить ту же программу с теми же аргументами командной строки на RHEL 8 через KVM (независимо от того, запускаю я ее с 1 порта или 2 портов). Это просто сбой (зависание или некоторые другие проблемы) на RHEL 8 через vmware, поэтому я подозреваю, что проблема в PMD ‘vmxnet3’. Игнорируя регистр с 2 портами, даже для случая с 1 портом, программа привела к зависанию ОС, когда я убил программу (чего не произошло на RHEL 8 через KVM).

4. Я рекомендую обновить билет соответствующей информацией, такой как версия ядра, количество ядер, журналы dmesg, системного журнала и dpdk (для PMD включен уровень 8). Я буду ждать ваших обновлений.