History log of /netbsd-src/sys/netinet/tcp_output.c (Results 1 – 25 of 222)
Revision Date Author Comments
# 5b28f239 08-Sep-2024 rillig <rillig@NetBSD.org>

fix a/an grammar in obvious cases


# 481d3881 05-Jul-2024 rin <rin@NetBSD.org>

sys: Drop redundant NULL check before m_freem(9)

m_freem(9) safely has accepted NULL argument at least since 4.2BSD:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c

Co

sys: Drop redundant NULL check before m_freem(9)

m_freem(9) safely has accepted NULL argument at least since 4.2BSD:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c

Compile-tested on amd64/ALL.

Suggested by knakahara@

show more ...


# 023842dd 29-Jun-2024 riastradh <riastradh@NetBSD.org>

netinet: Use _NET_STAT* API instead of direct array access.

PR kern/58380


# 798dd698 13-Sep-2023 bouyer <bouyer@NetBSD.org>

Handle EHOSTDOWN the same way as EHOSTUNREACH and ENETDOWN for established
connections. Avoid premature end of tcp connection with "Host is down" error
in case of transient link-layer failure.
Discus

Handle EHOSTDOWN the same way as EHOSTUNREACH and ENETDOWN for established
connections. Avoid premature end of tcp connection with "Host is down" error
in case of transient link-layer failure.
Discussed and patch proposed in
http://mail-index.netbsd.org/tech-net/2023/09/11/msg008610.html
and followups.

show more ...


# b000e63f 04-Nov-2022 ozaki-r <ozaki-r@NetBSD.org>

inpcb: rename functions to in6pcb_*


# 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 ...


# 61ae4ee7 30-Dec-2021 andvar <andvar@NetBSD.org>

s/bandwith/bandwidth/


# b05648aa 12-Jun-2020 roy <roy@NetBSD.org>

Remove in-kernel handling of Router Advertisements

This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note

Remove in-kernel handling of Router Advertisements

This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note that the ioctl SIOCGIFINFO_IN6 no longer sets flags. That now
needs to be done using the pre-existing SIOCSIFINFO_FLAGS ioctl.

Compat is fully provided where it makes sense, but trying to turn on
RA handling will obviously throw an error as it no longer exists.

Note that if you use IPv6 temporary addresses, this now needs to be
turned on in dhcpcd.conf(5) rather than in sysctl.conf(5).

show more ...


# 1f038987 17-Nov-2019 mlelstv <mlelstv@NetBSD.org>

Don't allow zero sized segments that will panic the stack.
Reported-by: syzbot+5542516fa4afe7a101e6@syzkaller.appspotmail.com


# 9d926f2e 25-Feb-2019 maxv <maxv@NetBSD.org>

Improve panic messages.


# b9e11ce7 27-Dec-2018 maxv <maxv@NetBSD.org>

Remove unused arguments.


# d1579b2d 03-Sep-2018 riastradh <riastradh@NetBSD.org>

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a n

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)

show more ...


# 68981e0c 17-May-2018 maxv <maxv@NetBSD.org>

Remove reference to tcpiphdr in comment.


# 05df44f6 07-May-2018 uwe <uwe@NetBSD.org>

Fix unsigned wraparound on window size calculations.

This is another instance where tp->rcv_adv - tp->rcv_nxt can wrap
around after successful zero-window probe from the peer. The first
one was fix

Fix unsigned wraparound on window size calculations.

This is another instance where tp->rcv_adv - tp->rcv_nxt can wrap
around after successful zero-window probe from the peer. The first
one was fixed by chs@ in revision 1.112 on 2004-05-08.

While here, CSE and de-obfuscate the code a bit.

show more ...


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

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


# 5f47a701 03-Apr-2018 maxv <maxv@NetBSD.org>

bcopy -> memcpy, it's obvious the areas don't overlap.


# d8123fa2 01-Apr-2018 maxv <maxv@NetBSD.org>

Change the check to be <= instead of <. This fixes one occurrence of an
apparently widespread division-by-zero bug in our TCP code: if a user adds
huge IPv6 options with setsockopt, and if the total

Change the check to be <= instead of <. This fixes one occurrence of an
apparently widespread division-by-zero bug in our TCP code: if a user adds
huge IPv6 options with setsockopt, and if the total size of the options
happens to be equal to the available space calculated for the TCP payload,
t_segsz gets set to zero, and given that we then divide several things by
it, the kernel crashes.

show more ...


# fd876672 01-Apr-2018 maxv <maxv@NetBSD.org>

Reorder and style, for clarity.


# 3ce13152 30-Mar-2018 maxv <maxv@NetBSD.org>

Remove dead code. It was introduced in rev1 (25 years ago), and is
irrelevant today.


# 5fc9cf32 30-Mar-2018 maxv <maxv@NetBSD.org>

Style, use NULL for pointers, use KASSERT, and don't inline huge functions,
we want to debug them with DDB (and not just with GPROF).


# 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.


# a8074f19 10-Mar-2018 khorben <khorben@NetBSD.org>

Fix spello in a comment


# f0c1a70d 12-Feb-2018 maxv <maxv@NetBSD.org>

Remove unused argument from tcp_signature_getsav.


123456789