Eric Dumazet
82a01ab35b
tcp: gso: really support BIG TCP
...
We missed that tcp_gso_segment() was assuming skb->len was smaller than 65535 :
oldlen = (u16)~skb->len;
This part came with commit 0718bcc09b35 ("[NET]: Fix CHECKSUM_HW GSO problems.")
This leads to wrong TCP checksum.
Adapt the code to accept arbitrary packet length.
v2:
- use two csum_add() instead of csum_fold() (Alexander Duyck)
- Change delta type to __wsum to reduce casts (Alexander Duyck)
Fixes: 09f3d1a3a52c ("ipv6/gso: remove temporary HBH/jumbo header")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20230605161647.3624428-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-06-06 21:07:43 -07:00
..
2020-08-10 12:06:44 -07:00
2023-03-22 21:48:59 +01:00
2023-05-29 22:03:48 -07:00
2023-02-13 18:35:15 +08:00
2023-03-15 00:37:32 -07:00
2023-04-04 16:57:10 -07:00
2023-02-01 20:54:27 -08:00
2022-10-20 17:24:59 -07:00
2023-03-23 08:32:52 +00:00
2022-10-19 09:00:53 +02:00
2023-02-13 18:35:15 +08:00
2023-03-16 17:26:31 -07:00
2022-02-17 11:44:20 -08:00
2021-09-28 17:32:56 -07:00
2022-04-30 15:12:58 +01:00
2023-03-21 21:32:18 -07:00
2022-11-22 20:18:20 -08:00
2023-04-12 16:40:39 -07:00
2023-04-12 16:40:39 -07:00
2023-03-16 21:20:32 -07:00
2023-03-16 21:20:32 -07:00
2021-05-17 15:29:35 -07:00
2022-08-25 10:33:21 +02:00
2023-03-31 21:37:06 -07:00
2023-03-17 08:56:37 +00:00
2023-05-29 22:03:48 -07:00
2022-05-12 16:52:18 -07:00
2022-10-31 20:14:27 -07:00
2023-03-29 08:22:52 +01:00
2023-02-15 10:25:21 +00:00
2022-07-08 12:10:33 +01:00
2022-07-15 11:49:55 +01:00
2022-10-31 20:14:27 -07:00
2023-03-21 21:16:26 -07:00
2023-02-01 20:54:27 -08:00
2022-01-29 17:53:07 +00:00
2023-04-26 10:17:46 +02:00
2023-05-23 15:38:59 +02:00
2022-10-03 07:59:06 +01:00
2023-04-13 16:43:38 -07:00
2022-11-16 12:48:44 +00:00
2022-09-29 07:18:00 +02:00
2022-08-04 11:31:20 -07:00
2023-04-12 16:40:39 -07:00
2022-06-24 11:34:38 +01:00
2022-12-25 13:38:09 -08:00
2022-11-16 13:02:04 +00:00
2023-04-12 16:40:39 -07:00
2023-01-23 21:37:25 -08:00
2022-05-16 13:03:29 +02:00
2019-05-21 10:50:45 +02:00
2023-03-21 21:32:18 -07:00
2023-04-04 18:56:58 -07:00
2023-01-26 10:52:18 +01:00
2021-05-17 15:29:35 -07:00
2023-04-06 12:01:20 -07:00
2023-05-23 15:38:59 +02:00
2023-04-21 20:26:56 -07:00
2022-12-12 13:11:24 -08:00
2023-06-02 09:55:22 +01:00
2023-02-02 00:25:14 +01:00
2022-04-06 12:05:41 -07:00
2023-05-23 16:10:42 +02:00
2022-10-16 15:27:07 -07:00
2023-03-22 22:53:00 -07:00
2023-02-02 00:25:14 +01:00
2023-02-02 00:25:14 +01:00
2018-10-10 22:26:00 -07:00
2022-09-20 10:21:49 -07:00
2022-08-17 10:19:22 +01:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2023-06-01 13:15:12 +02:00
2023-05-12 10:05:50 +01:00
2022-04-06 12:05:41 -07:00
2022-08-29 12:47:15 +01:00
2023-03-18 12:23:34 +00:00
2022-04-06 12:05:41 -07:00
2023-06-06 21:07:43 -07:00
2023-03-18 12:23:34 +00:00
2022-12-20 03:13:45 +01:00
2022-04-28 13:02:01 -07:00
2023-03-18 12:23:34 +00:00
2022-04-06 12:05:41 -07:00
2023-06-01 13:15:12 +02:00
2023-01-19 09:26:16 -08:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2023-05-29 22:03:48 -07:00
2021-05-17 15:29:35 -07:00
2023-03-03 17:25:15 +01:00
2022-11-16 09:43:35 +00:00
2022-04-12 15:00:25 +02:00
2022-12-12 09:29:56 +00:00
2022-12-12 09:51:52 +00:00
2022-11-29 08:44:24 -08:00
2020-07-10 13:54:00 -07:00
2023-05-23 16:09:47 +02:00
2023-05-25 10:51:58 +02:00
2020-05-06 09:40:08 +02:00
2020-05-11 15:12:27 +02:00
2023-04-21 20:26:56 -07:00
2022-06-08 10:10:13 -07:00
2020-05-06 09:40:08 +02:00
2022-09-29 07:18:00 +02:00