mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
netdev-dpdk: Fix RSS configuration for virtio.
In the future, virtio may support RSS. In any case, it is safer to rely on exposed capabilities rather than matching on driver names. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Michael Santana <msantana@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
committed by
Ilya Maximets
parent
d0020c5e87
commit
5e86db383f
@@ -961,14 +961,6 @@ dpdk_eth_dev_port_config(struct netdev_dpdk *dev, int n_rxq, int n_txq)
|
||||
|
||||
rte_eth_dev_info_get(dev->port_id, &info);
|
||||
|
||||
/* As of DPDK 19.11, it is not allowed to set a mq_mode for
|
||||
* virtio PMD driver. */
|
||||
if (!strcmp(info.driver_name, "net_virtio")) {
|
||||
conf.rxmode.mq_mode = ETH_MQ_RX_NONE;
|
||||
} else {
|
||||
conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
|
||||
}
|
||||
|
||||
/* As of DPDK 17.11.1 a few PMDs require to explicitly enable
|
||||
* scatter to support jumbo RX.
|
||||
* Setting scatter for the device is done after checking for
|
||||
@@ -1000,6 +992,11 @@ dpdk_eth_dev_port_config(struct netdev_dpdk *dev, int n_rxq, int n_txq)
|
||||
/* Limit configured rss hash functions to only those supported
|
||||
* by the eth device. */
|
||||
conf.rx_adv_conf.rss_conf.rss_hf &= info.flow_type_rss_offloads;
|
||||
if (conf.rx_adv_conf.rss_conf.rss_hf == 0) {
|
||||
conf.rxmode.mq_mode = ETH_MQ_RX_NONE;
|
||||
} else {
|
||||
conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
|
||||
}
|
||||
|
||||
/* A device may report more queues than it makes available (this has
|
||||
* been observed for Intel xl710, which reserves some of them for
|
||||
|
Reference in New Issue
Block a user