History log of /netbsd-src/sys/netinet/tcp_timer.c (Results 26 – 50 of 99)
Revision Date Author Comments
# 49cd1957 15-Apr-2006 christos <christos@NetBSD.org>

Coverity CID 1153: Add KASSERT before deref.


# 95e1ffb1 11-Dec-2005 christos <christos@NetBSD.org>

merge ktrace-lwp.


# 89940190 19-Jul-2005 christos <christos@NetBSD.org>

Implement PMTU checks from:

http://www.gont.com.ar/drafts/icmp-attacks-against-tcp.html

1. Don't act on ICMP-need-frag immediately if adhoc checks on the
advertised MTU fail. The MTU update

Implement PMTU checks from:

http://www.gont.com.ar/drafts/icmp-attacks-against-tcp.html

1. Don't act on ICMP-need-frag immediately if adhoc checks on the
advertised MTU fail. The MTU update is delayed until a TCP retransmit
happens.
2. Ignore ICMP Source Quench messages meant for TCP connections.

From OpenBSD.

show more ...


# c9f058f6 02-Mar-2005 mycroft <mycroft@NetBSD.org>

Copyright maintenance.


# 4ae1f36d 28-Feb-2005 jonathan <jonathan@NetBSD.org>

Commit TCP SACK patches from Kentaro A. Karahone's patch at:
http://www.sigusr1.org/~kurahone/tcp-sack-netbsd-02152005.diff.gz

Fixes in that patch for pre-existing TCP pcb initializations were al

Commit TCP SACK patches from Kentaro A. Karahone's patch at:
http://www.sigusr1.org/~kurahone/tcp-sack-netbsd-02152005.diff.gz

Fixes in that patch for pre-existing TCP pcb initializations were already
committed to NetBSD-current, so are not included in this commit.

The SACK patch has been observed to correctly negotiate and respond,
to SACKs in wide-area traffic.

There are two indepenently-observed, as-yet-unresolved anomalies:
First, seeing unexplained delays between in fast retransmission
(potentially explainable by an 0.2sec RTT between adjacent
ethernet/wifi NICs); and second, peculiar and unepxlained TCP
retransmits observed over an ath0 card.

After discussion with several interested developers, I'm committing
this now, as-is, for more eyes to use and look over. Current hypothesis
is that the anomalies above may in fact be due to link/level (hardware,
driver, HAL, firmware) abberations in the test setup, affecting both
Kentaro's wired-Ethernet NIC and in my two (different) WiFi NICs.

show more ...


# b02c92c5 03-Feb-2005 perry <perry@NetBSD.org>

ANSIfy function declarations


# e236dc1c 27-Jan-2005 mycroft <mycroft@NetBSD.org>

Whoops. Exit fast recovery when handling a timeout.


# 5283ca74 26-Jan-2005 mycroft <mycroft@NetBSD.org>

Fix two problems in our TCP stack:

1) If an echoed RFC 1323 time stamp appears to be later than the current time,
ignore it and fall back to old-style RTT calculation. This prevents ending
up

Fix two problems in our TCP stack:

1) If an echoed RFC 1323 time stamp appears to be later than the current time,
ignore it and fall back to old-style RTT calculation. This prevents ending
up with a negative RTT and panicking later.

2) Fix NewReno. This involves a few changes:

a) Implement the send_high variable in RFC 2582. Our implementation is
subtly different; it is one *past* the last sequence number transmitted
rather than being equal to it. This simplifies some logic and makes
the code smaller. Additional logic was required to prevent sequence
number wraparound problems; this is not mentioned in RFC 2582.

b) Make sure we reset t_dupacks on new acks, but *not* on a partial ack.
All of the new ack code is pushed out into tcp_newreno(). (Later this
will probably be a pluggable function.) Thus t_dupacks keeps track of
whether we're in fast recovery all the time, with Reno or NewReno, which
keeps some logic simpler.

c) We do not need to update snd_recover when we're not in fast recovery.
See tech-net for an explanation of this.

d) In the gratuitous fast retransmit prevention case, do not send a packet.
RFC 2582 specifically says that we should "do nothing".

