We are using LS1043, our board has ls1043 dpaa nic port, also have intel i350 port.
there are differences in the rss hash algorithms of network cards from different manufacturers, resulting in the same flow packet not being in the same queue.
Eg: ls1043 is a traffic forwarding device:
client pc <------> eth0 (DPAA nic) <------> eth1 (Intel i350) <------> server pc
for a tcp session,
packet1: client -> server, the request packet is received to eth0's queue 0, cpu core 0 process it. (use nxp's rss hash key)
packet2: server -> client, the response packet is received to eth1's queue 1, cpu core 1 process it. (use intel's rss hash key)
packet 1 and packet2 was processed on different cpu, will affect performance and other issues.
How can I solve this problem by ensuring that the same 5-tuple packet is hashed to the same queue?Can I set the RSS key algorithm for the dpaa nic card to keep it consistent with i350?
our application is based on DPDK, there are two solutions:
one solution:
we need a dpaa pmd driver that can customize dpaa nic's rss keys(can modify nic rss key, hash algorithm). we change the dpaa's rss key to same as i350.
Does this solution currently support?
second solution:
can you provide the hash algorithm/rss key for ls1043? so we can modify i350's rss key to be the same as ls1043's.
May be it could be possible, but this is out of scope of initial support, You can try as next:
> one option is to use ""Ethtool""
The gianfar driver supports the use of ethtool for many configuration options. You must run ethtool only on currently open interfaces.
> second option
Use the same driver for both MPU, in our case Gianfar and make the modification on it to fixed to your project.