Hans Petter Selasky
9c0f6aa762
Fix a special case in ip_fragment() to produce a more sensible chain
...
of packets. When the data payload length excluding any headers, of an
outgoing IPv4 packet exceeds PAGE_SIZE bytes, a special case in
ip_fragment() can kick in to optimise the outgoing payload(s). The
code which was added in r98849 as part of zero copy socket support
assumes that the beginning of any MTU sized payload is aligned to
where a MBUF's "m_data" pointer points. This is not always the case
and can sometimes cause large IPv4 packets, as part of ping replies,
to be split more than needed.
Instead of iterating the MBUFs to figure out how much data is in the
current chain, use the value already in the "m_pkthdr.len" field of
the first MBUF in the chain.
Reviewed by: ken @
Differential Revision: https://reviews.freebsd.org/D1893
MFC after: 2 weeks
Sponsored by: Mellanox Technologies
2015-02-25 13:58:43 +00:00
..
2015-01-12 08:33:04 +00:00
2013-12-25 09:43:51 +00:00
2014-11-12 09:57:15 +00:00
2014-11-12 09:57:15 +00:00
2015-01-12 08:33:04 +00:00
2014-02-25 18:44:33 +00:00
2013-10-26 17:58:36 +00:00
2015-02-09 19:28:11 +00:00
2014-11-27 23:06:25 +00:00
2015-02-19 22:35:23 +00:00
2015-02-25 05:42:59 +00:00
2014-12-25 21:32:37 +00:00
2013-11-26 08:46:27 +00:00
2013-11-26 08:46:27 +00:00
2015-02-19 15:41:23 +00:00
2015-01-18 18:06:40 +00:00
2014-12-01 11:45:24 +00:00
2015-01-18 18:06:40 +00:00
2014-11-06 14:39:04 +00:00
2014-11-11 02:52:40 +00:00
2015-01-18 18:06:40 +00:00
2015-01-18 18:06:40 +00:00
2014-12-21 05:07:11 +00:00
2015-02-19 23:59:27 +00:00
2015-02-09 19:28:11 +00:00
2014-11-11 02:52:40 +00:00
2014-10-05 06:28:53 +00:00
2015-01-23 14:30:24 +00:00
2014-08-08 01:57:15 +00:00
2014-10-11 16:08:54 +00:00
2014-06-01 07:28:24 +00:00
2014-08-08 01:57:15 +00:00
2014-08-08 01:57:15 +00:00
2015-01-12 09:41:12 +00:00
2014-10-13 13:49:28 +00:00
2014-12-25 21:32:37 +00:00
2014-12-21 05:07:11 +00:00
2014-12-21 05:07:11 +00:00
2015-01-18 18:06:40 +00:00
2014-12-11 18:55:54 +00:00
2014-12-11 18:35:34 +00:00
2014-11-07 09:39:05 +00:00
2015-01-06 14:32:28 +00:00
2014-09-15 07:20:40 +00:00
2015-02-25 13:58:43 +00:00
2014-09-09 00:19:02 +00:00
2015-02-24 12:57:03 +00:00
2014-08-08 01:57:15 +00:00
2014-11-07 09:39:05 +00:00
2015-01-18 20:53:20 +00:00
2014-09-16 14:20:33 +00:00
2014-09-16 14:20:33 +00:00
2015-01-10 20:49:57 +00:00
2014-09-16 13:48:46 +00:00
2014-09-06 19:12:14 +00:00
2013-11-25 07:38:45 +00:00
2013-11-26 08:46:27 +00:00
2014-10-16 15:36:04 +00:00
2015-01-10 20:49:57 +00:00
2015-01-27 19:35:38 +00:00
2014-10-16 15:36:04 +00:00
2015-01-10 13:56:26 +00:00
2015-01-18 22:00:39 +00:00
2014-10-08 15:30:59 +00:00
2015-01-11 21:55:30 +00:00
2014-12-02 20:29:29 +00:00
2014-08-12 11:30:16 +00:00
2014-12-04 21:17:50 +00:00
2014-10-26 19:42:44 +00:00
2015-01-20 19:08:55 +00:00
2014-09-06 19:12:14 +00:00
2015-01-19 11:52:08 +00:00
2014-08-13 15:50:16 +00:00
2015-01-27 21:30:24 +00:00
2014-12-02 20:29:29 +00:00
2014-08-13 15:50:16 +00:00
2015-01-12 07:39:52 +00:00
2015-01-10 20:49:57 +00:00
2014-11-12 09:57:15 +00:00
2015-01-25 19:45:44 +00:00
2014-09-10 16:26:18 +00:00
2015-01-12 08:33:04 +00:00
2013-08-28 23:00:34 +00:00
2013-08-28 23:00:34 +00:00
2013-10-26 17:58:36 +00:00
2015-01-05 09:58:32 +00:00
2014-11-30 13:24:21 +00:00
2014-11-07 09:39:05 +00:00
2014-11-10 23:10:01 +00:00
2015-01-30 17:29:07 +00:00
2013-09-21 10:01:51 +00:00
2015-01-18 18:06:40 +00:00
2014-10-30 08:53:56 +00:00
2014-11-07 09:39:05 +00:00
2014-11-30 13:43:52 +00:00
2014-11-17 14:56:02 +00:00
2014-11-27 23:06:25 +00:00
2015-01-18 18:06:40 +00:00
2014-10-10 06:08:59 +00:00
2014-04-07 01:53:03 +00:00