Re-apply my "breakage" to the Nagel congestion avoidence. This version

differs slightly in the logic from the previous version; packets are now
acked immediately if the sender set PUSH.
This commit is contained in:
David Greenman 1995-03-27 07:12:24 +00:00
parent 2f69f2f2f3
commit e612a582cc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=7417
2 changed files with 40 additions and 4 deletions

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* From: @(#)tcp_input.c 8.5 (Berkeley) 4/10/94
* $Id: tcp_input.c,v 1.15 1995/02/16 01:39:19 wollman Exp $
* $Id: tcp_input.c,v 1.16 1995/03/16 18:15:04 bde Exp $
*/
#ifndef TUBA_INCLUDE
@ -522,7 +522,17 @@ findpcb:
m->m_len -= sizeof(struct tcpiphdr)+off-sizeof(struct tcphdr);
sbappend(&so->so_rcv, m);
sorwakeup(so);
tp->t_flags |= TF_DELACK;
/*
* If this is a short packet, then ACK now - with Nagel
* congestion avoidance sender won't send more until
* he gets an ACK.
*/
if (ti->ti_flags & TH_PUSH) {
tp->t_flags |= TF_ACKNOW;
tcp_output(tp);
} else {
tp->t_flags |= TF_DELACK;
}
return;
}
}
@ -1557,6 +1567,14 @@ dodata: /* XXX */
tcp_trace(TA_INPUT, ostate, tp, &tcp_saveti, 0);
#endif
/*
* If this is a short packet, then ACK now - with Nagel
* congestion avoidance sender won't send more until
* he gets an ACK.
*/
if (ti->ti_flags & TH_PUSH)
tp->t_flags |= TF_ACKNOW;
/*
* Return any desired output.
*/

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* From: @(#)tcp_input.c 8.5 (Berkeley) 4/10/94
* $Id: tcp_input.c,v 1.15 1995/02/16 01:39:19 wollman Exp $
* $Id: tcp_input.c,v 1.16 1995/03/16 18:15:04 bde Exp $
*/
#ifndef TUBA_INCLUDE
@ -522,7 +522,17 @@ findpcb:
m->m_len -= sizeof(struct tcpiphdr)+off-sizeof(struct tcphdr);
sbappend(&so->so_rcv, m);
sorwakeup(so);
tp->t_flags |= TF_DELACK;
/*
* If this is a short packet, then ACK now - with Nagel
* congestion avoidance sender won't send more until
* he gets an ACK.
*/
if (ti->ti_flags & TH_PUSH) {
tp->t_flags |= TF_ACKNOW;
tcp_output(tp);
} else {
tp->t_flags |= TF_DELACK;
}
return;
}
}
@ -1557,6 +1567,14 @@ dodata: /* XXX */
tcp_trace(TA_INPUT, ostate, tp, &tcp_saveti, 0);
#endif
/*
* If this is a short packet, then ACK now - with Nagel
* congestion avoidance sender won't send more until
* he gets an ACK.
*/
if (ti->ti_flags & TH_PUSH)
tp->t_flags |= TF_ACKNOW;
/*
* Return any desired output.
*/