bnx2x: fix L2-GRE TCP issues
authorDmitry Kravkov <dmitry@broadcom.com>
Tue, 4 Feb 2014 15:43:03 +0000 (17:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 5 Feb 2014 04:34:06 +0000 (20:34 -0800)
When configuring GRE tunnel using OVS, tcp stream is distributed over
all RSS queues which may cause TCP reordering. It happens since OVS
uses L2GRE protocol when kernel gre uses IPGRE.
Patch defaults gre tunnel to L2GRE which allows proper RSS for L2GRE
packets and (implicitly) disables RSS for IPGRE traffic.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h

index 17d1689aec6b83cd002bed8a62ad7b6d06cba1b6..bfc58d488bb52fde01d82ceb60647df083534bd8 100644 (file)
@@ -936,7 +936,7 @@ static inline int bnx2x_func_start(struct bnx2x *bp)
        else /* CHIP_IS_E1X */
                start_params->network_cos_mode = FW_WRR;
 
-       start_params->gre_tunnel_mode = IPGRE_TUNNEL;
+       start_params->gre_tunnel_mode = L2GRE_TUNNEL;
        start_params->gre_tunnel_rss = GRE_INNER_HEADERS_RSS;
 
        return bnx2x_func_state_change(bp, &func_params);