net/ena: fix RSS default hash configuration
authorNetanel Belgazal <netanel@annapurnalabs.com>
Thu, 9 Feb 2017 13:21:30 +0000 (15:21 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Feb 2017 03:27:06 +0000 (22:27 -0500)
ENA default hash configures IPv4_frag hash twice instead of
configure non-IP packets.

The bug caused IPv4 fragmented packets to be calculated based on
L2 source and destination address instead of L3 source and destination.
IPv4 packets can reach to the wrong Rx queue.

Signed-off-by: Netanel Belgazal <netanel@annapurnalabs.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_com.c

index 3066d9c999841033d1f02b85480fb19f0cb112f6..46aad3a4f6e3663de729bfb3fa942661551dae07 100644 (file)
@@ -2184,7 +2184,7 @@ int ena_com_set_default_hash_ctrl(struct ena_com_dev *ena_dev)
        hash_ctrl->selected_fields[ENA_ADMIN_RSS_IP4_FRAG].fields =
                ENA_ADMIN_RSS_L3_SA | ENA_ADMIN_RSS_L3_DA;
 
-       hash_ctrl->selected_fields[ENA_ADMIN_RSS_IP4_FRAG].fields =
+       hash_ctrl->selected_fields[ENA_ADMIN_RSS_NOT_IP].fields =
                ENA_ADMIN_RSS_L2_DA | ENA_ADMIN_RSS_L2_SA;
 
        for (i = 0; i < ENA_ADMIN_RSS_PROTO_NUM; i++) {