[dpdk-users] wrong core receive the package

shengxiao qian tedsxqian at gmail.com
Thu Mar 22 07:40:47 CET 2018


I add some logs,it shows that the packet's hash value is 3104575691
<(310)%20457-5691> and it was received by core 3.
if the function rte_eth_dev_rss_reta_update works well.the  hash
indirection table maybe like this:
    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:     8     9    10    11    12    13    14    15
  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

The hash value 3104575691 <(310)%20457-5691> & 127 = 75,according to the hash
indirection table, the core num 35 is right.But actually it was core3
received.

So i guess may be the hash indirection table is wrong? How can i check this?


2018-03-21 22:48 GMT+08:00 Stephen Hemminger <stephen at networkplumber.org>:

> On Wed, 21 Mar 2018 11:13:19 +0800
> shengxiao qian <tedsxqian at gmail.com> wrote:
>
> > Hi there;
> >     Our machine has 2 cpus(Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz)with
> > 40 cores.
> > If the core num is less than or equal to 16. the application with dpdk
> > works fine.But if the core num more than 16.there is something wrong with
> > it.
> >     In our test scenario(more then 16 cores), server a is a tcp client
> and
> > server b is a tcp server. Server a sends a syn packet to server B with
> > core1, and server B returns a syn ack message to server a.Although the
> hash
> > value of these two packets is the same, syn ack packets are distributed
> to
> > server a other core(not the send core),Can anyone give some help?
> >
>
> RSS hash is not symmetrical. The SYN and SYN-ACK packets have swapped
> address and port (src/dest); therefore the hash will be different.
>
> There are some weaker RSS hash keys that are symmetrical.
>


More information about the users mailing list