KVM / QEMU virtio (macvtap): возможна ли RSS с несколькими очередями? - PullRequest
0 голосов
/ 09 апреля 2020

Это моя virt-manager virtio macvtap настройка:

<interface type='direct' trustGuestRxFilters='yes'>
  <mac address='52:54:00:b7:7d:c2'/>
  <source dev='eth20' mode='passthrough'/>
  <model type='virtio'/>
  <driver name='vhost' queues='4'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

Поскольку поддерживается несколько RX-очередей, мне интересно, возможно ли сделать Receive Side Steering. Это означает, что я в основном могу сообщить NI C, куда я хочу указать определенные c пакеты, такие как

ethtool -N eth1 flow-type udp4 dst-ip 10.1.1.1 action 0

, которые будут отправлять все пакеты с dst-ip 10.1.1.1 на RX-Queue 0. Но если я пытаюсь установить ethtool rule, я получаю эту ошибку:

rxclass: Cannot get RX class rule count: Operation not supported

По моему мнению, на самом деле не имеет смысла включать много очереди без рулевого управления, потому что в противном случае это невозможно выполнить равномерное распределение нагрузки на несколько процессоров.

...