Это моя 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
По моему мнению, на самом деле не имеет смысла включать много очереди без рулевого управления, потому что в противном случае это невозможно выполнить равномерное распределение нагрузки на несколько процессоров.