Skip to content

Commit

Permalink
netdev-dpdk: Fix RSS configuration for virtio.
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Michael Santana <[email protected]>
Reviewed-by: Maxime Coquelin <[email protected]>
Signed-off-by: Ilya Maximets <[email protected]>
  • Loading branch information
david-marchand authored and igsilya committed Sep 15, 2021
1 parent d0020c5 commit 5e86db3
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions lib/netdev-dpdk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 5e86db3

Please sign in to comment.