History log of /netbsd-src/sys/netinet/tcp_timer.c (Results 1 – 25 of 99)
Revision Date Author Comments
# 2ba9f052 04-Nov-2022 ozaki-r <ozaki-r@NetBSD.org>

inpcb: rename functions to inpcb_*

Inspired by rmind-smpnet patches.


# a071c829 28-Oct-2022 ozaki-r <ozaki-r@NetBSD.org>

inpcb: separate inpcb again to reduce the size of PCB for IPv4

The data size of PCB for IPv4 increased because of the merge of
struct in6pcb. The change decreases the size to the original size by
s

inpcb: separate inpcb again to reduce the size of PCB for IPv4

The data size of PCB for IPv4 increased because of the merge of
struct in6pcb. The change decreases the size to the original size by
separating struct inpcb (again). struct in4pcb and in6pcb that embed
struct inpcb are introduced.

Even after the separation, users don't need to realize the separation
and only have to use some macros to access dedicated data. For example,
inp->inp_laddr is now accessed through in4p_laddr(inp).

show more ...


# 0e390eee 28-Oct-2022 ozaki-r <ozaki-r@NetBSD.org>

inpcb: integrate data structures of PCB into one

Data structures of network protocol control blocks (PCBs), i.e.,
struct inpcb, in6pcb and inpcb_hdr, are not organized well. Users of
the data struc

inpcb: integrate data structures of PCB into one

Data structures of network protocol control blocks (PCBs), i.e.,
struct inpcb, in6pcb and inpcb_hdr, are not organized well. Users of
the data structures have to handle them separately and thus the code
is cluttered and duplicated.

The commit integrates the data structures into one, struct inpcb. As a
result, users of PCBs only have to handle just one data structure, so
the code becomes simple.

One drawback is that the data size of PCB for IPv4 increases by 40 bytes
(from 248 bytes to 288 bytes).

show more ...


# fa908c0b 08-Mar-2021 christos <christos@NetBSD.org>

Add some randomness to the iss offset


# 5d73803e 03-May-2018 maxv <maxv@NetBSD.org>

Remove now unused tcpip.h includes. Some were already unused before.


# 6ad323e9 29-Mar-2018 maxv <maxv@NetBSD.org>

Remove #ifdef INET. Same as tcp_input.c. Makes the code easier to
understand.

Also make tcp6_mtudisc() static in tcp_subr.c.


# be75d649 19-Jan-2018 ozaki-r <ozaki-r@NetBSD.org>

Run tcp_slowtimo in workqueue if NET_MPSAFE

If NET_MPSAFE is enabled, we have to avoid taking softnet_lock in softint as
much as possible to prevent any softint handlers including callout handlers
s

Run tcp_slowtimo in workqueue if NET_MPSAFE

If NET_MPSAFE is enabled, we have to avoid taking softnet_lock in softint as
much as possible to prevent any softint handlers including callout handlers
such as tcp_slowtimo from sticking on softnet_lock because it results in
undesired delays of executing subsequent softint handlers.

NFCI for !NET_MPSAFE

show more ...


# 0e2173f7 28-Jul-2017 maxv <maxv@NetBSD.org>

Remove TCP_COMPAT_42. This feature is a workaround for a bug in the TCP
stack of BSD4.2. Having such features just does not make any sense, and
looking at the code, I'm not sure it actually works.


# 49bfca53 25-Jul-2016 knakahara <knakahara@NetBSD.org>

fix: unlock in reverse order


# a79dfa5d 26-Apr-2016 ozaki-r <ozaki-r@NetBSD.org>

Sweep unnecessary route.h inclusions


# 1c4a50f1 24-Aug-2015 pooka <pooka@NetBSD.org>

sprinkle _KERNEL_OPT


# fcc99ce6 10-Nov-2014 maxv <maxv@NetBSD.org>

Do not uselessly include <sys/malloc.h>.


# acb67644 02-Jan-2014 pooka <pooka@NetBSD.org>

Allow kernels compiled with INET+INET6 to be booted as IPv4-only or IPv6-only.


# 7f3d4048 31-Aug-2011 plunky <plunky@NetBSD.org>

