net/ena: fix ethtool RSS flow configuration
authorNetanel Belgazal <netanel@annapurnalabs.com>
Thu, 9 Feb 2017 13:21:29 +0000 (15:21 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Feb 2017 03:27:06 +0000 (22:27 -0500)
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 <netanel@annapurnalabs.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_admin_defs.h

index a46e749bf2268776dc9db9405eb3cec5b83f06a0..e1594d6d6789db4890eff96b710e06b2214a3884 100644 (file)
@@ -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 {