NetBSD/sys/netinet
mycroft 87b39add50 As I described this on comp.protocols.tcp-ip:
I've found a problem with the TCP delayed ack algorithm.  If the writer's
buffer becomes full before sending an entire window, the writer will stop
and the ack will be delayed and the transmission will be stalled pending
a timeout on (and transmission of) the delayed ack.

As an experiment, I've applied the following patch to my (NetBSD) kernel,
and it alleviates the problem.

The worst case for this change is that the writer sets the PSH bit on
every outgoing packet, in which case delayed ack is effectively disabled.
This is not an issue of correctness, however, and since most vendors use
the PSH bit a bit more intelligently, it doesn't seem like a serious
problem.
1994-04-25 19:16:53 +00:00
..
icmp_var.h Change the counters to be all the same type -- u_long. 1994-01-10 23:27:39 +00:00
if_arp.c Dummy arpintr() for now. 1994-04-18 23:25:57 +00:00
if_arp.h Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
if_ether.c Dummy arpintr() for now. 1994-04-18 23:25:57 +00:00
if_ether.h Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
if_inarp.h Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
igmp.c Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
igmp.h Fix some inconsistent spacing; spaces at the end of lines, etc. 1994-01-08 21:21:28 +00:00
igmp_var.h Change the counters to be all the same type -- u_long. 1994-01-10 23:27:39 +00:00
in.c add missing explicit type declaration for func argument 1994-03-14 07:49:44 +00:00
in.h need a stub 'struct socket;' for a prototype 1994-01-28 13:46:02 +00:00
in_cksum.c Fix function name. 1994-01-10 23:20:07 +00:00
in_pcb.c Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
in_pcb.h Fix some inconsistent spacing; spaces at the end of lines, etc. 1994-01-08 21:21:28 +00:00
in_proto.c Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
in_systm.h More prototypes. 1994-01-08 23:50:41 +00:00
in_var.h Prototype the rest. 1994-01-09 01:06:02 +00:00
ip.h Fix some inconsistent spacing; spaces at the end of lines, etc. 1994-01-08 21:21:28 +00:00
ip_icmp.c Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
ip_icmp.h More prototypes. 1994-01-08 23:50:41 +00:00
ip_input.c PARANOID --> DIAGNOSTIC for inexpensive tests. 1994-02-14 21:43:33 +00:00
ip_mroute.c Format police. 1994-02-10 18:46:04 +00:00
ip_mroute.h Prototype the rest. 1994-01-09 01:06:02 +00:00
ip_output.c Multicast is no longer optional. 1994-02-02 05:58:50 +00:00
ip_var.h Change the counters to be all the same type -- u_long. 1994-01-10 23:27:39 +00:00
raw_ip.c Format police. 1994-02-10 18:46:04 +00:00
tcp.h Fix some inconsistent spacing; spaces at the end of lines, etc. 1994-01-08 21:21:28 +00:00
tcp_debug.c Prototypes. 1994-01-08 23:07:16 +00:00
tcp_debug.h more rcsid additions and file header cleanups 1993-05-20 03:49:51 +00:00
tcp_fsm.h more rcsid additions and file header cleanups 1993-05-20 03:49:51 +00:00
tcp_input.c As I described this on comp.protocols.tcp-ip: 1994-04-25 19:16:53 +00:00
tcp_output.c Acks with no data should have the highest sequence number sent. 1994-04-12 18:09:47 +00:00
tcp_seq.h more rcsid additions and file header cleanups 1993-05-20 03:49:51 +00:00
tcp_subr.c Change the counters to be all the same type -- u_long. 1994-01-10 23:27:39 +00:00
tcp_timer.c Prototypes. 1994-01-08 23:07:16 +00:00
tcp_timer.h more rcsid additions and file header cleanups 1993-05-20 03:49:51 +00:00
tcp_usrreq.c Change the counters to be all the same type -- u_long. 1994-01-10 23:27:39 +00:00
tcp_var.h Change the counters to be all the same type -- u_long. 1994-01-10 23:27:39 +00:00
tcpip.h more rcsid additions and file header cleanups 1993-05-20 03:49:51 +00:00
udp.h more rcsid additions and file header cleanups 1993-05-20 03:49:51 +00:00
udp_usrreq.c Format police. 1994-02-10 18:46:04 +00:00
udp_var.h Change the counters to be all the same type -- u_long. 1994-01-10 23:27:39 +00:00