ACK: [PATCH][Vivid] net/mlx4_en: Disbale GRO for incoming loopback/selftest packets
Brad Figg
brad.figg at canonical.com
Fri Jun 26 16:30:56 UTC 2015
On Thu, Jun 25, 2015 at 09:45:56PM -0300, Rafael David Tinoco wrote:
> BugLink: https://bugs.launchpad.net/bugs/1432848
>
> Packets which are sent from the selftest (ethtool) flow,
> should not be passed to GRO stack but rather dropped by
> the driver after validation. To achieve that, we disable
> GRO for the duration of the selftest.
>
> Fixes: dd65beac48a5 ("net/mlx4_en: Extend usage of napi_gro_frags")
> Reported-by: Carol Soto <clsoto at linux.vnet.ibm.com>
> OriginalAuthor: Ido Shamay <idos at mellanox.com>
> (backported from commit 1037ebbbd262227a91dfdd558159e345d4edf6b7 upstream)
> Signed-off-by: Ido Shamay <idos at mellanox.com>
> Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
> Signed-off-by: David S. Miller <davem at davemloft.net>
> Signed-off-by: Rafael David Tinoco <rafael.tinoco at canonical.com>
> ---
> drivers/net/ethernet/mellanox/mlx4/en_selftest.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx4/en_selftest.c b/drivers/net/ethernet/mellanox/mlx4/en_selftest.c
> index 2d8ee66..a61009f 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/en_selftest.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/en_selftest.c
> @@ -81,12 +81,14 @@ static int mlx4_en_test_loopback(struct mlx4_en_priv *priv)
> {
> u32 loopback_ok = 0;
> int i;
> -
> + bool gro_enabled;
>
> priv->loopback_ok = 0;
> priv->validate_loopback = 1;
> + gro_enabled = priv->dev->features & NETIF_F_GRO;
>
> mlx4_en_update_loopback_state(priv->dev, priv->dev->features);
> + priv->dev->features &= ~NETIF_F_GRO;
>
> /* xmit */
> if (mlx4_en_test_loopback_xmit(priv)) {
> @@ -108,6 +110,10 @@ static int mlx4_en_test_loopback(struct mlx4_en_priv *priv)
> mlx4_en_test_loopback_exit:
>
> priv->validate_loopback = 0;
> +
> + if (gro_enabled)
> + priv->dev->features |= NETIF_F_GRO;
> +
> mlx4_en_update_loopback_state(priv->dev, priv->dev->features);
> return !loopback_ok;
> }
> --
> 2.1.4
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
1. Clean backport.
2. Positive testing.
--
Brad Figg brad.figg at canonical.com http://www.canonical.com
More information about the kernel-team
mailing list