svn commit: r334497 - head/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Fri Jun 1 21:24:28 UTC 2018
Author: tuexen
Date: Fri Jun 1 21:24:27 2018
New Revision: 334497
URL: https://svnweb.freebsd.org/changeset/base/334497
Log:
Limit the retransmission timer for SYN-ACKs by TCPTV_REXMTMAX.
Use the same logic to handle the SYN-ACK retransmission when sent from
the syn cache code as when sent from the main code.
MFC after: 3 days
Sponsored by: Netflix, Inc.
Modified:
head/sys/netinet/tcp_syncache.c
Modified: head/sys/netinet/tcp_syncache.c
==============================================================================
--- head/sys/netinet/tcp_syncache.c Fri Jun 1 21:24:10 2018 (r334496)
+++ head/sys/netinet/tcp_syncache.c Fri Jun 1 21:24:27 2018 (r334497)
@@ -415,8 +415,14 @@ syncache_drop(struct syncache *sc, struct syncache_hea
static void
syncache_timeout(struct syncache *sc, struct syncache_head *sch, int docallout)
{
- sc->sc_rxttime = ticks +
- TCPTV_RTOBASE * (tcp_syn_backoff[sc->sc_rxmits]);
+ int rexmt;
+
+ if (sc->sc_rxmits == 0)
+ rexmt = TCPTV_RTOBASE;
+ else
+ TCPT_RANGESET(rexmt, TCPTV_RTOBASE * tcp_syn_backoff[sc->sc_rxmits],
+ tcp_rexmit_min, TCPTV_REXMTMAX);
+ sc->sc_rxttime = ticks + rexmt;
sc->sc_rxmits++;
if (TSTMP_LT(sc->sc_rxttime, sch->sch_nextc)) {
sch->sch_nextc = sc->sc_rxttime;
More information about the svn-src-head
mailing list