e) Do not inflate the congestion window on a partial ack. (This is done by
testing t_dupacks to see whether we're still in fast recovery.)

This brings the performance of NewReno back up to the same as Reno in a few
random test cases (e.g. transferring peer-to-peer over my wireless network).
I have not concocted a good test case for the behavior specific to NewReno.

show more ...


# 344b08b4 02-Jan-2004 itojun <itojun@NetBSD.org>

some corrections from markus@openbsd;
- callout_ack() was called with wrong argument


# 3fef2ba8 27-Oct-2003 itojun <itojun@NetBSD.org>

make it compilable with TCP_DEBUG defined


# aad01611 07-Aug-2003 agc <agc@NetBSD.org>

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.


# 80ccb552 20-Jul-2003 he <he@NetBSD.org>

As a temporary workaround, apply the fix from PR#20390, thereby
cooperating with the callout code in working around the race
condition caused by the TCP code's use of the callout facility.

Instead o

As a temporary workaround, apply the fix from PR#20390, thereby
cooperating with the callout code in working around the race
condition caused by the TCP code's use of the callout facility.

Instead of unconditionally releasing memory in tcp_close() and
SYN_CACHE_PUT(), check whether any of the related callout handlers
are about to be invoked (but have not yet done callout_ack()), and
if so, just mark the associated data structure (tcpcb or syn cache
entry) as "dead", and test for this (and release storage) in the
callout handler functions.

show more ...


# 882dec6b 03-Feb-2003 thorpej <thorpej@NetBSD.org>

Test callout_pending(), not callout_active(), and eliminate now-unnecessary
callout_deactivate() calls.


# 5521093d 24-Nov-2002 scw <scw@NetBSD.org>

Quell an uninitialised variable warning.


# 4dd4549b 22-Oct-2002 simonb <simonb@NetBSD.org>

Guard use of "so" in tcp_timer_persist() and tcp_timer_2msl() with
#ifdef TCP_DEBUG.


# f192b66b 09-Jun-2002 itojun <itojun@NetBSD.org>

whitespace


# 3e7ae517 26-May-2002 itojun <itojun@NetBSD.org>

path MTU discovery blackhole detection.
PR 12790 (sorry for not committing it for a long time)


# ea1cd7eb 13-Nov-2001 lukem <lukem@NetBSD.org>

add RCSIDs


# 47577dca 04-Nov-2001 matt <matt@NetBSD.org>

Change a few variable/tables to const since they are read-only.


# 050e9de0 11-Sep-2001 thorpej <thorpej@NetBSD.org>

Use callouts for SYN cache timers, rather than traversing time queues
in tcp_slowtimo().


# 4745c7f2 10-Sep-2001 thorpej <thorpej@NetBSD.org>

Update copyrights.


# 6d0e813f 10-Sep-2001 thorpej <thorpej@NetBSD.org>

Use callouts for TCP timers, rather than traversing the list of
all open TCP connections in tcp_slowtimo() (which is called 2x
per second). It's fairly rare for TCP timers to actually fire,
so savin

Use callouts for TCP timers, rather than traversing the list of
all open TCP connections in tcp_slowtimo() (which is called 2x
per second). It's fairly rare for TCP timers to actually fire,
so saving this list traversal is good, especially if you want
to scale to thousands of open connections.

show more ...


# 413e5cb8 10-Sep-2001 thorpej <thorpej@NetBSD.org>

Initialize TCP timer variables in a new function, tcp_timer_init().


# 45e02f5e 10-Sep-2001 thorpej <thorpej@NetBSD.org>

Split tcp_timers() into multiple functions, one for each timer,
and call it directly from tcp_slowtimo() (via a table) rather
than going through tcp_userreq().

This will allow us to call TCP timers

Split tcp_timers() into multiple functions, one for each timer,
and call it directly from tcp_slowtimo() (via a table) rather
than going through tcp_userreq().

This will allow us to call TCP timers directly from callouts,
in a future revision.

show more ...


# 7446fd2b 10-Sep-2001 thorpej <thorpej@NetBSD.org>

Change the way receive idle time and round trip time are measured.
Instead of incrementing t_idle and t_rtt in tcp_slowtimo(), we now
take a timstamp (via tcp_now) and use subtraction to compute the

Change the way receive idle time and round trip time are measured.
Instead of incrementing t_idle and t_rtt in tcp_slowtimo(), we now
take a timstamp (via tcp_now) and use subtraction to compute the
delta when we actually need it (using unsigned arithmetic so that
tcp_now wrapping is handled correctly).

Based on similar changes in FreeBSD.

show more ...


1234