]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
net/ena: fix ethtool RSS flow configuration
authorNetanel Belgazal <netanel@annapurnalabs.com>
Mon, 13 Feb 2017 23:10:01 +0000 (15:10 -0800)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Thu, 6 Apr 2017 08:25:52 +0000 (09:25 +0100)
BugLink: http://bugs.launchpad.net/bugs/1664312
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>
(cherry picked from commit 6e2de20ddc4b606a9b6b170a6bb21ee4dc4ad93a)
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Brad Figg <brad.figg@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
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 {