Message ID | 1425221774-8874-3-git-send-email-ogerlitz@mellanox.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Hello. On 3/1/2015 5:56 PM, Or Gerlitz wrote: > From: Ido Shamay <idos@mellanox.com> > Packets which are sent from the selftest (ethtool) flow, should not > be passed to the 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@linux.vnet.ibm.com> > Signed-off-by: Ido Shamay <idos@mellanox.com> > Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> > --- > drivers/net/ethernet/mellanox/mlx4/en_selftest.c | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletions(-) > diff --git a/drivers/net/ethernet/mellanox/mlx4/en_selftest.c b/drivers/net/ethernet/mellanox/mlx4/en_selftest.c > index 2d8ee66..ac8870c 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); Parens not necessary here. [...] WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 3/1/2015 7:24 PM, Sergei Shtylyov wrote: > Hello. > > On 3/1/2015 5:56 PM, Or Gerlitz wrote: > >> From: Ido Shamay <idos@mellanox.com> > >> Packets which are sent from the selftest (ethtool) flow, should not >> be passed to the 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@linux.vnet.ibm.com> >> Signed-off-by: Ido Shamay <idos@mellanox.com> >> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> >> --- >> drivers/net/ethernet/mellanox/mlx4/en_selftest.c | 8 +++++++- >> 1 files changed, 7 insertions(+), 1 deletions(-) > >> diff --git a/drivers/net/ethernet/mellanox/mlx4/en_selftest.c >> b/drivers/net/ethernet/mellanox/mlx4/en_selftest.c >> index 2d8ee66..ac8870c 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); > > Parens not necessary here. > Will be fixed in V1, thanks. Any chance checkpatch can identify such cases? > [...] > > WBR, Sergei > > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_selftest.c b/drivers/net/ethernet/mellanox/mlx4/en_selftest.c index 2d8ee66..ac8870c 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; }