ena_flow_data_to_flow_hash and ena_flow_hash_to_flow_type
treat the ena_flow_hash_to_flow_type enum as power of two values.

Change the values of ena_admin_flow_hash_fields to be power of two values.

This bug effect the ethtool set/get rxnfc.
ethtool will report wrong values hash fields for get and will
configure wrong hash fields in set.

Signed-off-by: Netanel Belgazal <neta...@annapurnalabs.com>
---
 drivers/net/ethernet/amazon/ena/ena_admin_defs.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/amazon/ena/ena_admin_defs.h 
b/drivers/net/ethernet/amazon/ena/ena_admin_defs.h
index a46e749..e1594d6 100644
--- a/drivers/net/ethernet/amazon/ena/ena_admin_defs.h
+++ b/drivers/net/ethernet/amazon/ena/ena_admin_defs.h
@@ -631,22 +631,22 @@ enum ena_admin_flow_hash_proto {
 /* RSS flow hash fields */
 enum ena_admin_flow_hash_fields {
        /* Ethernet Dest Addr */
-       ENA_ADMIN_RSS_L2_DA     = 0,
+       ENA_ADMIN_RSS_L2_DA     = BIT(0),
 
        /* Ethernet Src Addr */
-       ENA_ADMIN_RSS_L2_SA     = 1,
+       ENA_ADMIN_RSS_L2_SA     = BIT(1),
 
        /* ipv4/6 Dest Addr */
-       ENA_ADMIN_RSS_L3_DA     = 2,
+       ENA_ADMIN_RSS_L3_DA     = BIT(2),
 
        /* ipv4/6 Src Addr */
-       ENA_ADMIN_RSS_L3_SA     = 5,
+       ENA_ADMIN_RSS_L3_SA     = BIT(3),
 
        /* tcp/udp Dest Port */
-       ENA_ADMIN_RSS_L4_DP     = 6,
+       ENA_ADMIN_RSS_L4_DP     = BIT(4),
 
        /* tcp/udp Src Port */
-       ENA_ADMIN_RSS_L4_SP     = 7,
+       ENA_ADMIN_RSS_L4_SP     = BIT(5),
 };
 
 struct ena_admin_proto_input {
-- 
2.7.4

Reply via email to