The RX indirection hash function is eight bits. Using more than one hash
function doesn't make sense, therefore using this field as a value
instead of a bit flag.
Moving from bit flags into value shouldn't introduce any backward
compatibility issues, since currently there are only 2 functions,
therfore the actual value in the field hfunc is the same like before 1
for Toeplitz and 2 for XOR.

Fixes: 892311f ("ethtool: Support for configurable RSS hash function")
Signed-off-by: Amir Vadai <am...@mellanox.com>
---
 include/linux/ethtool.h | 9 ++-------
 net/core/ethtool.c      | 4 ++--
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 653dc9c..d19f31a 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -60,8 +60,8 @@ enum ethtool_phys_id_state {
 };
 
 enum {
-       ETH_RSS_HASH_TOP_BIT, /* Configurable RSS hash function - Toeplitz */
-       ETH_RSS_HASH_XOR_BIT, /* Configurable RSS hash function - Xor */
+       ETH_RSS_HASH_TOP = 1, /* Configurable RSS hash function - Toeplitz */
+       ETH_RSS_HASH_XOR = 2, /* Configurable RSS hash function - Xor */
 
        /*
         * Add your fresh new hash function bits above and remember to update
@@ -70,11 +70,6 @@ enum {
        ETH_RSS_HASH_FUNCS_COUNT
 };
 
-#define __ETH_RSS_HASH_BIT(bit)        ((u32)1 << (bit))
-#define __ETH_RSS_HASH(name)   __ETH_RSS_HASH_BIT(ETH_RSS_HASH_##name##_BIT)
-
-#define ETH_RSS_HASH_TOP       __ETH_RSS_HASH(TOP)
-#define ETH_RSS_HASH_XOR       __ETH_RSS_HASH(XOR)
 
 #define ETH_RSS_HASH_UNKNOWN   0
 #define ETH_RSS_HASH_NO_CHANGE 0
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
index 1d00b89..1a1db95 100644
--- a/net/core/ethtool.c
+++ b/net/core/ethtool.c
@@ -103,8 +103,8 @@ static const char 
netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN]
 
 static const char
 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_TOP] =            "toeplitz",
+       [ETH_RSS_HASH_XOR] =            "xor",
 };
 
 static int ethtool_get_features(struct net_device *dev, void __user *useraddr)
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to