Andre Oppermann
ed42031102
Rearrange the TSO code to make it more readable and to clearly
...
separate the decision logic, of whether we can do TSO, and the
calculation of the burst length into two distinct parts.
Change the way the TSO burst length calculation is done. While
TSO could do bursts of 65535 bytes that can't be represented in
ip_len together with the IP and TCP header. Account for that and
use IP_MAXPACKET instead of TCP_MAXWIN as base constant (both
have the same value of 64K). When more data is available prevent
less than MSS sized segments from being sent during the current
TSO burst.
Add two more KASSERTs to ensure the integrity of the packets.
Tested by: Ben Wilber <ben-at-desync com>
MFC after: 10 days
2010-09-17 22:05:27 +00:00
..
2010-09-06 13:17:01 +00:00
2010-08-08 02:51:32 +00:00
2009-06-01 21:17:03 +00:00
2009-06-01 21:17:03 +00:00
2009-06-01 21:17:03 +00:00
2010-04-29 11:52:42 +00:00
2009-08-02 19:43:32 +00:00
2008-12-15 06:10:57 +00:00
2010-08-11 20:18:19 +00:00
2009-09-08 21:17:17 +00:00
2009-04-12 13:41:13 +00:00
2010-04-27 14:14:21 +00:00
2009-06-10 18:12:15 +00:00
2010-04-29 11:52:42 +00:00
2010-04-10 12:05:31 +00:00
2010-05-25 20:42:35 +00:00
2010-03-14 18:59:11 +00:00
2010-08-11 00:51:50 +00:00
2010-07-31 15:31:23 +00:00
2009-02-13 15:14:43 +00:00
2009-07-16 21:13:04 +00:00
2010-09-04 16:06:01 +00:00
2010-08-19 11:31:03 +00:00
2009-03-03 13:12:12 +00:00
2010-09-06 21:06:06 +00:00
2010-08-11 20:18:19 +00:00
2010-08-17 16:41:16 +00:00
2010-01-04 19:01:22 +00:00
2010-04-19 16:17:30 +00:00
2009-12-28 22:56:30 +00:00
2009-10-11 05:59:43 +00:00
2010-03-15 17:14:27 +00:00
2010-03-01 17:05:46 +00:00
2010-03-01 17:05:46 +00:00
2010-08-14 21:04:27 +00:00
2010-04-29 11:52:42 +00:00
2008-12-02 21:37:28 +00:00
2010-09-02 17:43:44 +00:00
2010-03-12 22:58:52 +00:00
2009-11-09 19:53:34 +00:00
2010-06-02 15:44:43 +00:00
2010-06-02 15:44:43 +00:00
2010-05-25 20:42:35 +00:00
2009-03-04 02:51:22 +00:00
2010-05-25 20:42:35 +00:00
2010-09-02 17:43:44 +00:00
2010-02-01 14:13:44 +00:00
2010-06-02 15:44:43 +00:00
2010-09-12 18:04:47 +00:00
2010-09-15 23:10:45 +00:00
2010-09-15 23:10:45 +00:00
2010-06-05 21:33:16 +00:00
2010-01-22 07:53:41 +00:00
2010-09-15 21:19:54 +00:00
2010-05-16 17:03:56 +00:00
2010-09-17 18:53:07 +00:00
2010-09-17 16:20:29 +00:00
2010-08-29 18:50:30 +00:00
2010-08-29 18:50:30 +00:00
2010-02-13 21:38:15 +00:00
2010-09-17 19:20:39 +00:00
2010-04-03 15:40:14 +00:00
2010-09-15 23:10:45 +00:00
2010-06-06 20:34:17 +00:00
2010-08-29 18:50:30 +00:00
2010-09-17 19:20:39 +00:00
2010-09-15 23:10:45 +00:00
2010-09-15 23:56:25 +00:00
2010-08-28 17:59:51 +00:00
2010-08-28 17:59:51 +00:00
2010-07-29 11:37:04 +00:00
2010-09-17 18:53:07 +00:00
2010-09-17 18:53:07 +00:00
2010-09-17 19:20:39 +00:00
2010-09-05 20:13:07 +00:00
2010-09-15 23:56:25 +00:00
2010-04-03 15:40:14 +00:00
2010-08-28 17:59:51 +00:00
2010-09-15 23:56:25 +00:00
2010-04-03 15:40:14 +00:00
2010-09-16 21:06:45 +00:00
2009-06-10 10:39:41 +00:00
2009-02-13 15:14:43 +00:00
2010-04-29 11:52:42 +00:00
2008-11-28 23:39:25 +00:00
2010-09-16 21:06:45 +00:00
2009-08-01 19:26:27 +00:00
2009-07-13 11:51:02 +00:00
2010-09-17 22:05:27 +00:00
2010-04-29 11:52:42 +00:00
2010-04-29 11:52:42 +00:00
2010-09-16 21:06:45 +00:00
2010-08-15 13:07:08 +00:00
2009-07-13 11:51:02 +00:00
2010-03-20 19:47:30 +00:00
2010-09-16 21:06:45 +00:00
2010-04-29 11:52:42 +00:00
2010-09-16 21:06:45 +00:00
2010-09-16 21:06:45 +00:00
2010-09-16 21:06:45 +00:00
2010-08-17 16:41:16 +00:00
2010-04-29 11:52:42 +00:00
2009-06-12 15:44:35 +00:00