freebsd-skq/sys/netinet
Jonathan Lemon 59f577ad8c When attempting to transmit a packet, if the system fails to allocate
a mbuf, it may return without setting any timers.  If no more data is
scheduled to be transmitted (this was a FIN) the system will sit in
LAST_ACK state forever.

Thus, when mbuf allocation fails, set the retransmit timer if neither
the retransmit or persist timer is already pending.

Problem discovered by:  Mike Silbersack (silby@silby.com)
Pushed for a fix by:    Bosko Milekic <bmilekic@dsuper.net>
Reviewed by:            jayanth
2000-06-02 17:38:45 +00:00
..
libalias Revert the default behaviour for incoming connections so 2000-05-11 07:52:21 +00:00
fil.c define CSUM_DELAY_DATA to match merge 2000-05-26 07:28:03 +00:00
icmp6.h Forbid include of soem inet6 header files from wrong place 2000-02-10 19:33:58 +00:00
icmp_var.h sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT. 2000-05-22 16:12:28 +00:00
if_atm.c udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_atm.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
if_ether.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_ether.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_fddi.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
igmp_var.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
igmp.c Add #include <machine/in_cksum.h>, in order to pick up the checksum 2000-05-06 18:19:58 +00:00
igmp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_cksum.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_gif.c Disable IPv4 over IPv4 tunnel on the 6to4 interface for better security. 2000-03-11 22:11:57 +00:00
in_gif.h add forward declarations, and small cosmetic changes. 2000-01-15 05:20:40 +00:00
in_hostcache.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_hostcache.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
in_pcb.c Return ECONNRESET instead of EINVAL if the connection has been shot 2000-05-19 00:55:21 +00:00
in_pcb.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
in_proto.c Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
in_rmx.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_systm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
in_var.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
in.c Change struct sockaddr_storage member name, because following change 2000-01-13 14:52:53 +00:00
in.h Add #include <machine/in_cksum.h>, in order to pick up the checksum 2000-05-06 18:19:58 +00:00
ip6.h Forbid include of soem inet6 header files from wrong place 2000-02-10 19:33:58 +00:00
ip_auth.c fix up conflicts 2000-05-24 04:40:17 +00:00
ip_auth.h fix conflicts 2000-05-24 03:17:16 +00:00
ip_compat.h fix up conflicts 2000-05-24 04:40:17 +00:00
ip_divert.c Force the address of the socket to be INADDR_ANY immediately before 2000-05-02 23:53:46 +00:00
ip_dummynet.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ip_dummynet.h Support for stateful (dynamic) ipfw rules. They are very 2000-02-10 14:17:40 +00:00
ip_ecn.c Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
ip_ecn.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ip_fil.c fix conflicts 2000-05-24 03:43:24 +00:00
ip_fil.h remove duplicate prototypes 2000-05-25 16:23:30 +00:00
ip_flow.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ip_flow.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ip_frag.c fix conflicts 2000-05-24 04:21:35 +00:00
ip_frag.h It would have been nice if this actually compiled. Close the header 2000-05-24 09:08:55 +00:00
ip_ftp_pxy.c fix up conflicts 2000-05-24 04:40:17 +00:00
ip_fw.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ip_fw.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ip_icmp.c sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT. 2000-05-22 16:12:28 +00:00
ip_icmp.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ip_input.c Cast sizeof() calls to be of type (int) when they appear in a signed 2000-05-17 04:05:07 +00:00
ip_log.c fix up #ifdef jungle for FreeBSD 2000-05-25 16:24:46 +00:00
ip_mroute.c Include machine/in_cksum.h to unbreak options MROUTING. 2000-05-08 23:56:30 +00:00
ip_mroute.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ip_nat.c fix up conflicts 2000-05-24 04:40:17 +00:00
ip_nat.h fix up conflicts 2000-05-24 04:40:17 +00:00
ip_output.c Mark the checksum as complete when looping back multicast packets. 2000-05-25 02:27:14 +00:00
ip_proxy.c fix conflicts 2000-05-24 04:21:35 +00:00
ip_proxy.h fix conflicts 2000-05-24 04:21:35 +00:00
ip_raudio_pxy.c fix up conflicts 2000-05-24 04:40:17 +00:00
ip_rcmd_pxy.c fix up conflicts 2000-05-24 04:40:17 +00:00
ip_state.c fix duplicate rcsid's 2000-05-24 19:38:17 +00:00
ip_state.h fix conflicts 2000-05-24 04:09:13 +00:00
ip_var.h Compute the checksum before handing the packet off to IPFilter. 2000-05-21 21:26:06 +00:00
ip.h IPSEC support in the kernel. 1999-12-22 19:13:38 +00:00
ipl.h fix up conflicts 2000-05-24 04:40:17 +00:00
ipprotosw.h IPSEC support in the kernel. 1999-12-22 19:13:38 +00:00
mlfk_ipl.c fix up conflicts 2000-05-24 04:40:17 +00:00
raw_ip.c IPSEC support in the kernel. 1999-12-22 19:13:38 +00:00
tcp_debug.c Sorry in this just befor code freeze commit. 2000-01-29 11:49:07 +00:00
tcp_debug.h Sorry in this just befor code freeze commit. 2000-01-29 11:49:07 +00:00
tcp_fsm.h Undo rev 1.10, which took out TH_FIN from the CLOSING state. This 1999-11-07 04:18:30 +00:00
tcp_input.c sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT. 2000-05-22 16:12:28 +00:00
tcp_output.c When attempting to transmit a packet, if the system fails to allocate 2000-06-02 17:38:45 +00:00
tcp_reass.c sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT. 2000-05-22 16:12:28 +00:00
tcp_seq.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
tcp_subr.c Let initialize th_sum before in6_cksum(), again. 2000-04-19 15:05:00 +00:00
tcp_timer.c Implement TCP NewReno, as documented in RFC 2582. This allows 2000-05-06 03:31:09 +00:00
tcp_timer.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
tcp_timewait.c Let initialize th_sum before in6_cksum(), again. 2000-04-19 15:05:00 +00:00
tcp_usrreq.c Support per socket based IPv4 mapped IPv6 addr enable/disable control. 2000-04-01 22:35:47 +00:00
tcp_var.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
tcp.h Implement TCP NewReno, as documented in RFC 2582. This allows 2000-05-06 03:31:09 +00:00
tcpip.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
udp_usrreq.c Fixed some style bugs (mainly convoluted logic for blackhole processing). 2000-05-24 12:57:52 +00:00
udp_var.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
udp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00