On Wed, 15 May 2024 13:50:38 +0530 Nagesh Mallappa <mallappanag...@gmail.com> wrote:
> Hi Team, > > We are using a C3 GCP instance having GVNIC with DPDK enabled. > We are using latest version of DPDK ( dpdk-24.03 ) to configure RSS key, we > understand C3 GCP instance with gvnic supports Toeplitz rss algorithm ( > Reference - > https://github.com/google/compute-virtual-ethernet-dpdk/blob/main/gve_ethdev.c > ), > but we are hitting below issue. > > *Problem Statement - The RSS Hash value returned by the gvnic driver is > different and is not matching the one computed by Toeplitz.* > > Using below script to compute rss hash value from Toeplitz. > (https://gist.github.com/joongh/16867705b03b49e393cbf91da3cb42a7) > > Consider below data to compute RSS Hash value - > > Source IP - 79.124.62.122 > Destination IP - 192.168.7.28 > Source Port - 49442 > Destination Port - 55327 > RSS Key - {0x94e3e97e, 0x4abac401, 0x1e0edbf, 0xe059e1f4, 0xb6e27dff, > 0xdf55c916, 0xe9e6e4db, 0x1f9fb82c, 0x1e0edbf, 0xe059e1f4} > > *Hash Value returned by Toeplitz - 0x8bbafd0f* > > Gvnic dpdk pmd driver which uses Toeplitz RSS hash algorithm too is > expected to compute above RSS Hash value but we see the Hash value stored > in dpdk mbuf to be 0xc6a15941 which is not right. > From the DPDK side we have ensured RSS offloading configuration is done > appropriately, but still we are seeing above mismatch. > > We request you to please help us understand why this mismatch is happening > and is this expected behavior of gvnic on C3 instance. Could you see if it is a driver byte order issue by byteswapping the key?