OpenBSD CVS

CVS log for src/sys/netinet/tcp_timer.c


[BACK] Up to [local] / src / sys / netinet

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.76 / (download) - annotate - [select for diffs], Sun Jan 28 20:34:25 2024 UTC (4 months, 1 week ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.75: +3 -3 lines
Diff to previous 1.75 (colored)

Use more specific sockaddr type for inpcb notify.

in_pcbnotifyall() is an IPv4 only function.  All callers check that
sockaddr dst is in fact a sockaddr_in.  Pass the more spcific type
and remove the runtime check at beginning of in_pcbnotifyall().
Use const sockaddr_in in in_pcbnotifyall() and const sockaddr_in6
in6_pcbnotify() as dst parameter.

OK millert@

Revision 1.75 / (download) - annotate - [select for diffs], Sat Jan 27 21:35:13 2024 UTC (4 months, 1 week ago) by bluhm
Branch: MAIN
Changes since 1.74: +15 -11 lines
Diff to previous 1.74 (colored)

Assert that tcp_timer_rexmt() uses IPv4 inpcb.

in_pcbnotifyall() must be called with IPv4 inpcb only.  Comment why
this is the case and verify it with kassert.  This assures that
inp_faddr is a valid address.

OK mvs@

Revision 1.74 / (download) - annotate - [select for diffs], Thu Jan 11 13:49:49 2024 UTC (4 months, 4 weeks ago) by bluhm
Branch: MAIN
Changes since 1.73: +4 -2 lines
Diff to previous 1.73 (colored)

Fix white spaces in TCP.

Revision 1.73 / (download) - annotate - [select for diffs], Thu Jul 6 09:15:24 2023 UTC (11 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.72: +4 -4 lines
Diff to previous 1.72 (colored)

Convert tcp_now() time counter to 64 bit.

After changing tcp now tick to milliseconds, 32 bits will wrap
around after 49 days of uptime.  That may be a problem in some
places of our stack.  Better use a 64 bit counter.

As timestamp option is 32 bit in TCP protocol, use the lower 32 bit
there.  There are casts to 32 bits that should behave correctly.

Start with random 63 bit offset to avoid uptime leakage.  2^63
milliseconds result in 2.9*10^8 years of possible uptime.

OK yasuoka@

Revision 1.72 / (download) - annotate - [select for diffs], Tue Mar 14 00:24:05 2023 UTC (14 months, 4 weeks ago) by yasuoka
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.71: +8 -8 lines
Diff to previous 1.71 (colored)

To avoid misunderstanding, keep variables for tcp keepalive in
milliseconds, which is the same unit of tcp_now().  However, keep the
unit of sysctl variables in seconds and convert their unit in
tcp_sysctl().  Additionally revert TCPTV_SRTTDFLT back to 3 seconds,
which was mistakenly changed to 1.5 seconds by tcp_timer.h 1.19.

ok claudio

Revision 1.71 / (download) - annotate - [select for diffs], Mon Nov 7 11:22:55 2022 UTC (19 months ago) by yasuoka
Branch: MAIN
Changes since 1.70: +11 -12 lines
Diff to previous 1.70 (colored)

Modify TCP receive buffer size auto scaling to use the smoothed RTT
(SRTT) instead of the timestamp option.  Since the timestamp option is
disabled on some OSs (eg. Windows) or dropped by some
firewalls/routers, in such a case the window size had been fixed at
16KB, this limits throughput at very low on high latency networks.
Also replace "tcp_now" from 2HZ tick counter to binuptime in
milliseconds to calculate the SRTT better.

tested by krw matthieu jmatthew dlg djm stu stsp
ok claudio

Revision 1.70 / (download) - annotate - [select for diffs], Sat Sep 3 19:22:19 2022 UTC (21 months, 1 week ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.69: +26 -12 lines
Diff to previous 1.69 (colored)

Use a mutex to update tcp_maxidle, tcp_iss, and tcp_now.  This
removes pressure from the exclusive netlock in tcp_slowtimo().
Reading is done atomically.  Ensure that the tcp_now value is read
only once per function to provide consistent time.
OK yasuoka@

Revision 1.69 / (download) - annotate - [select for diffs], Sun Jan 2 22:36:04 2022 UTC (2 years, 5 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.68: +2 -2 lines
Diff to previous 1.68 (colored)

spelling
ok jmc@ reads ok tb@

Revision 1.68 / (download) - annotate - [select for diffs], Sun Dec 20 21:15:47 2020 UTC (3 years, 5 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

Accept reject and blackhole routes for IPsec PMTU discovery.

Since revision 1.87 of ip_icmp.c icmp_mtudisc_clone() ignored reject
routes.  Otherwise TCP would clone these routes for PMTU discovery.
They will not work, even after dynamic routing has found a better
route than the reject route.

With IPsec the use case is different.  First you need a route, but
then the flow handles the packet without routing.  Usually this
route should be a reject route to avoid sending unencrypted traffic
if the flow is missing.  But IPsec needs this route for PMTU
discovery, so use it for that.

OK claudio@ tobhe@

Revision 1.67 / (download) - annotate - [select for diffs], Mon Jun 11 07:40:26 2018 UTC (6 years ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.66: +36 -21 lines
Diff to previous 1.66 (colored)

The output from tcp debug sockets was incomplete.  After detach tp
was NULL and nothing was traced.  So save the old tcpcb and use
that to retrieve some information.  Note that otb may be freed and
must not be dereferenced.  Use a heuristic for cases where the
address family is in the IP header but not provided in the PCB.
OK visa@

Revision 1.66 / (download) - annotate - [select for diffs], Thu May 10 13:30:25 2018 UTC (6 years, 1 month ago) by bluhm
Branch: MAIN
Changes since 1.65: +23 -3 lines
Diff to previous 1.65 (colored)

TCP debug sockets still had code for old TCP timers that were
implemented as slow and fast protocol user requests.  Replace that
with a proper timer debug implementation.
OK visa@

Revision 1.65 / (download) - annotate - [select for diffs], Tue May 8 15:10:33 2018 UTC (6 years, 1 month ago) by bluhm
Branch: MAIN
Changes since 1.64: +9 -3 lines
Diff to previous 1.64 (colored)

Historically there were slow and fast tcp timeouts.  That is why
the delack timer had a different implementation.  Use the same
mechanism for all TCP timer.
OK mpi@ visa@

Revision 1.64 / (download) - annotate - [select for diffs], Wed Feb 7 00:31:10 2018 UTC (6 years, 4 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3
Changes since 1.63: +4 -4 lines
Diff to previous 1.63 (colored)

Historically TCP timeouts were implemented with pr_slowtimo and
pr_fasttimo.  That is the reason why we have two timeout mechanisms
with complicated ticks calculation.  Move the delay ACK timeout to
milliseconds and remove some ticks and hz mess from the others.
This makes it easier to see the actual values.
OK florian@ dhill@ dlg@

Revision 1.63 / (download) - annotate - [select for diffs], Tue Feb 6 15:13:08 2018 UTC (6 years, 4 months ago) by bluhm
Branch: MAIN
Changes since 1.62: +20 -7 lines
Diff to previous 1.62 (colored)

There was a race in the TCP timers.  As they may sleep to grab the
netlock, timers may still run after they have been disarmed.  Deleting
the timeout is not sufficient to cancel them, but the code from 4.4
BSD is assuming this.
The solution is to add a flag for every timer to see whether it has
been armed or canceled.  Remove the TF_DEAD check as tcp_canceltimers()
is called before the reaper timer is fired.  Cancelation works
reliably now.
OK mpi@

Revision 1.62 / (download) - annotate - [select for diffs], Tue Jan 23 21:41:17 2018 UTC (6 years, 4 months ago) by bluhm
Branch: MAIN
Changes since 1.61: +20 -1 lines
Diff to previous 1.61 (colored)

The TCP reaper timeout was still imlemented as soft timeout.  So
it could run immediately and was not synchronized with the TCP
timeouts, although that was the intension when it was introduced
in revision 1.85.  Convert the reaper to an ordinary TCP timeout
so it is scheduled on the same timeout thread after all timeouts
have finished.  A net lock is not necessary as the process calling
tcp_close() will not access the tcpcb after arming the reaper
timeout.
OK mikeb@

Revision 1.61 / (download) - annotate - [select for diffs], Tue Jan 23 21:06:47 2018 UTC (6 years, 4 months ago) by bluhm
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

Although it is a dead store here, always reassign the tcpcb after
calling tcp_close(), tcp_drop(), and tcp_disconnect().  Then no
freed memory can be used after closing a TCP connection.
OK mikeb@ mpi@

Revision 1.60 / (download) - annotate - [select for diffs], Sun Oct 29 14:56:36 2017 UTC (6 years, 7 months ago) by florian
Branch: MAIN
Changes since 1.59: +4 -2 lines
Diff to previous 1.59 (colored)

Move NET_{,UN}LOCK into individual slowtimo functions.

Direction suggested by mpi

OK mpi, visa

Revision 1.59 / (download) - annotate - [select for diffs], Wed Oct 25 12:38:21 2017 UTC (6 years, 7 months ago) by job
Branch: MAIN
Changes since 1.58: +1 -6 lines
Diff to previous 1.58 (colored)

Remove the TCP_FACK option and associated #if{,n}def code.

TCP_FACK was disabled by provos@ in June 1999.
TCP_FACK is an algorithm that decides that when something is lost, all
not SACKed packets until the most forward SACK are lost. It may be a
correct estimate, if network does not reorder packets.

OK visa@ mpi@ mikeb@

Revision 1.58 / (download) - annotate - [select for diffs], Sun Oct 22 14:11:34 2017 UTC (6 years, 7 months ago) by mikeb
Branch: MAIN
Changes since 1.57: +2 -10 lines
Diff to previous 1.57 (colored)

Unconditionally enable TCP selective acknowledgements (SACK)

OK deraadt, mpi, visa, job

Revision 1.57 / (download) - annotate - [select for diffs], Fri Aug 11 21:24:20 2017 UTC (6 years, 10 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.56: +12 -17 lines
Diff to previous 1.56 (colored)

Remove NET_LOCK()'s argument.

Tested by Hrvoje Popovski, ok bluhm@

Revision 1.56 / (download) - annotate - [select for diffs], Tue May 16 12:24:02 2017 UTC (7 years ago) by mpi
Branch: MAIN
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored)

Replace remaining splsoftassert(IPL_SOFTNET) by NET_ASSERT_LOCKED().

ok visa@

Revision 1.55 / (download) - annotate - [select for diffs], Wed Apr 19 15:21:54 2017 UTC (7 years, 1 month ago) by bluhm
Branch: MAIN
Changes since 1.54: +4 -4 lines
Diff to previous 1.54 (colored)

Use the rt_rmx defines that hide the struct rt_kmetrics indirection.
No binary change.
OK mpi@

Revision 1.54 / (download) - annotate - [select for diffs], Thu Feb 9 15:19:32 2017 UTC (7 years, 4 months ago) by jca
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.53: +9 -9 lines
Diff to previous 1.53 (colored)

percpu counters for TCP stats

ok mpi@ bluhm@

Revision 1.53 / (download) - annotate - [select for diffs], Mon Dec 19 08:36:49 2016 UTC (7 years, 5 months ago) by mpi
Branch: MAIN
Changes since 1.52: +12 -12 lines
Diff to previous 1.52 (colored)

Introduce the NET_LOCK() a rwlock used to serialize accesses to the parts
of the network stack that are not yet ready to be executed in parallel or
where new sleeping points are not possible.

This first pass replace all the entry points leading to ip_output(). This
is done to not introduce new sleeping points when trying to acquire ART's
write lock, needed when a new L2 entry is created via the RT_RESOLVE.

Inputs from and ok bluhm@, ok dlg@

Revision 1.52 / (download) - annotate - [select for diffs], Mon Nov 28 11:12:45 2016 UTC (7 years, 6 months ago) by mpi
Branch: MAIN
Changes since 1.51: +2 -4 lines
Diff to previous 1.51 (colored)

Assert that every slow/fast timeout routine is called at IPL_SOFTNET.

This removes multipe recursive splsoftnet()/splx() dances.

Revision 1.51 / (download) - annotate - [select for diffs], Mon Nov 7 09:08:06 2016 UTC (7 years, 7 months ago) by mpi
Branch: MAIN
Changes since 1.50: +14 -24 lines
Diff to previous 1.50 (colored)

Use goto for consistently instead of splx() and return.

This will allow to have a single lock/unlock dance per timer.

Revision 1.50 / (download) - annotate - [select for diffs], Sat Sep 24 14:51:37 2016 UTC (7 years, 8 months ago) by naddy
Branch: MAIN
Changes since 1.49: +2 -3 lines
Diff to previous 1.49 (colored)

ANSIfy netinet/; from David Hill

Revision 1.49 / (download) - annotate - [select for diffs], Mon Mar 7 18:44:00 2016 UTC (8 years, 3 months ago) by naddy
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored)

Sync no-argument function declaration and definition by adding (void).
ok mpi@ millert@

Revision 1.48 / (download) - annotate - [select for diffs], Tue Jul 22 11:06:10 2014 UTC (9 years, 10 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.47: +1 -2 lines
Diff to previous 1.47 (colored)

Fewer <netinet/in_systm.h> !

Revision 1.47 / (download) - annotate - [select for diffs], Thu Aug 8 14:29:29 2013 UTC (10 years, 10 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.46: +9 -10 lines
Diff to previous 1.46 (colored)

Change MTU discovery functions to not abuse the global icmpsrc variable
to pass the destination address of the route to clone.

ok markus@, mikeb@

Revision 1.46 / (download) - annotate - [select for diffs], Wed Jul 6 23:44:20 2011 UTC (12 years, 11 months ago) by sthen
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.45: +4 -2 lines
Diff to previous 1.45 (colored)

Add sysctl net.inet.tcp.always_keepalive, when this is set the system
behaves as if SO_KEEPALIVE was set on all TCP sockets, forcing keepalives
to be sent every net.inet.tcp.keepidle half-seconds.

In conjunction with a keepidle value greatly reduced from the default,
this can be useful for keeping sessions open if you are stuck on a network
with short NAT or firewall timeouts.

Feedback from various people, ok henning@ claudio@

Revision 1.45 / (download) - annotate - [select for diffs], Sat Jul 3 04:44:51 2010 UTC (13 years, 11 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.44: +4 -4 lines
Diff to previous 1.44 (colored)

Fix the naming of interfaces and variables for rdomains and rtables
and make it possible to bind sockets (including listening sockets!)
to rtables and not just rdomains.  This changes the name of the
system calls, socket option, and ioctl.  After building with this
you should remove the files /usr/share/man/cat2/[gs]etrdomain.0.

Since this removes the existing [gs]etrdomain() system calls, the
libc major is bumped.

Written by claudio@, criticized^Wcritiqued by me

Revision 1.44 / (download) - annotate - [select for diffs], Fri Nov 13 20:54:05 2009 UTC (14 years, 7 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.43: +4 -4 lines
Diff to previous 1.43 (colored)

Extend the protosw pr_ctlinput function to include the rdomain. This is
needed so that the route and inp lookups done in TCP and UDP know where
to look. Additionally in_pcbnotifyall() and tcp_respond() got a rdomain
argument as well for similar reasons. With this tcp seems to be now
fully rdomain save and no longer leaks single packets into the main domain.
Looks good markus@, henning@

Revision 1.43 / (download) - annotate - [select for diffs], Fri Jun 5 00:05:22 2009 UTC (15 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.42: +4 -3 lines
Diff to previous 1.42 (colored)

Initial support for routing domains. This allows to bind interfaces to
alternate routing table and separate them from other interfaces in distinct
routing tables. The same network can now be used in any doamin at the same
time without causing conflicts.
This diff is mostly mechanical and adds the necessary rdomain checks accross
net and netinet. L2 and IPv4 are mostly covered still missing pf and IPv6.
input and tested by jsg@, phessler@ and reyk@. "put it in" deraadt@

Revision 1.38.6.1 / (download) - annotate - [select for diffs], Thu Feb 21 17:34:26 2008 UTC (16 years, 3 months ago) by henning
Branch: OPENBSD_4_1
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored) next main 1.39 (colored)

MFC (markus)
when creating a response, use the correct TCP header instead of
relying on the mbuf chain layout; with claudio@ and krw@; ok henning@

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Thu Feb 21 15:53:16 2008 UTC (16 years, 3 months ago) by henning
Branch: OPENBSD_4_2
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

MFC (markus)
when creating a response, use the correct TCP header instead of
relying on the mbuf chain layout; with claudio@ and krw@; ok henning@

Revision 1.42 / (download) - annotate - [select for diffs], Wed Feb 20 11:24:03 2008 UTC (16 years, 3 months ago) by markus
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

when creating a response, use the correct TCP header instead of
relying on the mbuf chain layout; with claudio@ and krw@; ok henning@

Revision 1.41 / (download) - annotate - [select for diffs], Tue Nov 27 17:23:23 2007 UTC (16 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.40: +1 -16 lines
Diff to previous 1.40 (colored)

TCP_COMPAT_42 was last used in 1997.  Kill it.
ok millert

Revision 1.40 / (download) - annotate - [select for diffs], Sat Sep 1 18:49:28 2007 UTC (16 years, 9 months ago) by henning
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

since the
MGET* macros were changed to function calls, there wasn't any
need for the pool declarations and the inclusion of pool.h
From: tbert <bret.lambert@gmail.com>

Revision 1.39 / (download) - annotate - [select for diffs], Fri Jun 15 18:23:07 2007 UTC (17 years ago) by markus
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE
Branch point for: OPENBSD_4_2
Changes since 1.38: +3 -1 lines
Diff to previous 1.38 (colored)

Drop the current random timestamps and the current ISN generation
code and replace both with a RFC1948 based method, so TCP clients
now have monotonic ISN/timestamps.  The server side uses completely
random ISN/timestamps and does time-wait recycling (on port reuse).
ok djm@, mcbride@; thanks to lots of testers

Revision 1.38 / (download) - annotate - [select for diffs], Tue Nov 15 21:09:46 2005 UTC (18 years, 6 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_0_BASE, OPENBSD_4_0, OPENBSD_3_9_BASE, OPENBSD_3_9
Branch point for: OPENBSD_4_1
Changes since 1.37: +4 -4 lines
Diff to previous 1.37 (colored)

Only two `h' in threshold.

Revision 1.37 / (download) - annotate - [select for diffs], Thu Jun 30 08:51:31 2005 UTC (18 years, 11 months ago) by markus
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.36: +27 -1 lines
Diff to previous 1.36 (colored)

implement PMTU checks from
        http://www.gont.com.ar/drafts/icmp-attacks-against-tcp.html
i.e. 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.  initial patch by Fernando Gont, tested by many.

Revision 1.36 / (download) - annotate - [select for diffs], Mon Dec 13 12:01:49 2004 UTC (19 years, 6 months ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

zap lvalue assignment, okay markus@. approved miod@

Revision 1.35 / (download) - annotate - [select for diffs], Thu Nov 25 15:32:08 2004 UTC (19 years, 6 months ago) by markus
Branch: MAIN
Changes since 1.34: +22 -1 lines
Diff to previous 1.34 (colored)

fix for race between invocation for timer and network input
1) add a reaper for TCP and SYN cache states (cf. netbsd pr 20390)
2) additional check for TCP_TIMER_ISARMED(TCPT_REXMT) in tcp_timer_persist()
with mickey@; ok deraadt@

Revision 1.16.2.7 / (download) - annotate - [select for diffs], Thu Feb 19 10:57:24 2004 UTC (20 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.16.2.6: +2 -2 lines
Diff to previous 1.16.2.6 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Merge of current from two weeks agointo the SMP branch

Revision 1.34 / (download) - annotate - [select for diffs], Wed Dec 10 07:22:43 2003 UTC (20 years, 6 months ago) by itojun
Branch: MAIN
CVS Tags: SMP_SYNC_B, SMP_SYNC_A, OPENBSD_3_6_BASE, OPENBSD_3_6, OPENBSD_3_5_BASE, OPENBSD_3_5
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)

de-register.  deraadt ok

Revision 1.16.2.6 / (download) - annotate - [select for diffs], Sat Jun 7 11:06:08 2003 UTC (21 years ago) by ho
Branch: SMP
Changes since 1.16.2.5: +2 -6 lines
Diff to previous 1.16.2.5 (colored) to branchpoint 1.16 (colored)

Sync SMP branch to -current

Revision 1.33 / (download) - annotate - [select for diffs], Mon Jun 2 23:28:14 2003 UTC (21 years ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.32: +2 -6 lines
Diff to previous 1.32 (colored)

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.  Proofed by myself and Theo.

Revision 1.22.4.4 / (download) - annotate - [select for diffs], Mon May 19 22:40:41 2003 UTC (21 years ago) by tedu
Branch: UBC
Changes since 1.22.4.3: +11 -2 lines
Diff to previous 1.22.4.3 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

sync

Revision 1.16.2.5 / (download) - annotate - [select for diffs], Fri Mar 28 00:06:55 2003 UTC (21 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.16.2.4: +19 -3 lines
Diff to previous 1.16.2.4 (colored) to branchpoint 1.16 (colored)

Sync the SMP branch with 3.3

Revision 1.32 / (download) - annotate - [select for diffs], Fri Feb 21 20:52:06 2003 UTC (21 years, 3 months ago) by tedu
Branch: MAIN
CVS Tags: UBC_SYNC_A, OPENBSD_3_3_BASE, OPENBSD_3_3
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

remove useless assignment

ok jason@

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Sat Feb 1 20:52:24 2003 UTC (21 years, 4 months ago) by margarida
Branch: OPENBSD_3_2
Changes since 1.30: +10 -1 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Pull patch from current:
Fix by kjc@
Fix ecn breakage. This part of falling back to non-ecn on
timeout slipped during merge from KAME.
Reported to bugs@ by Han Boetes and Otto Moerbeek.

deraadt@ ok

Revision 1.31 / (download) - annotate - [select for diffs], Wed Nov 6 01:52:08 2002 UTC (21 years, 7 months ago) by kjc
Branch: MAIN
Changes since 1.30: +10 -1 lines
Diff to previous 1.30 (colored)

fix ecn breakage.
this part of falling back to non-ecn on timeout slipped during
merge from KAME.

ok @art
report to bugs@ by Han Boetes and Otto Moerbeek

Revision 1.22.4.3 / (download) - annotate - [select for diffs], Tue Oct 29 00:36:47 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.22.4.2: +3 -3 lines
Diff to previous 1.22.4.2 (colored) to branchpoint 1.22 (colored)

sync to -current

Revision 1.22.4.2 / (download) - annotate - [select for diffs], Tue Jun 11 03:31:37 2002 UTC (22 years ago) by art
Branch: UBC
Changes since 1.22.4.1: +309 -285 lines
Diff to previous 1.22.4.1 (colored) to branchpoint 1.22 (colored)

Sync UBC branch to -current

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jun 9 16:26:11 2002 UTC (22 years ago) by itojun
Branch: MAIN
CVS Tags: UBC_SYNC_B, OPENBSD_3_2_BASE
Branch point for: OPENBSD_3_2
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored)

whitespace

Revision 1.29 / (download) - annotate - [select for diffs], Thu May 16 14:10:51 2002 UTC (22 years, 1 month ago) by kjc
Branch: MAIN
Changes since 1.28: +8 -1 lines
Diff to previous 1.28 (colored)

bring in ECN support from KAME.
it consists of
 - ECN support in TCP
 - tunnel-egress and fragment reassembly rules in layer-3 not to lose
   congestion info at tunnel-egress and fragment reassembly

to enable ECN in TCP, build a kernel with TCP_ECN, and then,
turn it on by "sysctl -w net.inet.tcp.ecn=1".

ok deraadt@

Revision 1.16.2.4 / (download) - annotate - [select for diffs], Thu Mar 28 14:56:46 2002 UTC (22 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.16.2.3: +259 -263 lines
Diff to previous 1.16.2.3 (colored) to branchpoint 1.16 (colored)

Merge in -current from roughly a week ago

Revision 1.28 / (download) - annotate - [select for diffs], Fri Mar 8 03:49:58 2002 UTC (22 years, 3 months ago) by provos
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.27: +260 -264 lines
Diff to previous 1.27 (colored)

use timeout(9) to schedule TCP timers.  this avoid traversing all
tcp connections during tcp_slowtimo.  apdapted from thorpej@netbsd.org

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Wed Mar 6 02:15:08 2002 UTC (22 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.16.2.2: +53 -31 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored)

Merge in trunk

Revision 1.27 / (download) - annotate - [select for diffs], Fri Mar 1 22:29:29 2002 UTC (22 years, 3 months ago) by provos
Branch: MAIN
Changes since 1.26: +43 -22 lines
Diff to previous 1.26 (colored)

remove tcp_fasttimo and convert delayed acks to the timeout(9) API instead.
adapated from netbsd.  okay angelos@

Revision 1.22.4.1 / (download) - annotate - [select for diffs], Thu Jan 31 22:55:45 2002 UTC (22 years, 4 months ago) by niklas
Branch: UBC
Changes since 1.22: +11 -10 lines
Diff to previous 1.22 (colored)

Merge in -current, builds on i386, otherwise untested

Revision 1.26 / (download) - annotate - [select for diffs], Tue Jan 15 19:18:01 2002 UTC (22 years, 5 months ago) by provos
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

allocate sackholes with pool

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jan 14 20:13:45 2002 UTC (22 years, 5 months ago) by provos
Branch: MAIN
Changes since 1.24: +6 -6 lines
Diff to previous 1.24 (colored)

knf

Revision 1.24 / (download) - annotate - [select for diffs], Mon Jan 14 03:11:55 2002 UTC (22 years, 5 months ago) by provos
Branch: MAIN
Changes since 1.23: +6 -6 lines
Diff to previous 1.23 (colored)

use macros to manage tcp timers; based on netbsd

Revision 1.23 / (download) - annotate - [select for diffs], Wed Jan 2 20:35:40 2002 UTC (22 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.22: +2 -1 lines
Diff to previous 1.22 (colored)

at least ; required after label or case; openbsd@davidkrause.com

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Wed Jul 4 10:55:09 2001 UTC (22 years, 11 months ago) by niklas
Branch: SMP
Changes since 1.16.2.1: +2 -8 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

Merge in -current from two days ago in the SMP branch.
As usual with merges, they do not indicate progress, so do not hold
your breath for working SMP, and do not mail me and ask about the
state of it.  It has not changed.  There is work ongoing, but very, very
slowly.  The commit is done in parts as to not lock up the tree in too
big chunks at a time.

Revision 1.22 / (download) - annotate - [select for diffs], Fri Jun 8 03:53:47 2001 UTC (23 years ago) by angelos
Branch: MAIN
CVS Tags: UBC_BASE, OPENBSD_3_0_BASE, OPENBSD_3_0
Branch point for: UBC
Changes since 1.21: +1 -7 lines
Diff to previous 1.21 (colored)

Cut down on include files.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Wed Jun 6 22:35:11 2001 UTC (23 years ago) by jason
Branch: OPENBSD_2_9
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored) next main 1.21 (colored)

Pull in patch from current:
Fix (provos):
Two fixes from Stevens via davidg@freebsd, bug report by
armin@wolfermann.org

- set the persist timer so that connections in CLOSING state timeout
- honor keep-alive timer in CLOSING state.

Fixes the problem in simulaneous close situation where connections
would never leave the CLOSING state and stay arround indefinitly.

Revision 1.21 / (download) - annotate - [select for diffs], Thu May 31 16:27:08 2001 UTC (23 years ago) by provos
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)

Two fixes from Stevens via davidg@freebsd, bug report by
armin@wolfermann.org

- set the persist timer so that connections in CLOSING state timeout
- honor keep-alive timer in CLOSING state.

Fixes the problem in simulaneous close situation where connections
would never leave the CLOSING state and stay arround indefinitly.

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Mon May 14 22:40:15 2001 UTC (23 years, 1 month ago) by niklas
Branch: SMP
Changes since 1.16: +60 -4 lines
Diff to previous 1.16 (colored)

merge in approximately 2.9 into SMP branch

Revision 1.20 / (download) - annotate - [select for diffs], Wed Dec 13 09:47:08 2000 UTC (23 years, 6 months ago) by provos
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE
Branch point for: OPENBSD_2_9
Changes since 1.19: +2 -4 lines
Diff to previous 1.19 (colored)

more random tcp sequence numbers. okay deraadt@, angelos@

Revision 1.19 / (download) - annotate - [select for diffs], Tue Dec 12 08:12:04 2000 UTC (23 years, 6 months ago) by provos
Branch: MAIN
Changes since 1.18: +5 -1 lines
Diff to previous 1.18 (colored)

only disable path mtu for established connections that have data to send.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Dec 11 19:12:22 2000 UTC (23 years, 6 months ago) by provos
Branch: MAIN
Changes since 1.17: +43 -7 lines
Diff to previous 1.17 (colored)

turn off path mtu when icmp needfrag messages get blocked, okay itojun@

Revision 1.17 / (download) - annotate - [select for diffs], Mon Sep 18 22:06:38 2000 UTC (23 years, 8 months ago) by provos
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE, OPENBSD_2_8
Changes since 1.16: +19 -1 lines
Diff to previous 1.16 (colored)

Path MTU discovery based on NetBSD but with the decision to use the DF
flag delayed to ip_output().  That halves the code and reduces most of
the route lookups. okay deraadt@

Revision 1.16 / (download) - annotate - [select for diffs], Tue Dec 21 17:49:28 1999 UTC (24 years, 5 months ago) by provos
Branch: MAIN
CVS Tags: SMP_BASE, OPENBSD_2_7_BASE, OPENBSD_2_7
Branch point for: SMP
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

option TCP_NEWRENO goes away, its the default case for TCP_SACK if
SACK is disabled for the connection or via sysctl

Revision 1.15 / (download) - annotate - [select for diffs], Mon Nov 15 05:50:59 1999 UTC (24 years, 7 months ago) by hugh
Branch: MAIN
CVS Tags: kame_19991208
Changes since 1.14: +11 -5 lines
Diff to previous 1.14 (colored)

Fix tcp retransmit/persist timers, provos@ OK.

Adapted from NetBSD:
    Fix a retransmission bug introduced by the Brakmo and Peterson
    RTO estimation changes.  Under some circumstances it would
    return a value of 0, while the old Van Jacobson RTO code would
    return a minimum of 3.  This would result in 12 retransmissions,
    each 1 second apart.  This takes care of those instances, and
    ensures that t_rttmin is used everywhere as a lower bound.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Sep 1 21:38:21 1999 UTC (24 years, 9 months ago) by provos
Branch: MAIN
CVS Tags: OPENBSD_2_6_BASE, OPENBSD_2_6
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

increase tcp_iss increment

Revision 1.13 / (download) - annotate - [select for diffs], Fri Jul 2 20:39:08 1999 UTC (24 years, 11 months ago) by cmetz
Branch: MAIN
Changes since 1.12: +9 -5 lines
Diff to previous 1.12 (colored)

Significant cleanups in the way TCP is made to handle multiple network
protocols.

"struct tcpiphdr" is now gone from much of the code, as are separate pointers
for ti and ti6. The result is fewer variables, which is generally a good thing.

Simple if(is_ipv6) ... else ... tests are gone in favor of a
switch(protocol family), which allows future new protocols to be added easily.
This also makes it possible for someone so inclined to re-implement TUBA (TCP
over CLNP?) and do it right instead of the kluged way it was done in 4.4.

The TCP header template is now referenced through a mbuf rather than done
through a data pointer and dtom()ed as needed. This is partly because dtom() is
evil and partly because max_linkhdr + IPv6 + TCP + MSS/TS/SACK opts won't fit
inside a packet header mbuf, so we need to grab a cluster for that (which the
code now does, if needed).

Revision 1.12 / (download) - annotate - [select for diffs], Wed Apr 21 21:38:58 1999 UTC (25 years, 1 month ago) by provos
Branch: MAIN
Changes since 1.11: +8 -1 lines
Diff to previous 1.11 (colored)

From Tom Henderson <tomh@cs.berkeley.edu>:

Fixed a sequence wraparound bug in the snd_recover variable discovered in
very large (multiple GByte) transfers (in loss free conditions, snd_recover
was not sufficiently tracking snd_una).  Thanks to Mark Smith for finding
this.

Fixed a bug in tcp_newreno that was preventing retransmission of data due
to partial acks. (Discovered by Jayanth Vijayaraghavan)

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jan 27 16:47:29 1999 UTC (25 years, 4 months ago) by provos
Branch: MAIN
CVS Tags: OPENBSD_2_5_BASE, OPENBSD_2_5
Changes since 1.10: +1 -4 lines
Diff to previous 1.10 (colored)

fix NEWRENO behaviour, the newreo code assumed that the send socket buffer has
already been cleared of the acked data, though it was called before any
sbdrop() call and always called tcp_output() with 0 index in the send
socket buffer and thus causing data corruption. so do not set snd_una to
th_ack.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Nov 25 05:44:37 1998 UTC (25 years, 6 months ago) by millert
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

more min vs. ulmin/lmin fixes

Revision 1.9 / (download) - annotate - [select for diffs], Tue Nov 17 19:23:02 1998 UTC (25 years, 6 months ago) by provos
Branch: MAIN
Changes since 1.8: +24 -1 lines
Diff to previous 1.8 (colored)

NewReno, SACK and FACK support for TCP, adapted from code for BSDI
by Hari Balakrishnan (hari@lcs.mit.edu), Tom Henderson (tomh@cs.berkeley.edu)
and Venkat Padmanabhan (padmanab@cs.berkeley.edu) as part of the
Daedalus research group at the University of California,
(http://daedalus.cs.berkeley.edu). [I was able to do this on time spent
at the Center for Information Technology Integration (citi.umich.edu)]

Revision 1.8 / (download) - annotate - [select for diffs], Tue Aug 26 20:02:34 1997 UTC (26 years, 9 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_4_BASE, OPENBSD_2_4, OPENBSD_2_3_BASE, OPENBSD_2_3, OPENBSD_2_2_BASE, OPENBSD_2_2
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

indent

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 5 15:48:26 1997 UTC (27 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_1_BASE, OPENBSD_2_1
Changes since 1.6: +3 -2 lines
Diff to previous 1.6 (colored)

use arc4random()

Revision 1.6 / (download) - annotate - [select for diffs], Thu Sep 12 06:19:57 1996 UTC (27 years, 9 months ago) by tholo
Branch: MAIN
CVS Tags: OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.5: +18 -1 lines
Diff to previous 1.5 (colored)

TCP Persist handling; from 4.4BSD Lite2 (via NetBSD PR 2335)

Revision 1.5 / (download) - annotate - [select for diffs], Mon Jul 29 22:01:51 1996 UTC (27 years, 10 months ago) by niklas
Branch: MAIN
Changes since 1.4: +1 -4 lines
Diff to previous 1.4 (colored)

Remove random() prototype, as it's not needed.  Besides it was wrong for the alpha :-)

Revision 1.4 / (download) - annotate - [select for diffs], Mon Jul 29 06:22:14 1996 UTC (27 years, 10 months ago) by tholo
Branch: MAIN
Changes since 1.3: +8 -3 lines
Diff to previous 1.3 (colored)

Make TCP ISS increment by random amounts

Revision 1.3 / (download) - annotate - [select for diffs], Thu Mar 14 08:09:49 1996 UTC (28 years, 3 months ago) by tholo
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

From Lite2; skip slow start calculation if socket state is listen

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 3 22:30:48 1996 UTC (28 years, 3 months ago) by niklas
Branch: MAIN
Changes since 1.1: +3 -2 lines
Diff to previous 1.1 (colored)

From NetBSD: 960217 merge

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:53:12 1995 UTC (28 years, 8 months ago) by deraadt
CVS Tags: netbsd_1_1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:53:12 1995 UTC (28 years, 8 months ago) by deraadt
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.