forked from amzn/amzn-drivers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0021-net-ena-fix-indication-of-bad-L4-Rx-checksums.patch
44 lines (35 loc) · 1.44 KB
/
0021-net-ena-fix-indication-of-bad-L4-Rx-checksums.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From a0233e4d8570687b69098c4bd8c6de3f7d0f3729 Mon Sep 17 00:00:00 2001
From: Igor Chauskin <[email protected]>
Date: Mon, 28 Oct 2019 11:23:33 +0100
Subject: [PATCH 21/27] net/ena: fix indication of bad L4 Rx checksums
[ upstream commit 05817057faba9356900ced61e24a22eef6bc4c87 ]
Add checking of l4_csum_checked and frag flags before checking the
l4_csum_error flag.
In case of IP fragment/unchecked L4 csum - add PKT_RX_L4_CKSUM_UNKNOWN
flag to the indicated mbuf.
Fixes: 1173fca25af9 ("ena: add polling-mode driver")
Change-Id: I9f1414741eb44ca289a8bfd11d7e66110c95040e
Signed-off-by: Igor Chauskin <[email protected]>
Reviewed-by: Maciej Bielski <[email protected]>
Reviewed-by: Michal Krawczyk <[email protected]>
---
drivers/net/ena/ena_ethdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 7768eabbab..dd60b7582d 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -292,8 +292,11 @@ static inline void ena_rx_mbuf_prepare(struct rte_mbuf *mbuf,
else if (ena_rx_ctx->l3_proto == ENA_ETH_IO_L3_PROTO_IPV6)
packet_type |= RTE_PTYPE_L3_IPV6;
- if (unlikely(ena_rx_ctx->l4_csum_err))
+ if (unlikely(ena_rx_ctx->l4_csum_err) && !ena_rx_ctx->frag)
ol_flags |= PKT_RX_L4_CKSUM_BAD;
+ else
+ ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN;
+
if (unlikely(ena_rx_ctx->l3_csum_err))
ol_flags |= PKT_RX_IP_CKSUM_BAD;
--
2.20.1