freebsd-skq/sys/netinet
hselasky da7dc9ab83 MFC r279281:
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
Sponsored by:		Mellanox Technologies
2015-03-25 10:55:08 +00:00
..
cc MFC r273733, r273740 and r273773: 2014-10-30 08:04:48 +00:00
khelp The TCP PAWS fix for kernels with fast tick rates (r231767) changed the TCP 2012-08-17 01:49:51 +00:00
libalias In m_megapullup() instead of reserving some space at the end of packet, 2013-03-17 07:37:10 +00:00
accf_data.c
accf_dns.c
accf_http.c
cc.h
icmp6.h Migrate structs in6_ifstat and icmp6_ifstat to PCPU counters. 2013-07-09 09:59:46 +00:00
icmp_var.h Remove most of the remaining sysctl name list macros. They were only 2013-08-26 18:16:05 +00:00
if_atm.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_atm.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_ether.c MFC r279730: 2015-03-14 14:35:07 +00:00
if_ether.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
igmp_var.h Remove most of the remaining sysctl name list macros. They were only 2013-08-26 18:16:05 +00:00
igmp.c Instant MFC: 2015-02-25 05:43:02 +00:00
igmp.h
in_cksum.c nobody uses this file except the userspace ipfw code, but the cast 2012-07-31 08:04:49 +00:00
in_debug.c
in_gif.c MFC r273087 (with modifications): 2014-12-23 16:33:44 +00:00
in_gif.h MFC r273087 (with modifications): 2014-12-23 16:33:44 +00:00
in_kdtrace.c MFC r258622: dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2014-01-17 10:58:59 +00:00
in_kdtrace.h MFC r258622: dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2014-01-17 10:58:59 +00:00
in_mcast.c MFC 260796 2014-02-03 03:31:35 +00:00
in_pcb.c MFC r264879 2014-05-26 22:54:15 +00:00
in_pcb.h MFC r264879 2014-05-26 22:54:15 +00:00
in_pcbgroup.c
in_proto.c MFC r264212,r264213,r264248,r265776,r265811,r265909: 2014-05-13 06:05:53 +00:00
in_rmx.c Merge r262763, r262767, r262771, r262806 from head: 2014-03-21 15:15:30 +00:00
in_systm.h
in_var.h Back out r249318, r249320 and r249327 due to a heisenbug most 2013-05-06 16:42:18 +00:00
in.c MFC of r278472 2015-02-15 13:57:44 +00:00
in.h MFC r266842: netinet/in.h: Expose htonl(), htons(), ntohl() and ntohs() in 2014-10-29 23:10:48 +00:00
ip6.h Use IP6STAT_INC/IP6STAT_DEC macros to update ip6 stats. 2013-04-09 07:11:22 +00:00
ip_carp.c MFC r276751: 2015-02-02 11:42:35 +00:00
ip_carp.h Migrate struct carpstats to PCPU counters. 2013-07-09 10:02:51 +00:00
ip_divert.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_divert.h
ip_dummynet.h s/lenght/length/ in comments 2012-08-07 07:52:25 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c MFC r271545, 271610: 2014-10-09 23:45:26 +00:00
ip_fw.h Add ipfw support for setting/matching DiffServ codepoints (DSCP). 2013-03-20 10:35:33 +00:00
ip_gre.c MFC r272770: 2014-10-30 13:53:57 +00:00
ip_gre.h
ip_icmp.c MFC r263966: 2014-04-07 12:50:08 +00:00
ip_icmp.h
ip_id.c Back out r249318, r249320 and r249327 due to a heisenbug most 2013-05-06 16:42:18 +00:00
ip_input.c MFC r265942: 2014-05-16 05:05:53 +00:00
ip_ipsec.c Merge r262763, r262767, r262771, r262806 from head: 2014-03-21 15:15:30 +00:00
ip_ipsec.h
ip_mroute.c Merge 261024: fix PIM input regression. 2014-01-27 09:33:30 +00:00
ip_mroute.h Migrate structs arpstat, icmpstat, mrtstat, pimstat and udpstat to PCPU 2013-07-09 09:50:15 +00:00
ip_options.c MFC r271628: 2014-10-09 23:46:17 +00:00
ip_options.h MFC r271545, 271610: 2014-10-09 23:45:26 +00:00
ip_output.c MFC r279281: 2015-03-25 10:55:08 +00:00
ip_var.h Merge r263091: fix mbuf flags clash that lead to failure of operation 2014-03-18 16:56:05 +00:00
ip.h Add ToS definitions for DiffServ Codepoints as per RFC2474. 2012-05-04 21:00:32 +00:00
pim_var.h Remove most of the remaining sysctl name list macros. They were only 2013-08-26 18:16:05 +00:00
pim.h
raw_ip.c MFC r264879 2014-05-26 22:54:15 +00:00
sctp_asconf.c MFC r270673: 2014-09-18 08:58:22 +00:00
sctp_asconf.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
sctp_auth.c MFC r271643: 2014-09-18 09:49:49 +00:00
sctp_auth.h MFC r271643: 2014-09-18 09:49:49 +00:00
sctp_bsd_addr.c MFC r258574: 2013-12-03 20:55:37 +00:00
sctp_bsd_addr.h Do packet logging in a consistent way. 2012-06-24 21:25:54 +00:00
sctp_cc_functions.c MFC r271643: 2014-09-18 09:49:49 +00:00
sctp_constants.h MFC r270673: 2014-09-18 08:58:22 +00:00
sctp_crc32.c Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_crc32.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_dtrace_declare.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_dtrace_define.h MFC r258622: dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2014-01-17 10:58:59 +00:00
sctp_header.h MFC 273168: 2014-10-19 11:31:23 +00:00
sctp_indata.c MFC r269448: 2014-08-22 20:01:35 +00:00
sctp_indata.h Code cleanups. 2013-07-03 18:48:43 +00:00
sctp_input.c Fix SCTP SCTP_SS_VALUE kernel memory corruption and disclosure vulnerability 2015-01-27 19:36:08 +00:00
sctp_input.h MFC 273168: 2014-10-19 11:31:23 +00:00
sctp_lock_bsd.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_os_bsd.h MFC r271643: 2014-09-18 09:49:49 +00:00
sctp_os.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_output.c MFC r272841: 2014-10-12 17:45:22 +00:00
sctp_output.h MFC r272751: 2014-10-12 17:42:32 +00:00
sctp_pcb.c MFC r271643: 2014-09-18 09:49:49 +00:00
sctp_pcb.h MFC r269858: 2014-08-22 20:22:12 +00:00
sctp_peeloff.c MFC r269858: 2014-08-22 20:22:12 +00:00
sctp_peeloff.h Remove unused function. 2012-11-25 14:25:08 +00:00
sctp_ss_functions.c Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_structs.h MFC r271643: 2014-09-18 09:49:49 +00:00
sctp_sysctl.c MFC r273733, r273740 and r273773: 2014-10-30 08:04:48 +00:00
sctp_sysctl.h MFC r270673: 2014-09-18 08:58:22 +00:00
sctp_timer.c MFC r269448: 2014-08-22 20:01:35 +00:00
sctp_timer.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_uio.h MFC r269945: 2014-08-22 20:26:20 +00:00
sctp_usrreq.c Fix SCTP SCTP_SS_VALUE kernel memory corruption and disclosure vulnerability 2015-01-27 19:36:08 +00:00
sctp_var.h MFC r268537: 2014-08-22 19:43:27 +00:00
sctp.h MFC r269945: 2014-08-22 20:26:20 +00:00
sctputil.c MFC r272886: 2015-01-27 06:19:30 +00:00
sctputil.h MFC r269376: 2014-08-22 19:49:43 +00:00
siftr.c MFC r273733, r273740 and r273773: 2014-10-30 08:04:48 +00:00
tcp_debug.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c MFC 277709: 2015-02-10 21:41:56 +00:00
tcp_hostcache.h
tcp_input.c MFC r271946 and r272595: 2014-11-03 12:38:29 +00:00
tcp_lro.c Merge r254336 from user/np/cxl_tuning. 2013-08-28 23:00:34 +00:00
tcp_lro.h Merge r254336 from user/np/cxl_tuning. 2013-08-28 23:00:34 +00:00
tcp_offload.c - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
tcp_offload.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
tcp_output.c MFC r274376: 2014-11-19 09:03:12 +00:00
tcp_reass.c MFC r263710, r273377, r273378, r273423 and r273455: 2014-10-27 14:38:00 +00:00
tcp_sack.c
tcp_seq.h Fix PAWS (Protect Against Wrapped Sequence numbers) in cases when 2012-02-15 16:09:56 +00:00
tcp_subr.c MFC r271946 and r272595: 2014-11-03 12:38:29 +00:00
tcp_syncache.c MFC r266619: 2014-08-16 14:03:00 +00:00
tcp_syncache.h Introduce spares in the TCP syncache and timewait structures 2013-09-21 10:01:51 +00:00
tcp_timer.c MFC r264321, r264342, r264351, r264356, r273850, r274629: 2014-12-02 11:47:26 +00:00
tcp_timer.h MFC r264321, r264342, r264351, r264356, r273850, r274629: 2014-12-02 11:47:26 +00:00
tcp_timewait.c MFC r264321, r264342, r264351, r264356, r273850, r274629: 2014-12-02 11:47:26 +00:00
tcp_usrreq.c MFC r264321, r264342, r264351, r264356, r273850, r274629: 2014-12-02 11:47:26 +00:00
tcp_var.h MFC r264321, r264342, r264351, r264356, r273850, r274629: 2014-12-02 11:47:26 +00:00
tcp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00
tcpip.h
toecore.c Teach toe_l2_resolve to resolve IPv6 destinations too. 2013-01-26 00:57:29 +00:00
toecore.h Correctly handle the case where an inp has already been dropped by the time 2012-08-21 18:09:33 +00:00
udp_usrreq.c MFC r272886: 2015-01-27 06:19:30 +00:00
udp_var.h MFC: r266990 (missed in r265946) 2015-02-15 20:53:50 +00:00
udp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00
udplite.h MFC r264212,r264213,r264248,r265776,r265811,r265909: 2014-05-13 06:05:53 +00:00