CRC32 engines are usually easily available in hardware and generate
OK spread for RSS hash.  Add CRC32 RSS hash function to ethtool API.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 enum {
        ETH_RSS_HASH_TOP_BIT, /* Configurable RSS hash function - Toeplitz */
        ETH_RSS_HASH_XOR_BIT, /* Configurable RSS hash function - Xor */
+       ETH_RSS_HASH_CRC32_BIT, /* Configurable RSS hash function - Crc32 */
 
        /*
         * Add your fresh new hash function bits above and remember to update
 
 #define ETH_RSS_HASH_TOP       __ETH_RSS_HASH(TOP)
 #define ETH_RSS_HASH_XOR       __ETH_RSS_HASH(XOR)
+#define ETH_RSS_HASH_CRC32     __ETH_RSS_HASH(CRC32)
 
 #define ETH_RSS_HASH_UNKNOWN   0
 #define ETH_RSS_HASH_NO_CHANGE 0
 
 rss_hash_func_strings[ETH_RSS_HASH_FUNCS_COUNT][ETH_GSTRING_LEN] = {
        [ETH_RSS_HASH_TOP_BIT] =        "toeplitz",
        [ETH_RSS_HASH_XOR_BIT] =        "xor",
+       [ETH_RSS_HASH_CRC32_BIT] =      "crc32",
 };
 
 static const char