diff options
author | Inbar Karmy <inbark@mellanox.com> | 2017-12-07 10:26:33 -0500 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2018-02-20 15:52:54 -0500 |
commit | ef7a3518f7dd4f4cf5e5b5358c93d1eb78df28fb (patch) | |
tree | 335acdd94629167d42adb57438906b7852bdf165 | |
parent | 8babd44d2079079f9d5a4aca7005aed80236efe0 (diff) |
net/mlx5e: Fix loopback self test when GRO is off
When GRO is off, the transport header pointer in sk_buff is
initialized to network's header.
To find the udp header, instead of using udp_hdr() which assumes
skb_network_header was set, manually calculate the udp header offset.
Fixes: 0952da791c97 ("net/mlx5e: Add support for loopback selftest")
Signed-off-by: Inbar Karmy <inbark@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c b/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c index 5a4608281f38..707976482c09 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c | |||
@@ -216,7 +216,8 @@ mlx5e_test_loopback_validate(struct sk_buff *skb, | |||
216 | if (iph->protocol != IPPROTO_UDP) | 216 | if (iph->protocol != IPPROTO_UDP) |
217 | goto out; | 217 | goto out; |
218 | 218 | ||
219 | udph = udp_hdr(skb); | 219 | /* Don't assume skb_transport_header() was set */ |
220 | udph = (struct udphdr *)((u8 *)iph + 4 * iph->ihl); | ||
220 | if (udph->dest != htons(9)) | 221 | if (udph->dest != htons(9)) |
221 | goto out; | 222 | goto out; |
222 | 223 | ||