net/mlx4_en: Fix selftest for small MTUs
Set the minimal MTU threshold for running loopback selftest.
MTU should be big enough to include packet payload, NET_IP_ALIGN,
Ethernet headers and preamble length.
Fixes: e7c1c2c462
("mlx4_en: Added self diagnostics test implementation")
Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
de9c4e06bb
commit
78034f5fdd
|
@ -185,7 +185,7 @@ void mlx4_en_ex_selftest(struct net_device *dev, u32 *flags, u64 *buf)
|
||||||
if (priv->mdev->dev->caps.flags &
|
if (priv->mdev->dev->caps.flags &
|
||||||
MLX4_DEV_CAP_FLAG_UC_LOOPBACK) {
|
MLX4_DEV_CAP_FLAG_UC_LOOPBACK) {
|
||||||
buf[3] = mlx4_en_test_registers(priv);
|
buf[3] = mlx4_en_test_registers(priv);
|
||||||
if (priv->port_up)
|
if (priv->port_up && dev->mtu >= MLX4_SELFTEST_LB_MIN_MTU)
|
||||||
buf[4] = mlx4_en_test_loopback(priv);
|
buf[4] = mlx4_en_test_loopback(priv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -153,6 +153,9 @@
|
||||||
#define SMALL_PACKET_SIZE (256 - NET_IP_ALIGN)
|
#define SMALL_PACKET_SIZE (256 - NET_IP_ALIGN)
|
||||||
#define HEADER_COPY_SIZE (128 - NET_IP_ALIGN)
|
#define HEADER_COPY_SIZE (128 - NET_IP_ALIGN)
|
||||||
#define MLX4_LOOPBACK_TEST_PAYLOAD (HEADER_COPY_SIZE - ETH_HLEN)
|
#define MLX4_LOOPBACK_TEST_PAYLOAD (HEADER_COPY_SIZE - ETH_HLEN)
|
||||||
|
#define PREAMBLE_LEN 8
|
||||||
|
#define MLX4_SELFTEST_LB_MIN_MTU (MLX4_LOOPBACK_TEST_PAYLOAD + NET_IP_ALIGN + \
|
||||||
|
ETH_HLEN + PREAMBLE_LEN)
|
||||||
|
|
||||||
#define MLX4_EN_MIN_MTU 46
|
#define MLX4_EN_MIN_MTU 46
|
||||||
/* VLAN_HLEN is added twice,to support skb vlan tagged with multiple
|
/* VLAN_HLEN is added twice,to support skb vlan tagged with multiple
|
||||||
|
|
Loading…
Reference in New Issue