3

Я хочу привязать DPDK к сетевой карте, и я следую этой документации здесь
Если у меня есть только один физический сетевой адаптер, как мы можем гарантировать, что мы не потеряем соединение с компьютером при выполнении команды dpdk_nic_bind?

Более конкретно, у меня есть виртуальная машина Google Compute, на которой я пытаюсь это сделать, и, очевидно, мое SSH-соединение теряется, когда я на этом этапе. Какой обходной путь для этого?

1 ответ1

0

Для этого нет прямого обходного пути. Однако существует несколько вариантов запуска приложения DPDK без использования физических сетевых карт:

Запуск DPDK внутри виртуальной машины

  1. Запустите виртуальную машину с таким количеством сетевых карт, сколько вам нужно.
  2. Внутри виртуальной машины свяжите сетевые карты с UIO.
  3. Внутри виртуальной машины запустите DPDK, и он должен нормально работать с сетевыми картами внутри виртуальной машины.

Для получения дополнительной информации, пожалуйста, ознакомьтесь с драйвером режима опроса DPDK для эмулируемой сетевой карты Virtio.

Обратите внимание, что эта опция может быть недоступна на ВМ, т. Е. Вы не сможете запустить ВМ внутри ВМ.

Использование виртуального устройства DPDK

  1. Скомпилируйте DPDK с поддержкой libpcap .
  2. Сконфигурируйте хост для запуска приложения DPDK как обычно (т.е. включите огромные страницы и т.д.).
  3. Не связывайте никакие сетевые карты с UIO.
  4. Создайте несколько интерфейсов TUN/TAP, соедините их с помощью физического сетевого адаптера.
  5. Запустите приложение DPDK как обычно, но передайте несколько аргументов --vdev чтобы создать несколько виртуальных устройств, например:

    testpmd -l 0-3 -n 4 \--vdev 'net_pcap0, iface = tun0' --vdev 'net_pcap1, iface = tun1' ...

Для получения дополнительной информации, пожалуйста, взгляните на DPDK libpcap Poll Mode Driver.

Обратите внимание, что эти параметры значительно снизят производительность DPDK из-за использования функциональности ядра Linux и библиотеки pcap.

Использование виртуальных функций NIC:

  1. Настройте поддержку SR-IOV на хосте.
  2. Настройте несколько виртуальных функций на сетевом адаптере хоста.
  3. На хосте привязайте несколько виртуальных функций NIV к vfio-pci
  4. На хосте запустите DPDK, и он должен нормально работать с виртуальными функциями сетевого адаптера.

Для общего описания SR-IOV вы можете найти полезный драйвер виртуальной функции DPDK Intel.

Обратите внимание, что эта опция может быть недоступна на виртуальной машине.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .