Hi Stephen,

Thanks for your response,
I have verified that too, but that is not the case.

Thanks,
Nagesh

On Wed, May 15, 2024 at 8:34 PM Stephen Hemminger <stephen@networkplumber.org> wrote:
On Wed, 15 May 2024 13:50:38 +0530
Nagesh Mallappa <mallappanagesh@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?