app/test: fix CRC hash values
authorDidier Pallard <didier.pallard@6wind.com>
Fri, 19 Feb 2016 11:00:30 +0000 (12:00 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 1 Mar 2016 13:20:13 +0000 (14:20 +0100)
Add some small key lengths (below 4 bytes), and fix odd key lengths
expected returned values for CRC computation to match real CRC values.

Fixes: 6298d2c55ae8 ("app/test: add new functional tests for hash functions")

Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test/test_hash_functions.c

index 3ad6d80..f767a48 100644 (file)
  * e.g.: key size = 4, key = 0x03020100
  *       key size = 8, key = 0x0706050403020100
  */
-static uint32_t hash_values_jhash[2][10] = {{
+static uint32_t hash_values_jhash[2][12] = {{
+       0x8ba9414b, 0xdf0d39c9,
        0xe4cf1d42, 0xd4ccb93c, 0x5e84eafc, 0x21362cfe,
        0x2f4775ab, 0x9ff036cc, 0xeca51474, 0xbc9d6816,
        0x12926a31, 0x1c9fa888
 },
 {
+       0x5c62c303, 0x1b8cf784,
        0x8270ac65, 0x05fa6668, 0x762df861, 0xda088f2f,
        0x59614cd4, 0x7a94f690, 0xdc1e4993, 0x30825494,
        0x91d0e462, 0x768087fc
 }
 };
-static uint32_t hash_values_crc[2][10] = {{
+static uint32_t hash_values_crc[2][12] = {{
+       0x00000000, 0xf26b8303,
        0x91545164, 0x06040eb1, 0x9bb99201, 0xcc4c4fe4,
-       0x14a90993, 0xf8a5dd8c, 0xc62beb31, 0x32bf340e,
-       0x72f9d22b, 0x4a11475e
+       0x14a90993, 0xf8a5dd8c, 0xcaa1ad0b, 0x7ac1e03e,
+       0x43f44466, 0x4a11475e
 },
 {
+       0xbdfd3980, 0x70204542,
        0x98cd4c70, 0xd52c702f, 0x41fc0e1c, 0x3905f65c,
-       0x94bff47f, 0x1bab102d, 0xd2911ed7, 0xe8faa813,
-       0x6bea184b, 0x53028d3e
+       0x94bff47f, 0x1bab102d, 0xf4a2c645, 0xbf441539,
+       0x789c104f, 0x53028d3e
 }
 };
 
@@ -89,6 +93,7 @@ static uint32_t hash_values_crc[2][10] = {{
 static rte_hash_function hashtest_funcs[] = {rte_jhash, rte_hash_crc};
 static uint32_t hashtest_initvals[] = {0, 0xdeadbeef};
 static uint32_t hashtest_key_lens[] = {
+       1, 2,                 /* Unusual key sizes */
        4, 8, 16, 32, 48, 64, /* standard key sizes */
        9,                    /* IPv4 SRC + DST + protocol, unpadded */
        13,                   /* IPv4 5-tuple, unpadded */