mirror of https://gitee.com/openkylin/linux.git
net/mlx5e: Fix loopback selftest
Change packet type handler to ETH_P_IP instead of ETH_P_ALL
since we are already expecting an IP packet.
Also, using ETH_P_ALL will cause the loopback test packet type handler
to be called on all outgoing packets, especially our own self loopback
test SKB, which will be validated on xmit as well, and we don't want that.
Tested with:
ethtool -t ethX
validated that the loopback test passes.
Fixes: 0952da791c
('net/mlx5e: Add support for loopback selftest')
Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
65ba8fb7d5
commit
ea29bd304d
|
@ -204,9 +204,6 @@ mlx5e_test_loopback_validate(struct sk_buff *skb,
|
|||
struct iphdr *iph;
|
||||
|
||||
/* We are only going to peek, no need to clone the SKB */
|
||||
if (skb->protocol != htons(ETH_P_IP))
|
||||
goto out;
|
||||
|
||||
if (MLX5E_TEST_PKT_SIZE - ETH_HLEN > skb_headlen(skb))
|
||||
goto out;
|
||||
|
||||
|
@ -249,7 +246,7 @@ static int mlx5e_test_loopback_setup(struct mlx5e_priv *priv,
|
|||
lbtp->loopback_ok = false;
|
||||
init_completion(&lbtp->comp);
|
||||
|
||||
lbtp->pt.type = htons(ETH_P_ALL);
|
||||
lbtp->pt.type = htons(ETH_P_IP);
|
||||
lbtp->pt.func = mlx5e_test_loopback_validate;
|
||||
lbtp->pt.dev = priv->netdev;
|
||||
lbtp->pt.af_packet_priv = lbtp;
|
||||
|
|
Loading…
Reference in New Issue