Wrong rx queue assignment running DPDK on Azure

Stephen Hemminger stephen at networkplumber.org
Fri Nov 4 17:52:02 CET 2022


On Tue, 1 Nov 2022 17:25:24 -0700
Yang Luan <luan.penny at gmail.com> wrote:

> Hello,
> 
> 
> Our application uses the net_netvsc driver in DPDK 21.08 on Azure. We found
> an issue where RSS doesn’t deliver packets to the correct rx queue. The
> instance type we use is Standard_L80s_v3 with MT27800 Family [ConnectX-5
> Virtual Function] NICs. The NIC is configured with 40 rx queues and the
> RETA table is configured (confirmed by rte_eth_dev_rss_reta_query()) as
> below.
> 
> 
> 
>   0:       0    1    2    3    4    5    6    7
> 
>   8:       8    9   10   11   12   13   14   15
> 
>  16:      16   17   18   19   20   21   22   23
> 
> 24:      24   25   26   27   28   29   30   31
> 
> 32:      32   33   34   35   36   37   38   39
> 
> 40:       0    1    2    3    4    5    6    7
> 
> 48:       8    9   10   11   12   13   14   15
> 
> 56:      16   17   18   19   20   21   22   23
> 
> 64:      24   25   26   27   28   29   30   31
> 
> 72:      32   33   34   35   36   37   38   39
> 
> 80:       0    1    2    3    4    5    6    7
> 
> 88:       8    9   10   11   12   13   14   15
> 
> 96:      16   17   18   19   20   21   22   23
> 
> 104:      24   25   26   27   28   29   30   31
> 
> 112:      32   33   34   35   36   37   38   39
> 
> 120:       0    1    2    3    4    5    6    7
> 
> 
> 
> One example is a packet received with rss key 0xEDE25D84 was incorrectly
> delivered to rx queue 12. We expect it to be queue 4 as 0xEDE25D84 & 0x7F =
> 4 assuming seven of the least significant bits (LSBs) are used for indexing
> into the RETA table.  Is it a bug or we made a wrong assumption on how the
> RETA table is accessed with that device?
> 
> 
> Thank you.
> 
> Yang

Are you using failsafe PMD or the native netvsc PMD?
Are you programming reta table via DPDK or through other API's?


More information about the users mailing list