NULL does not need a cast


# f641bea5 20-Apr-2011 gdt <gdt@NetBSD.org>

Rewrite comments about TCP RTO calculations.

Long ago, the storage representations of srtt and rttvar were changed
from the 4.4BSD scheme, and the comments are out of sync with the
code. This commi

Rewrite comments about TCP RTO calculations.

Long ago, the storage representations of srtt and rttvar were changed
from the 4.4BSD scheme, and the comments are out of sync with the
code. This commit rewrites most of the comments that explain the RTO
calculations, and points out some issues in the code.

Joint work with Bev Schwartz of BBN (original analysis and comments),
but I have rewritten and extended them, so errors are mine.

This material is based upon work supported by the Defense Advanced
Research Projects Agency and Space and Naval Warfare Systems Center,
Pacific, under Contract No. N66001-09-C-2073. Approved for Public
Release, Distribution Unlimited

show more ...


# ed729f95 10-Nov-2008 uebayasi <uebayasi@NetBSD.org>

Whitespace.


# 71d4948e 09-Nov-2008 bouyer <bouyer@NetBSD.org>

Fix kern/39769: race condition in TCP timers
When a TCP timer is disarmed (with callout_stop()) in the general case
callout_invoking() isn't checked, so the timer handler could be called run
when the

Fix kern/39769: race condition in TCP timers
When a TCP timer is disarmed (with callout_stop()) in the general case
callout_invoking() isn't checked, so the timer handler could be called run
when the current interrupt handler exits, athough the timer is disarmed.
This case cause bad things like TCPT_REXMT and TCPT_PERSIST being both pending,
causing a panic (see the PR for details).
Close the issue by aborting the handler if the timer is not callout_expired().
(the EXPIRED flag being cleared by callout_stop()).

show more ...


# 9fa0e0f2 10-Oct-2008 ad <ad@NetBSD.org>

tcp_delack: test for TF_DELACK.


# ce099b40 28-Apr-2008 martin <martin@NetBSD.org>

Remove clause 3 and 4 from TNF licenses


# 15e29e98 24-Apr-2008 ad <ad@NetBSD.org>

Merge the socket locking patch:

- Socket layer becomes MP safe.
- Unix protocols become MP safe.
- Allows protocol processing interrupts to safely block on locks.
- Fixes a number of race conditions

Merge the socket locking patch:

- Socket layer becomes MP safe.
- Unix protocols become MP safe.
- Allows protocol processing interrupts to safely block on locks.
- Fixes a number of race conditions.

With much feedback from matt@ and plunky@.

show more ...


# 7ff8d08a 12-Apr-2008 thorpej <thorpej@NetBSD.org>

Make IP, TCP, UDP, and ICMP statistics per-CPU. The stats are collated
when the user requests them via sysctl.


# f5c68c0b 08-Apr-2008 thorpej <thorpej@NetBSD.org>

Change TCP stats from a structure to an array of uint64_t's.

Note: This is ABI-compatible with the old tcpstat structure; old netstat
binaries will continue to work properly.


# eeff1895 20-Jun-2007 christos <christos@NetBSD.org>

- per socket keepalive settings
- settable connection establishment timeout


# f3330397 09-Oct-2006 rpaulo <rpaulo@NetBSD.org>

Modular (I tried ;-) TCP congestion control API. Whenever certain conditions
happen in the TCP stack, this interface calls the specified callback to
handle the situation according to the currently se

Modular (I tried ;-) TCP congestion control API. Whenever certain conditions
happen in the TCP stack, this interface calls the specified callback to
handle the situation according to the currently selected congestion
control algorithm.
A new sysctl node was created: net.inet.tcp.congctl.{available,selected}
with obvious meanings.
The old net.inet.tcp.newreno MIB was removed.
The API is discussed in tcp_congctl(9).

In the near future, it will be possible to selected a congestion control
algorithm on a per-socket basis.

Discussed on tech-net and reviewed by <yamt>.

show more ...


# 874fef37 14-May-2006 elad <elad@NetBSD.org>

integrate kauth.


1234