The NetBSD Project

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

[BACK] Up to [cvs.NetBSD.org] / src / sys / netinet

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.218.2.1 / (download) - annotate - [select for diffs], Thu Sep 21 13:22:46 2023 UTC (5 months ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.218: +4 -4 lines
Diff to previous 1.218 (colored) next main 1.219 (colored)

Pull up following revision(s) (requested by bouyer in ticket #377):

	sys/netinet/tcp_output.c: revision 1.219

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.

Revision 1.219 / (download) - annotate - [select for diffs], Wed Sep 13 15:54:28 2023 UTC (5 months, 1 week ago) by bouyer
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.218: +4 -4 lines
Diff to previous 1.218 (colored)

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.

Revision 1.218 / (download) - annotate - [select for diffs], Fri Nov 4 09:01:53 2022 UTC (15 months, 2 weeks ago) by ozaki-r
Branch: MAIN
CVS Tags: netbsd-10-base
Branch point for: netbsd-10
Changes since 1.217: +4 -4 lines
Diff to previous 1.217 (colored)

inpcb: rename functions to in6pcb_*

Revision 1.217 / (download) - annotate - [select for diffs], Fri Nov 4 09:00:58 2022 UTC (15 months, 2 weeks ago) by ozaki-r
Branch: MAIN
Changes since 1.216: +6 -6 lines
Diff to previous 1.216 (colored)

inpcb: rename functions to inpcb_*

Inspired by rmind-smpnet patches.

Revision 1.216 / (download) - annotate - [select for diffs], Fri Oct 28 05:25:36 2022 UTC (15 months, 3 weeks ago) by ozaki-r
Branch: MAIN
Changes since 1.215: +13 -13 lines
Diff to previous 1.215 (colored)

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

Revision 1.215 / (download) - annotate - [select for diffs], Fri Oct 28 05:18:39 2022 UTC (15 months, 3 weeks ago) by ozaki-r
Branch: MAIN
Changes since 1.214: +38 -96 lines
Diff to previous 1.214 (colored)

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

Revision 1.214 / (download) - annotate - [select for diffs], Thu Dec 30 23:03:44 2021 UTC (2 years, 1 month ago) by andvar
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.213: +4 -4 lines
Diff to previous 1.213 (colored)

s/bandwith/bandwidth/

Revision 1.213 / (download) - annotate - [select for diffs], Fri Jun 12 11:04:45 2020 UTC (3 years, 8 months ago) by roy
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.212: +3 -3 lines
Diff to previous 1.212 (colored)

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

Revision 1.208.2.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:16 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.208.2.1: +10 -2 lines
Diff to previous 1.208.2.1 (colored) to branchpoint 1.208 (colored) next main 1.209 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.212 / (download) - annotate - [select for diffs], Sun Nov 17 08:21:25 2019 UTC (4 years, 3 months ago) by mlelstv
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.211: +10 -2 lines
Diff to previous 1.211 (colored)

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

Revision 1.208.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:47 2019 UTC (4 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.208: +18 -18 lines
Diff to previous 1.208 (colored)

Sync with HEAD

Revision 1.211 / (download) - annotate - [select for diffs], Mon Feb 25 10:49:16 2019 UTC (4 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.210: +4 -4 lines
Diff to previous 1.210 (colored)

Improve panic messages.

Revision 1.198.2.6 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:58 2019 UTC (5 years, 1 month ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.198.2.5: +4 -4 lines
Diff to previous 1.198.2.5 (colored) to branchpoint 1.198 (colored) next main 1.199 (colored)

Synch with HEAD

Revision 1.210 / (download) - annotate - [select for diffs], Thu Dec 27 16:59:17 2018 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118
Changes since 1.209: +4 -4 lines
Diff to previous 1.209 (colored)

Remove unused arguments.

Revision 1.198.2.5 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:45 2018 UTC (5 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.198.2.4: +14 -14 lines
Diff to previous 1.198.2.4 (colored) to branchpoint 1.198 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.209 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:36 2018 UTC (5 years, 5 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906
Changes since 1.208: +14 -14 lines
Diff to previous 1.208 (colored)

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!)

Revision 1.198.2.4 / (download) - annotate - [select for diffs], Mon May 21 04:36:16 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.198.2.3: +25 -15 lines
Diff to previous 1.198.2.3 (colored) to branchpoint 1.198 (colored)

Sync with HEAD

Revision 1.208 / (download) - annotate - [select for diffs], Thu May 17 07:30:13 2018 UTC (5 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521
Branch point for: phil-wifi
Changes since 1.207: +8 -8 lines
Diff to previous 1.207 (colored)

Remove reference to tcpiphdr in comment.

Revision 1.207 / (download) - annotate - [select for diffs], Mon May 7 23:42:13 2018 UTC (5 years, 9 months ago) by uwe
Branch: MAIN
Changes since 1.206: +19 -8 lines
Diff to previous 1.206 (colored)

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.

Revision 1.206 / (download) - annotate - [select for diffs], Thu May 3 07:13:48 2018 UTC (5 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.205: +2 -3 lines
Diff to previous 1.205 (colored)

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

Revision 1.198.2.3 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:19 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.198.2.2: +52 -75 lines
Diff to previous 1.198.2.2 (colored) to branchpoint 1.198 (colored)

Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$

Revision 1.205 / (download) - annotate - [select for diffs], Tue Apr 3 08:02:34 2018 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407
Changes since 1.204: +4 -4 lines
Diff to previous 1.204 (colored)

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

Revision 1.204 / (download) - annotate - [select for diffs], Sun Apr 1 12:58:47 2018 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.203: +8 -4 lines
Diff to previous 1.203 (colored)

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.

Revision 1.203 / (download) - annotate - [select for diffs], Sun Apr 1 12:46:50 2018 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.202: +9 -9 lines
Diff to previous 1.202 (colored)

Reorder and style, for clarity.

Revision 1.202 / (download) - annotate - [select for diffs], Fri Mar 30 08:57:32 2018 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.201: +3 -17 lines
Diff to previous 1.201 (colored)

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

Revision 1.201 / (download) - annotate - [select for diffs], Fri Mar 30 08:53:51 2018 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.200: +37 -50 lines
Diff to previous 1.200 (colored)

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

Revision 1.198.2.2 / (download) - annotate - [select for diffs], Fri Mar 30 06:20:16 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.198.2.1: +9 -48 lines
Diff to previous 1.198.2.1 (colored) to branchpoint 1.198 (colored)

Resolve conflicts between branch and HEAD

Revision 1.200 / (download) - annotate - [select for diffs], Thu Mar 29 07:46:43 2018 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0330
Changes since 1.199: +9 -48 lines
Diff to previous 1.199 (colored)

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

Also make tcp6_mtudisc() static in tcp_subr.c.

Revision 1.198.2.1 / (download) - annotate - [select for diffs], Thu Mar 15 09:12:06 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.198: +3 -3 lines
Diff to previous 1.198 (colored)

Synch with HEAD

Revision 1.199 / (download) - annotate - [select for diffs], Sat Mar 10 23:28:13 2018 UTC (5 years, 11 months ago) by khorben
Branch: MAIN
CVS Tags: pgoyette-compat-0322, pgoyette-compat-0315
Changes since 1.198: +3 -3 lines
Diff to previous 1.198 (colored)

Fix spello in a comment

Revision 1.198 / (download) - annotate - [select for diffs], Mon Feb 12 08:22:26 2018 UTC (6 years ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base
Branch point for: pgoyette-compat
Changes since 1.197: +3 -4 lines
Diff to previous 1.197 (colored)

Remove unused argument from tcp_signature_getsav.

Revision 1.174.2.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:04 2017 UTC (6 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.174.2.2: +178 -95 lines
Diff to previous 1.174.2.2 (colored) to branchpoint 1.174 (colored) next main 1.175 (colored)

update from HEAD

Revision 1.196.2.1 / (download) - annotate - [select for diffs], Sat Oct 21 19:43:54 2017 UTC (6 years, 4 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.196: +3 -3 lines
Diff to previous 1.196 (colored) next main 1.197 (colored)

Pull up following revision(s) (requested by ozaki-r in ticket #300):
	crypto/dist/ipsec-tools/src/setkey/parse.y: 1.19
	crypto/dist/ipsec-tools/src/setkey/token.l: 1.20
	distrib/sets/lists/tests/mi: 1.754, 1.757, 1.759
	doc/TODO.smpnet: 1.12-1.13
	sys/net/pfkeyv2.h: 1.32
	sys/net/raw_cb.c: 1.23-1.24, 1.28
	sys/net/raw_cb.h: 1.28
	sys/net/raw_usrreq.c: 1.57-1.58
	sys/net/rtsock.c: 1.228-1.229
	sys/netinet/in_proto.c: 1.125
	sys/netinet/ip_input.c: 1.359-1.361
	sys/netinet/tcp_input.c: 1.359-1.360
	sys/netinet/tcp_output.c: 1.197
	sys/netinet/tcp_var.h: 1.178
	sys/netinet6/icmp6.c: 1.213
	sys/netinet6/in6_proto.c: 1.119
	sys/netinet6/ip6_forward.c: 1.88
	sys/netinet6/ip6_input.c: 1.181-1.182
	sys/netinet6/ip6_output.c: 1.193
	sys/netinet6/ip6protosw.h: 1.26
	sys/netipsec/ipsec.c: 1.100-1.122
	sys/netipsec/ipsec.h: 1.51-1.61
	sys/netipsec/ipsec6.h: 1.18-1.20
	sys/netipsec/ipsec_input.c: 1.44-1.51
	sys/netipsec/ipsec_netbsd.c: 1.41-1.45
	sys/netipsec/ipsec_output.c: 1.49-1.64
	sys/netipsec/ipsec_private.h: 1.5
	sys/netipsec/key.c: 1.164-1.234
	sys/netipsec/key.h: 1.20-1.32
	sys/netipsec/key_debug.c: 1.18-1.21
	sys/netipsec/key_debug.h: 1.9
	sys/netipsec/keydb.h: 1.16-1.20
	sys/netipsec/keysock.c: 1.59-1.62
	sys/netipsec/keysock.h: 1.10
	sys/netipsec/xform.h: 1.9-1.12
	sys/netipsec/xform_ah.c: 1.55-1.74
	sys/netipsec/xform_esp.c: 1.56-1.72
	sys/netipsec/xform_ipcomp.c: 1.39-1.53
	sys/netipsec/xform_ipip.c: 1.50-1.54
	sys/netipsec/xform_tcp.c: 1.12-1.16
	sys/rump/librump/rumpkern/Makefile.rumpkern: 1.170
	sys/rump/librump/rumpnet/net_stub.c: 1.27
	sys/sys/protosw.h: 1.67-1.68
	tests/net/carp/t_basic.sh: 1.7
	tests/net/if_gif/t_gif.sh: 1.11
	tests/net/if_l2tp/t_l2tp.sh: 1.3
	tests/net/ipsec/Makefile: 1.7-1.9
	tests/net/ipsec/algorithms.sh: 1.5
	tests/net/ipsec/common.sh: 1.4-1.6
	tests/net/ipsec/t_ipsec_ah_keys.sh: 1.2
	tests/net/ipsec/t_ipsec_esp_keys.sh: 1.2
	tests/net/ipsec/t_ipsec_gif.sh: 1.6-1.7
	tests/net/ipsec/t_ipsec_l2tp.sh: 1.6-1.7
	tests/net/ipsec/t_ipsec_misc.sh: 1.8-1.18
	tests/net/ipsec/t_ipsec_sockopt.sh: 1.1-1.2
	tests/net/ipsec/t_ipsec_tcp.sh: 1.1-1.2
	tests/net/ipsec/t_ipsec_transport.sh: 1.5-1.6
	tests/net/ipsec/t_ipsec_tunnel.sh: 1.9
	tests/net/ipsec/t_ipsec_tunnel_ipcomp.sh: 1.1-1.2
	tests/net/ipsec/t_ipsec_tunnel_odd.sh: 1.3
	tests/net/mcast/t_mcast.sh: 1.6
	tests/net/net/t_ipaddress.sh: 1.11
	tests/net/net_common.sh: 1.20
	tests/net/npf/t_npf.sh: 1.3
	tests/net/route/t_flags.sh: 1.20
	tests/net/route/t_flags6.sh: 1.16
	usr.bin/netstat/fast_ipsec.c: 1.22
Do m_pullup before mtod

It may fix panicks of some tests on anita/sparc and anita/GuruPlug.
---
KNF
---
Enable DEBUG for babylon5
---
Apply C99-style struct initialization to xformsw
---
Tweak outputs of netstat -s for IPsec

- Get rid of "Fast"
- Use ipsec and ipsec6 for titles to clarify protocol
- Indent outputs of sub protocols

Original outputs were organized like this:

(Fast) IPsec:
IPsec ah:
IPsec esp:
IPsec ipip:
IPsec ipcomp:
(Fast) IPsec:
IPsec ah:
IPsec esp:
IPsec ipip:
IPsec ipcomp:

New outputs are organized like this:

ipsec:
	ah:
	esp:
	ipip:
	ipcomp:
ipsec6:
	ah:
	esp:
	ipip:
	ipcomp:
---
Add test cases for IPComp
---
Simplify IPSEC_OSTAT macro (NFC)
---
KNF; replace leading whitespaces with hard tabs
---
Introduce and use SADB_SASTATE_USABLE_P
---
KNF
---
Add update command for testing

Updating an SA (SADB_UPDATE) requires that a process issuing
SADB_UPDATE is the same as a process issued SADB_ADD (or SADB_GETSPI).
This means that update command must be used with add command in a
configuration of setkey. This usage is normally meaningless but
useful for testing (and debugging) purposes.
---
Add test cases for updating SA/SP

The tests require newly-added udpate command of setkey.
---
PR/52346: Frank Kardel: Fix checksumming for NAT-T
See XXX for improvements.
---
Remove codes for PACKET_TAG_IPSEC_IN_CRYPTO_DONE

It seems that PACKET_TAG_IPSEC_IN_CRYPTO_DONE is for network adapters
that have IPsec accelerators; a driver sets the mtag to a packet
when its device has already encrypted the packet.

Unfortunately no driver implements such offload features for long
years and seems unlikely to implement them soon. (Note that neither
FreeBSD nor Linux doesn't have such drivers.) Let's remove related
(unused) codes and simplify the IPsec code.
---
Fix usages of sadb_msg_errno
---
Avoid updating sav directly

On SADB_UPDATE a target sav was updated directly, which was unsafe.
Instead allocate another sav, copy variables of the old sav to
the new one and replace the old one with the new one.
---
Simplify; we can assume sav->tdb_xform cannot be NULL while it's valid
---
Rename key_alloc* functions (NFC)

We shouldn't use the term "alloc" for functions that just look up
data and actually don't allocate memory.
---
Use explicit_memset to surely zero-clear key_auth and key_enc
---
Make sure to clear keys on error paths of key_setsaval
---
Add missing KEY_FREESAV
---
Make sure a sav is inserted to a sah list after its initialization completes
---
Remove unnecessary zero-clearing codes from key_setsaval

key_setsaval is now used only for a newly-allocated sav. (It was
used to reset variables of an existing sav.)
---
Correct wrong assumption of sav->refcnt in key_delsah

A sav in a list is basically not to be sav->refcnt == 0. And also
KEY_FREESAV assumes sav->refcnt > 0.
---
Let key_getsavbyspi take a reference of a returning sav
---
Use time_mono_to_wall (NFC)
---
Separate sending message routine (NFC)
---
Simplify; remove unnecessary zero-clears

key_freesaval is used only when a target sav is being destroyed.
---
Omit NULL checks for sav->lft_c

sav->lft_c can be NULL only when initializing or destroying sav.
---
Omit unnecessary NULL checks for sav->sah
---
Omit unnecessary check of sav->state

key_allocsa_policy picks a sav of either MATURE or DYING so we
don't need to check its state again.
---
Simplify; omit unnecessary saidx passing

- ipsec_nextisr returns a saidx but no caller uses it
- key_checkrequest is passed a saidx but it can be gotton by
  another argument (isr)
---
Fix splx isn't called on some error paths
---
Fix header size calculation of esp where sav is NULL
---
Fix header size calculation of ah in the case sav is NULL

This fix was also needed for esp.
---
Pass sav directly to opencrypto callback

In a callback, use a passed sav as-is by default and look up a sav
only if the passed sav is dead.
---
Avoid examining freshness of sav on packet processing

If a sav list is sorted (by lft_c->sadb_lifetime_addtime) in advance,
we don't need to examine each sav and also don't need to delete one
on the fly and send up a message. Fortunately every sav lists are sorted
as we need.

Added key_validate_savlist validates that each sav list is surely sorted
(run only if DEBUG because it's not cheap).
---
Add test cases for SAs with different SPIs
---
Prepare to stop using isr->sav

isr is a shared resource and using isr->sav as a temporal storage
for each packet processing is racy. And also having a reference from
isr to sav makes the lifetime of sav non-deterministic; such a reference
is removed when a packet is processed and isr->sav is overwritten by
new one. Let's have a sav locally for each packet processing instead of
using shared isr->sav.

However this change doesn't stop using isr->sav yet because there are
some users of isr->sav. isr->sav will be removed after the users find
a way to not use isr->sav.
---
Fix wrong argument handling
---
fix printf format.
---
Don't validate sav lists of LARVAL or DEAD states

We don't sort the lists so the validation will always fail.

Fix PR kern/52405
---
Make sure to sort the list when changing the state by key_sa_chgstate
---
Rename key_allocsa_policy to key_lookup_sa_bysaidx
---
Separate test files
---
Calculate ah_max_authsize on initialization as well as esp_max_ivlen
---
Remove m_tag_find(PACKET_TAG_IPSEC_PENDING_TDB) because nobody sets the tag
---
Restore a comment removed in previous

The comment is valid for the below code.
---
Make tests more stable

sleep command seems to wait longer than expected on anita so
use polling to wait for a state change.
---
Add tests that explicitly delete SAs instead of waiting for expirations
---
Remove invalid M_AUTHIPDGM check on ESP isr->sav

M_AUTHIPDGM flag is set to a mbuf in ah_input_cb. An sav of ESP can
have AH authentication as sav->tdb_authalgxform. However, in that
case esp_input and esp_input_cb are used to do ESP decryption and
AH authentication and M_AUTHIPDGM never be set to a mbuf. So
checking M_AUTHIPDGM of a mbuf on isr->sav of ESP is meaningless.
---
Look up sav instead of relying on unstable sp->req->sav

This code is executed only in an error path so an additional lookup
doesn't matter.
---
Correct a comment
---
Don't release sav if calling crypto_dispatch again
---
Remove extra KEY_FREESAV from ipsec_process_done

It should be done by the caller.
---
Don't bother the case of crp->crp_buf == NULL in callbacks
---
Hold a reference to an SP during opencrypto processing

An SP has a list of isr (ipsecrequest) that represents a sequence
of IPsec encryption/authentication processing. One isr corresponds
to one opencrypto processing. The lifetime of an isr follows its SP.

We pass an isr to a callback function of opencrypto to continue
to a next encryption/authentication processing. However nobody
guaranteed that the isr wasn't freed, i.e., its SP wasn't destroyed.

In order to avoid such unexpected destruction of isr, hold a reference
to its SP during opencrypto processing.
---
Don't make SAs expired on tests that delete SAs explicitly
---
Fix a debug message
---
Dedup error paths (NFC)
---
Use pool to allocate tdb_crypto

For ESP and AH, we need to allocate an extra variable space in addition
to struct tdb_crypto. The fixed size of pool items may be larger than
an actual requisite size of a buffer, but still the performance
improvement by replacing malloc with pool wins.
---
Don't use unstable isr->sav for header size calculations

We may need to optimize to not look up sav here for users that
don't need to know an exact size of headers (e.g., TCP segmemt size
caclulation).
---
Don't use sp->req->sav when handling NAT-T ESP fragmentation

In order to do this we need to look up a sav however an additional
look-up degrades performance. A sav is later looked up in
ipsec4_process_packet so delay the fragmentation check until then
to avoid an extra look-up.
---
Don't use key_lookup_sp that depends on unstable sp->req->sav

It provided a fast look-up of SP. We will provide an alternative
method in the future (after basic MP-ification finishes).
---
Stop setting isr->sav on looking up sav in key_checkrequest
---
Remove ipsecrequest#sav
---
Stop setting mtag of PACKET_TAG_IPSEC_IN_DONE because there is no users anymore
---
Skip ipsec_spi_*_*_preferred_new_timeout when running on qemu

Probably due to PR 43997
---
Add localcount to rump kernels
---
Remove unused macro
---
Fix key_getcomb_setlifetime

The fix adjusts a soft limit to be 80% of a corresponding hard limit.

I'm not sure the fix is really correct though, at least the original
code is wrong. A passed comb is zero-cleared before calling
key_getcomb_setlifetime, so
  comb->sadb_comb_soft_addtime = comb->sadb_comb_soft_addtime * 80 / 100;
is meaningless.
---
Provide and apply key_sp_refcnt (NFC)

It simplifies further changes.
---
Fix indentation

Pointed out by knakahara@
---
Use pslist(9) for sptree
---
Don't acquire global locks for IPsec if NET_MPSAFE

Note that the change is just to make testing easy and IPsec isn't MP-safe yet.
---
Let PF_KEY socks hold their own lock instead of softnet_lock

Operations on SAD and SPD are executed via PF_KEY socks. The operations
include deletions of SAs and SPs that will use synchronization mechanisms
such as pserialize_perform to wait for references to SAs and SPs to be
released. It is known that using such mechanisms with holding softnet_lock
causes a dead lock. We should avoid the situation.
---
Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@
---
Fix updating ipsec_used

- key_update_used wasn't called in key_api_spddelete2 and key_api_spdflush
- key_update_used wasn't called if an SP had been added/deleted but
  a reply to userland failed
---
Fix updating ipsec_used; turn on when SPs on sockets are added
---
Add missing IPsec policy checks to icmp6_rip6_input

icmp6_rip6_input is quite similar to rip6_input and the same checks exist
in rip6_input.
---
Add test cases for setsockopt(IP_IPSEC_POLICY)
---
Don't use KEY_NEWSP for dummy SP entries

By the change KEY_NEWSP is now not called from softint anymore
and we can use kmem_zalloc with KM_SLEEP for KEY_NEWSP.
---
Comment out unused functions
---
Add test cases that there are SPs but no relevant SAs
---
Don't allow sav->lft_c to be NULL

lft_c of an sav that was created by SADB_GETSPI could be NULL.
---
Clean up clunky eval strings

- Remove unnecessary \ at EOL
  - This allows to omit ; too
- Remove unnecessary quotes for arguments of atf_set
- Don't expand $DEBUG in eval
  - We expect it's expanded on execution

Suggested by kre@
---
Remove unnecessary KEY_FREESAV in an error path

sav should be freed (unreferenced) by the caller.
---
Use pslist(9) for sahtree
---
Use pslist(9) for sah->savtree
---
Rename local variable newsah to sah

It may not be new.
---
MP-ify SAD slightly

- Introduce key_sa_mtx and use it for some list operations
- Use pserialize for some list iterations
---
Introduce KEY_SA_UNREF and replace KEY_FREESAV with it where sav will never be actually freed in the future

KEY_SA_UNREF is still key_freesav so no functional change for now.

This change reduces diff of further changes.
---
Remove out-of-date log output

Pointed out by riastradh@
---
Use KDASSERT instead of KASSERT for mutex_ownable

Because mutex_ownable is too heavy to run in a fast path
even for DIAGNOSTIC + LOCKDEBUG.

Suggested by riastradh@
---
Assemble global lists and related locks into cache lines (NFCI)

Also rename variable names from *tree to *list because they are
just lists, not trees.

Suggested by riastradh@
---
Move locking notes
---
Update the locking notes

- Add locking order
- Add locking notes for misc lists such as reglist
- Mention pserialize, key_sp_ref and key_sp_unref on SP operations

Requested by riastradh@
---
Describe constraints of key_sp_ref and key_sp_unref

Requested by riastradh@
---
Hold key_sad.lock on SAVLIST_WRITER_INSERT_TAIL
---
Add __read_mostly to key_psz

Suggested by riastradh@
---
Tweak wording (pserialize critical section => pserialize read section)

Suggested by riastradh@
---
Add missing mutex_exit
---
Fix setkey -D -P outputs

The outputs were tweaked (by me), but I forgot updating libipsec
in my local ATF environment...
---
MP-ify SAD (key_sad.sahlist and sah entries)

localcount(9) is used to protect key_sad.sahlist and sah entries
as well as SPD (and will be used for SAD sav).

Please read the locking notes of SAD for more details.
---
Introduce key_sa_refcnt and replace sav->refcnt with it (NFC)
---
Destroy sav only in the loop for DEAD sav
---
Fix KASSERT(solocked(sb->sb_so)) failure in sbappendaddr that is called eventually from key_sendup_mbuf

If key_sendup_mbuf isn't passed a socket, the assertion fails.
Originally in this case sb->sb_so was softnet_lock and callers
held softnet_lock so the assertion was magically satisfied.
Now sb->sb_so is key_so_mtx and also softnet_lock isn't always
held by callers so the assertion can fail.

Fix it by holding key_so_mtx if key_sendup_mbuf isn't passed a socket.

Reported by knakahara@
Tested by knakahara@ and ozaki-r@
---
Fix locking notes of SAD
---
Fix deadlock between key_sendup_mbuf called from key_acquire and localcount_drain

If we call key_sendup_mbuf from key_acquire that is called on packet
processing, a deadlock can happen like this:
- At key_acquire, a reference to an SP (and an SA) is held
- key_sendup_mbuf will try to take key_so_mtx
- Some other thread may try to localcount_drain to the SP with
  holding key_so_mtx in say key_api_spdflush
- In this case localcount_drain never return because key_sendup_mbuf
  that has stuck on key_so_mtx never release a reference to the SP

Fix the deadlock by deferring key_sendup_mbuf to the timer
(key_timehandler).
---
Fix that prev isn't cleared on retry
---
Limit the number of mbufs queued for deferred key_sendup_mbuf

It's easy to be queued hundreds of mbufs on the list under heavy
network load.
---
MP-ify SAD (savlist)

localcount(9) is used to protect savlist of sah. The basic design is
similar to MP-ifications of SPD and SAD sahlist. Please read the
locking notes of SAD for more details.
---
Simplify ipsec_reinject_ipstack (NFC)
---
Add per-CPU rtcache to ipsec_reinject_ipstack

It reduces route lookups and also reduces rtcache lock contentions
when NET_MPSAFE is enabled.
---
Use pool_cache(9) instead of pool(9) for tdb_crypto objects

The change improves network throughput especially on multi-core systems.
---
Update

ipsec(4), opencrypto(9) and vlan(4) are now MP-safe.
---
Write known issues on scalability
---
Share a global dummy SP between PCBs

It's never be changed so it can be pre-allocated and shared safely between PCBs.
---
Fix race condition on the rawcb list shared by rtsock and keysock

keysock now protects itself by its own mutex, which means that
the rawcb list is protected by two different mutexes (keysock's one
and softnet_lock for rtsock), of course it's useless.

Fix the situation by having a discrete rawcb list for each.
---
Use a dedicated mutex for rt_rawcb instead of softnet_lock if NET_MPSAFE
---
fix localcount leak in sav. fixed by ozaki-r@n.o.

I commit on behalf of him.
---
remove unnecessary comment.
---
Fix deadlock between pserialize_perform and localcount_drain

A typical ussage of localcount_drain looks like this:

  mutex_enter(&mtx);
  item = remove_from_list();
  pserialize_perform(psz);
  localcount_drain(&item->localcount, &cv, &mtx);
  mutex_exit(&mtx);

This sequence can cause a deadlock which happens for example on the following
situation:

- Thread A calls localcount_drain which calls xc_broadcast after releasing
  a specified mutex
- Thread B enters the sequence and calls pserialize_perform with holding
  the mutex while pserialize_perform also calls xc_broadcast
- Thread C (xc_thread) that calls an xcall callback of localcount_drain tries
  to hold the mutex

xc_broadcast of thread B doesn't start until xc_broadcast of thread A
finishes, which is a feature of xcall(9). This means that pserialize_perform
never complete until xc_broadcast of thread A finishes. On the other hand,
thread C that is a callee of xc_broadcast of thread A sticks on the mutex.
Finally the threads block each other (A blocks B, B blocks C and C blocks A).

A possible fix is to serialize executions of the above sequence by another
mutex, but adding another mutex makes the code complex, so fix the deadlock
by another way; the fix is to release the mutex before pserialize_perform
and instead use a condvar to prevent pserialize_perform from being called
simultaneously.

Note that the deadlock has happened only if NET_MPSAFE is enabled.
---
Add missing ifdef NET_MPSAFE
---
Take softnet_lock on pr_input properly if NET_MPSAFE

Currently softnet_lock is taken unnecessarily in some cases, e.g.,
icmp_input and encap4_input from ip_input, or not taken even if needed,
e.g., udp_input and tcp_input from ipsec4_common_input_cb. Fix them.

NFC if NET_MPSAFE is disabled (default).
---
- sanitize key debugging so that we don't print extra newlines or unassociated
  debugging messages.
- remove unused functions and make internal ones static
- print information in one line per message
---
humanize printing of ip addresses
---
cast reduction, NFC.
---
Fix typo in comment
---
Pull out ipsec_fill_saidx_bymbuf (NFC)
---
Don't abuse key_checkrequest just for looking up sav

It does more than expected for example key_acquire.
---
Fix SP is broken on transport mode

isr->saidx was modified accidentally in ipsec_nextisr.

Reported by christos@
Helped investigations by christos@ and knakahara@
---
Constify isr at many places (NFC)
---
Include socketvar.h for softnet_lock
---
Fix buffer length for ipsec_logsastr

Revision 1.179.2.6 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:12 2017 UTC (6 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.179.2.5: +10 -10 lines
Diff to previous 1.179.2.5 (colored) to branchpoint 1.179 (colored) next main 1.180 (colored)

Sync with HEAD

Revision 1.197 / (download) - annotate - [select for diffs], Thu Aug 3 06:32:51 2017 UTC (6 years, 6 months ago) by ozaki-r
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, nick-nhusb-base-20170825
Changes since 1.196: +3 -3 lines
Diff to previous 1.196 (colored)

Introduce KEY_SA_UNREF and replace KEY_FREESAV with it where sav will never be actually freed in the future

KEY_SA_UNREF is still key_freesav so no functional change for now.

This change reduces diff of further changes.

Revision 1.196 / (download) - annotate - [select for diffs], Fri Jun 2 03:41:20 2017 UTC (6 years, 8 months ago) by ozaki-r
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base
Branch point for: netbsd-8
Changes since 1.195: +7 -7 lines
Diff to previous 1.195 (colored)

Assert inph_locked on ipsec_pcb_skip_ipsec (was IPSEC_PCB_SKIP_IPSEC)

The assertion confirms SP caches are accessed under inph lock (solock).

Revision 1.194.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:06 2017 UTC (6 years, 10 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.194: +4 -4 lines
Diff to previous 1.194 (colored) next main 1.195 (colored)

Sync with HEAD

Revision 1.186.2.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:51 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.186.2.1: +4 -4 lines
Diff to previous 1.186.2.1 (colored) to branchpoint 1.186 (colored) next main 1.187 (colored)

Sync with HEAD

Revision 1.195 / (download) - annotate - [select for diffs], Fri Mar 3 07:13:06 2017 UTC (6 years, 11 months ago) by ozaki-r
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Changes since 1.194: +4 -4 lines
Diff to previous 1.194 (colored)

Pass inpcb/in6pcb instead of socket to ip_output/ip6_output

- Passing a socket to Layer 3 is layer violation and even unnecessary
- The change makes codes of callers and IPsec a bit simple

Revision 1.179.2.5 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:59 2017 UTC (7 years ago) by skrll
Branch: nick-nhusb
Changes since 1.179.2.4: +121 -67 lines
Diff to previous 1.179.2.4 (colored) to branchpoint 1.179 (colored)

Sync with HEAD

Revision 1.186.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:51 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.186: +121 -67 lines
Diff to previous 1.186 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.194 / (download) - annotate - [select for diffs], Wed Jan 4 15:09:37 2017 UTC (7 years, 1 month ago) by martin
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.193: +3 -3 lines
Diff to previous 1.193 (colored)

Fix optlen calculation for the SACK block - 2 bytes too few were
calculated, causing corruption in PR kern/51767.

Revision 1.193 / (download) - annotate - [select for diffs], Wed Jan 4 12:35:14 2017 UTC (7 years, 1 month ago) by kre
Branch: MAIN
Changes since 1.192: +4 -4 lines
Diff to previous 1.192 (colored)


Remove redundant tests:  if optlen === 0, then optlen % 4 != 2 (it is 0)
so there is no need to test both.

Revision 1.192 / (download) - annotate - [select for diffs], Tue Jan 3 20:59:32 2017 UTC (7 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.191: +7 -7 lines
Diff to previous 1.191 (colored)

use symbolic constants; no functional change.

Revision 1.191 / (download) - annotate - [select for diffs], Tue Jan 3 15:07:59 2017 UTC (7 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.190: +4 -4 lines
Diff to previous 1.190 (colored)

put it the way we had it before; since we check for the resulting size after
we added the extra space we can be equal to the size of the buffer.

Revision 1.190 / (download) - annotate - [select for diffs], Tue Jan 3 13:09:33 2017 UTC (7 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.189: +5 -6 lines
Diff to previous 1.189 (colored)

fix off-by-one

Revision 1.189 / (download) - annotate - [select for diffs], Mon Jan 2 02:38:54 2017 UTC (7 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.188: +16 -17 lines
Diff to previous 1.188 (colored)

make sure that the reset label is defined without TCP_SIGNATURE.

Revision 1.188 / (download) - annotate - [select for diffs], Mon Jan 2 01:18:42 2017 UTC (7 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.187: +99 -65 lines
Diff to previous 1.187 (colored)

Fix TCP signature code:
1. pack options more tightly instead of being generous with no/op
2. put TCP_SIGNATURE option before SACK
3. fix computation of options length, by deferring it
XXX: Really we should move the options setting code in one place instead
of having two copies one for input and one for output.
XXX: tcp_optlen/tcp_hdrsiz need to be fixed; they were wrong before too.

Revision 1.187 / (download) - annotate - [select for diffs], Thu Dec 8 05:16:33 2016 UTC (7 years, 2 months ago) by ozaki-r
Branch: MAIN
Changes since 1.186: +25 -3 lines
Diff to previous 1.186 (colored)

Add rtcache_unref to release points of rtentry stemming from rtcache

In the MP-safe world, a rtentry stemming from a rtcache can be freed at any
points. So we need to protect rtentries somehow say by reference couting or
passive references. Regardless of the method, we need to call some release
function of a rtentry after using it.

The change adds a new function rtcache_unref to release a rtentry. At this
point, this function does nothing because for now we don't add a reference
to a rtentry when we get one from a rtcache. We will add something useful
in a further commit.

This change is a part of changes for MP-safe routing table. It is separated
to avoid one big change that makes difficult to debug by bisecting.

Revision 1.179.2.4 / (download) - annotate - [select for diffs], Sat Jul 9 20:25:22 2016 UTC (7 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.179.2.3: +3 -3 lines
Diff to previous 1.179.2.3 (colored) to branchpoint 1.179 (colored)

Sync with HEAD

Revision 1.186 / (download) - annotate - [select for diffs], Fri Jun 10 13:27:16 2016 UTC (7 years, 8 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.185: +3 -3 lines
Diff to previous 1.185 (colored)

Introduce m_set_rcvif and m_reset_rcvif

The API is used to set (or reset) a received interface of a mbuf.
They are counterpart of m_get_rcvif, which will come in another
commit, hide internal of rcvif operation, and reduce the diff of
the upcoming change.

No functional change.

Revision 1.179.2.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:11 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.179.2.2: +20 -8 lines
Diff to previous 1.179.2.2 (colored) to branchpoint 1.179 (colored)

Sync with HEAD

Revision 1.185 / (download) - annotate - [select for diffs], Mon Aug 24 22:21:26 2015 UTC (8 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921
Changes since 1.184: +4 -2 lines
Diff to previous 1.184 (colored)

sprinkle _KERNEL_OPT

Revision 1.167.20.2 / (download) - annotate - [select for diffs], Fri Jul 24 07:47:02 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-5-1
Changes since 1.167.20.1: +18 -8 lines
Diff to previous 1.167.20.1 (colored) to branchpoint 1.167 (colored) next main 1.168 (colored)

Pull up following revision(s) (requested by matt in ticket #1973):
	sys/netinet/tcp_output.c: revision 1.184
	sys/netinet/tcp_input.c: revision 1.343

If we are sending a window probe and there's unacked data in the
socket, make sure at least the persist timer is running.
Make sure that snd_win doesn't go negative.

Revision 1.167.10.1.2.1 / (download) - annotate - [select for diffs], Fri Jul 24 07:44:35 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-5-2
Changes since 1.167.10.1: +18 -8 lines
Diff to previous 1.167.10.1 (colored) next main 1.167.10.2 (colored)

Pull up following revision(s) (requested by matt in ticket #1973):
	sys/netinet/tcp_output.c: revision 1.184
	sys/netinet/tcp_input.c: revision 1.343

If we are sending a window probe and there's unacked data in the
socket, make sure at least the persist timer is running.
Make sure that snd_win doesn't go negative.

Revision 1.167.10.2 / (download) - annotate - [select for diffs], Fri Jul 24 07:42:43 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-5
Changes since 1.167.10.1: +18 -8 lines
Diff to previous 1.167.10.1 (colored) to branchpoint 1.167 (colored) next main 1.168 (colored)

Pull up following revision(s) (requested by matt in ticket #1973):
	sys/netinet/tcp_output.c: revision 1.184
	sys/netinet/tcp_input.c: revision 1.343

If we are sending a window probe and there's unacked data in the
socket, make sure at least the persist timer is running.
Make sure that snd_win doesn't go negative.

Revision 1.173.2.2 / (download) - annotate - [select for diffs], Fri Jul 24 07:40:17 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-6
Changes since 1.173.2.1: +18 -8 lines
Diff to previous 1.173.2.1 (colored) to branchpoint 1.173 (colored) next main 1.174 (colored)

Pull up following revision(s) (requested by matt in ticket #1315):
	sys/netinet/tcp_output.c: revision 1.184
	sys/netinet/tcp_input.c: revision 1.343

If we are sending a window probe and there's unacked data in the
socket, make sure at least the persist timer is running.
Make sure that snd_win doesn't go negative.

Revision 1.173.6.2 / (download) - annotate - [select for diffs], Fri Jul 24 07:37:49 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-6-0
Changes since 1.173.6.1: +18 -8 lines
Diff to previous 1.173.6.1 (colored) to branchpoint 1.173 (colored) next main 1.174 (colored)

Pull up following revision(s) (requested by matt in ticket #1315):
	sys/netinet/tcp_output.c: revision 1.184
	sys/netinet/tcp_input.c: revision 1.343

If we are sending a window probe and there's unacked data in the
socket, make sure at least the persist timer is running.
Make sure that snd_win doesn't go negative.

Revision 1.173.8.2 / (download) - annotate - [select for diffs], Fri Jul 24 07:36:05 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-6-1
Changes since 1.173.8.1: +18 -8 lines
Diff to previous 1.173.8.1 (colored) to branchpoint 1.173 (colored) next main 1.174 (colored)

Pull up following revision(s) (requested by matt in ticket #1315):
	sys/netinet/tcp_output.c: revision 1.184
	sys/netinet/tcp_input.c: revision 1.343

If we are sending a window probe and there's unacked data in the
socket, make sure at least the persist timer is running.
Make sure that snd_win doesn't go negative.

Revision 1.176.2.5 / (download) - annotate - [select for diffs], Fri Jul 24 07:30:40 2015 UTC (8 years, 7 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.176.2.4: +18 -8 lines
Diff to previous 1.176.2.4 (colored) to branchpoint 1.176 (colored) next main 1.177 (colored)

Pull up following revision(s) (requested by matt in ticket #886):
	sys/netinet/tcp_output.c: revision 1.184
	sys/netinet/tcp_input.c: revision 1.343

If we are sending a window probe and there's unacked data in the
socket, make sure at least the persist timer is running.
Make sure that snd_win doesn't go negative.

Revision 1.184 / (download) - annotate - [select for diffs], Fri Jul 24 04:33:50 2015 UTC (8 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.183: +18 -8 lines
Diff to previous 1.183 (colored)

If we are sending a window probe and there's unacked data in the socket, make
sure at least the persist timer is running.

Revision 1.179.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:25 2015 UTC (8 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.179.2.1: +22 -13 lines
Diff to previous 1.179.2.1 (colored) to branchpoint 1.179 (colored)

Sync with HEAD

Revision 1.183 / (download) - annotate - [select for diffs], Sat May 16 01:15:34 2015 UTC (8 years, 9 months ago) by kefren
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.182: +6 -3 lines
Diff to previous 1.182 (colored)

Don't put segment on the wire if security request can't be fulfilled

Revision 1.182 / (download) - annotate - [select for diffs], Mon Apr 27 16:50:17 2015 UTC (8 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.181: +10 -2 lines
Diff to previous 1.181 (colored)

Apply Revision 220794 from FreeBSD to avoid dup ACKs:

When checking to see if a window update should be sent to the remote peer,
don't force a window update if the window would not actually grow due to
window scaling.  Specifically, if the window scaling factor is larger than
2 * MSS, then after the local reader has drained 2 * MSS bytes from the
socket, a window update can end up advertising the same window.  If this
happens, the supposed window update actually ends up being a duplicate ACK.
This can result in an excessive number of duplicate ACKs when using a
higher maximum socket buffer size.

Pointed out by Ricky Charlet, in tech-net.

Revision 1.181 / (download) - annotate - [select for diffs], Mon Apr 27 02:59:44 2015 UTC (8 years, 9 months ago) by ozaki-r
Branch: MAIN
Changes since 1.180: +3 -5 lines
Diff to previous 1.180 (colored)

Introduce in6_selecthlim_rt to consolidate an idiom for rt->rt_ifp

It consolidates a scattered routine:
(rt = rtcache_validate(&in6p->in6p_route)) != NULL ? rt->rt_ifp : NULL

Revision 1.179.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:23 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.179: +6 -2 lines
Diff to previous 1.179 (colored)

Sync with HEAD

Revision 1.176.2.4 / (download) - annotate - [select for diffs], Sat Feb 21 13:40:19 2015 UTC (9 years ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-0-RC2, netbsd-7-0-RC1
Changes since 1.176.2.3: +6 -2 lines
Diff to previous 1.176.2.3 (colored) to branchpoint 1.176 (colored)

Pull up following revision(s) (requested by he in ticket #530):
	sys/netinet/tcp_output.c: revision 1.180
	sys/netinet/tcp_input.c: revision 1.336
	sys/netinet/tcp_usrreq.c: revision 1.203
	share/man/man4/tcp.4: revision 1.30
	sys/netinet/tcp.h: revision 1.31
	sys/netinet/tcp_subr.c: revision 1.258
	sys/netinet/tcp_var.h: revision 1.176
	sys/netinet/tcp_var.h: revision 1.177
	sys/sys/param.h: bump revision

Port over the TCP_INFO socket option from FreeBSD, originally from
the Linux 2.6 TCP API.  This permits the caller to query certain information
about a TCP connection, and is used by pkgsrc's net/iperf3 test program
if available.

This extends struct tcbcb with three fields to count retransmits,
out-of-sequence receives and zero window announcements, and will
therefore warrant a kernel revision bump (done separately).

Change the new counter variables in struct tcpcb to uint32_t, as
per christos' comments.

Revision 1.180 / (download) - annotate - [select for diffs], Sat Feb 14 12:57:53 2015 UTC (9 years ago) by he
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.179: +6 -2 lines
Diff to previous 1.179 (colored)

Port over the TCP_INFO socket option from FreeBSD, originally from
the Linux 2.6 TCP API.  This permits the caller to query certain information
about a TCP connection, and is used by pkgsrc's net/iperf3 test program
if available.

This extends struct tcbcb with three fields to count retransmits,
out-of-sequence receives and zero window announcements, and will
therefore warrant a kernel revision bump (done separately).

Revision 1.176.2.3 / (download) - annotate - [select for diffs], Sat Jan 17 12:10:53 2015 UTC (9 years, 1 month ago) by martin
Branch: netbsd-7
Changes since 1.176.2.2: +2 -3 lines
Diff to previous 1.176.2.2 (colored) to branchpoint 1.176 (colored)

Pull up following revision(s) (requested by maxv in ticket #427):
	sys/compat/svr4/svr4_schedctl.c: revision 1.8
	sys/netinet/tcp_timer.c: revision 1.88
	sys/miscfs/genfs/layer_vfsops.c: revision 1.45
	sys/compat/svr4/svr4_ioctl.c: revision 1.37
	sys/ufs/chfs/chfs_vfsops.c: revision 1.14
	sys/miscfs/fdesc/fdesc_vfsops.c: revision 1.91
	sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.30
	sys/compat/common/kern_time_50.c: revision 1.28
	sys/netinet6/ip6_forward.c: revision 1.74
	sys/miscfs/umapfs/umap_vnops.c: revision 1.57
	sys/compat/svr4/svr4_fcntl.c: revision 1.74
	distrib/sets/lists/comp/mi: revision 1.1931
	sys/netinet6/udp6_output.c: revision 1.46
	sys/fs/puffs/puffs_compat.c: revision 1.3
	sys/fs/udf/udf_rename.c: revision 1.11
	sys/compat/svr4/svr4_filio.c: revision 1.24
	sys/fs/udf/udf_rename.c: revision 1.12
	sys/netinet/tcp_usrreq.c: revision 1.202
	sys/miscfs/umapfs/umap_subr.c: revision 1.29
	sys/compat/linux/common/linux_fadvise64.c: revision 1.3
	sys/netinet/if_atm.c: revision 1.34
	sys/miscfs/procfs/procfs_subr.c: revision 1.106
	sys/miscfs/genfs/layer_subr.c: revision 1.37
	sys/netinet/tcp_sack.c: revision 1.30
	sys/compat/freebsd/freebsd_misc.c: revision 1.33
	sys/compat/freebsd/freebsd_file.c: revision 1.33
	sys/ufs/chfs/chfs_vnode.c: revision 1.12
	sys/compat/svr4/svr4_ttold.c: revision 1.34
	sys/compat/linux/common/linux_file.c: revision 1.114
	sys/compat/linux/arch/mips/linux_machdep.c: revision 1.43
	sys/compat/linux/common/linux_signal.c: revision 1.76
	sys/compat/common/compat_util.c: revision 1.46
	sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.18
	sys/compat/svr4/svr4_sockio.c: revision 1.36
	sys/compat/linux/arch/arm/linux_machdep.c: revision 1.32
	sys/compat/svr4/svr4_signal.c: revision 1.66
	sys/kern/kern_exec.c: revision 1.410
	sys/fs/puffs/puffs_vfsops.c: revision 1.115
	sys/compat/svr4/svr4_exec_elf64.c: revision 1.15
	sys/compat/linux/arch/i386/linux_machdep.c: revision 1.159
	sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.50
	sys/compat/linux32/common/linux32_misc.c: revision 1.24
	sys/netinet/in_pcb.c: revision 1.153
	sys/sys/malloc.h: revision 1.116
	sys/compat/common/if_43.c: revision 1.9
	share/man/man9/Makefile: revision 1.380
	sys/netinet/tcp_vtw.c: revision 1.12
	sys/miscfs/umapfs/umap_vfsops.c: revision 1.95
	sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.186
	sys/compat/common/uipc_syscalls_43.c: revision 1.46
	sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.115
	sys/fs/puffs/puffs_msgif.c: revision 1.97
	sys/compat/svr4/svr4_ipc.c: revision 1.27
	sys/compat/linux/common/linux_exec.c: revision 1.117
	sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.66
	sys/netinet/tcp_output.c: revision 1.179
	sys/compat/svr4/svr4_termios.c: revision 1.28
	sys/fs/udf/udf_strat_bootstrap.c: revision 1.4
	sys/fs/puffs/puffs_subr.c: revision 1.67
	sys/fs/puffs/puffs_node.c: revision 1.36
	sys/miscfs/overlay/overlay_vnops.c: revision 1.21
	sys/fs/cd9660/cd9660_node.c: revision 1.34
	sys/netinet/raw_ip.c: revision 1.146
	sys/sys/mallocvar.h: revision 1.13
	sys/miscfs/overlay/overlay_vfsops.c: revision 1.63
	share/man/man9/malloc.9: revision 1.50
	sys/netinet6/dest6.c: revision 1.18
	sys/compat/linux/common/linux_uselib.c: revision 1.33
	sys/compat/linux/common/linux_socket.c: revision 1.120
	share/man/man9/malloc.9: revision 1.51
	sys/netinet/tcp_subr.c: revision 1.257
	sys/compat/linux/common/linux_socketcall.c: revision 1.45
	sys/compat/linux/common/linux_fadvise64_64.c: revision 1.3
	sys/compat/freebsd/freebsd_ipc.c: revision 1.17
	sys/compat/linux/common/linux_misc_notalpha.c: revision 1.109
	sys/compat/linux/arch/alpha/linux_pipe.c: revision 1.17
	sys/netinet6/in6_pcb.c: revision 1.132
	sys/netinet6/in6_ifattach.c: revision 1.94
	sys/compat/svr4/svr4_exec_elf32.c: revision 1.15
	sys/miscfs/nullfs/null_vfsops.c: revision 1.90
	sys/fs/cd9660/cd9660_util.c: revision 1.12
	sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.48
	sys/compat/freebsd/freebsd_exec_elf32.c: revision 1.20
	sys/miscfs/procfs/procfs_vfsops.c: revision 1.94
	sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.28
	sys/compat/linux/common/linux_sched.c: revision 1.67
	sys/compat/linux/common/linux_exec_aout.c: revision 1.67
	sys/compat/linux/common/linux_pipe.c: revision 1.67
	sys/compat/linux/common/linux_llseek.c: revision 1.34
	sys/compat/linux/arch/mips/linux_ptrace.c: revision 1.10
Do not uselessly include <sys/malloc.h>.
Cleanup:
 - remove struct kmembuckets (dead)
 - correctly deadify MALLOC_XX
 - remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead)
 - remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT()
   and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc
New sentence, new line. Bump date for previous.
Obsolete malloc_roundup(9), malloc_type_setlimit(9) and MALLOC_DEFINE_LIMIT(9)
man pages.

Revision 1.179 / (download) - annotate - [select for diffs], Mon Nov 10 18:52:51 2014 UTC (9 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.178: +2 -3 lines
Diff to previous 1.178 (colored)

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

Revision 1.173.6.1 / (download) - annotate - [select for diffs], Mon Nov 3 23:06:13 2014 UTC (9 years, 3 months ago) by msaitoh
Branch: netbsd-6-0
Changes since 1.173: +30 -25 lines
Diff to previous 1.173 (colored)

Pull up following revision(s) (requested by christos in ticket #1174):
	sys/netinet/tcp_output.c: revision 1.178
Avoid stack overflow when SACK and TCP_SIGNATURE are both present. Thanks
to Jonathan Looney for pointing this out.

Revision 1.173.8.1 / (download) - annotate - [select for diffs], Mon Nov 3 23:05:59 2014 UTC (9 years, 3 months ago) by msaitoh
Branch: netbsd-6-1
Changes since 1.173: +30 -25 lines
Diff to previous 1.173 (colored)

Pull up following revision(s) (requested by christos in ticket #1174):
	sys/netinet/tcp_output.c: revision 1.178
Avoid stack overflow when SACK and TCP_SIGNATURE are both present. Thanks
to Jonathan Looney for pointing this out.

Revision 1.173.2.1 / (download) - annotate - [select for diffs], Mon Nov 3 23:05:45 2014 UTC (9 years, 3 months ago) by msaitoh
Branch: netbsd-6
Changes since 1.173: +30 -25 lines
Diff to previous 1.173 (colored)

Pull up following revision(s) (requested by christos in ticket #1174):
	sys/netinet/tcp_output.c: revision 1.178
Avoid stack overflow when SACK and TCP_SIGNATURE are both present. Thanks
to Jonathan Looney for pointing this out.

Revision 1.176.2.2 / (download) - annotate - [select for diffs], Sun Oct 26 09:48:18 2014 UTC (9 years, 3 months ago) by martin
Branch: netbsd-7
Changes since 1.176.2.1: +30 -25 lines
Diff to previous 1.176.2.1 (colored) to branchpoint 1.176 (colored)

Pull up following revision(s) (requested by christos in ticket #157):
	sys/netinet/tcp_output.c: revision 1.178
Avoid stack overflow when SACK and TCP_SIGNATURE are both present. Thanks
to Jonathan Looney for pointing this out.

Revision 1.178 / (download) - annotate - [select for diffs], Sat Oct 25 15:07:13 2014 UTC (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.177: +30 -25 lines
Diff to previous 1.177 (colored)

Avoid stack overflow when SACK and TCP_SIGNATURE are both present. Thanks
to Jonathan Looney for pointing this out.

Revision 1.176.2.1 / (download) - annotate - [select for diffs], Fri Oct 24 07:28:14 2014 UTC (9 years, 4 months ago) by martin
Branch: netbsd-7
Changes since 1.176: +6 -6 lines
Diff to previous 1.176 (colored)

Pull up following revision(s) (requested by hikaru in ticket #154):
	sys/netinet/tcp_output.c: revision 1.177
Fix wrong condition checking TSO capability.
ipsec_used is not necessary condition.
IPsec outbound policy will not be checked when ipsec_used is false.

Revision 1.177 / (download) - annotate - [select for diffs], Tue Oct 21 13:44:47 2014 UTC (9 years, 4 months ago) by hikaru
Branch: MAIN
Changes since 1.176: +6 -6 lines
Diff to previous 1.176 (colored)

Fix wrong condition checking TSO capability.
ipsec_used is not necessary condition.
IPsec outbound policy will not be checked when ipsec_used is false.

Revision 1.174.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:35 2014 UTC (9 years, 6 months ago) by tls
Branch: tls-maxphys
Changes since 1.174.2.1: +14 -11 lines
Diff to previous 1.174.2.1 (colored) to branchpoint 1.174 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.175.6.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:25 2014 UTC (9 years, 6 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.175: +16 -13 lines
Diff to previous 1.175 (colored) next main 1.176 (colored)

Rebase.

Revision 1.176 / (download) - annotate - [select for diffs], Fri May 30 01:39:03 2014 UTC (9 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base
Branch point for: netbsd-7
Changes since 1.175: +16 -13 lines
Diff to previous 1.175 (colored)

Introduce 2 new variables: ipsec_enabled and ipsec_used.
Ipsec enabled is controlled by sysctl and determines if is allowed.
ipsec_used is set automatically based on ipsec being enabled, and
rules existing.

Revision 1.171.4.2 / (download) - annotate - [select for diffs], Thu May 22 11:41:10 2014 UTC (9 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.171.4.1: +9 -13 lines
Diff to previous 1.171.4.1 (colored) to branchpoint 1.171 (colored) next main 1.172 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.175.2.1 / (download) - annotate - [select for diffs], Wed Jul 17 03:16:31 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.175: +34 -21 lines
Diff to previous 1.175 (colored) next main 1.176 (colored)

Checkpoint work in progress:
- Move PCB structures under __INPCB_PRIVATE, adjust most of the callers
  and thus make IPv4 PCB structures mostly opaque.  Any volunteers for
  merging in6pcb with inpcb (see rpaulo-netinet-merge-pcb branch)?
- Move various global vars to the modules where they belong, make them static.
- Some preliminary work for IPv4 PCB locking scheme.
- Make raw IP code mostly MP-safe.  Simplify some of it.
- Rework "fast" IP forwarding (ipflow) code to be mostly MP-safe.  It should
  run from a software interrupt, rather than hard.
- Rework tun(4) pseudo interface to be MP-safe.
- Work towards making some other interfaces more strict.

Revision 1.174.2.1 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:25 2013 UTC (10 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.174: +9 -13 lines
Diff to previous 1.174 (colored)

resync from head

Revision 1.175 / (download) - annotate - [select for diffs], Wed Jun 5 19:01:26 2013 UTC (10 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: tls-earlyentropy, rmind-smpnet
Changes since 1.174: +9 -13 lines
Diff to previous 1.174 (colored)

IPSEC has not come in two speeds for a long time now (IPSEC == kame,
FAST_IPSEC). Make everything refer to IPSEC to avoid confusion.

Revision 1.171.4.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:41 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.171: +9 -17 lines
Diff to previous 1.171 (colored)

sync with head

Revision 1.171.8.2 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:44 2012 UTC (11 years, 10 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.171.8.1: +7 -14 lines
Diff to previous 1.171.8.1 (colored) to branchpoint 1.171 (colored) next main 1.172 (colored)

sync to latest -current.

Revision 1.174 / (download) - annotate - [select for diffs], Thu Mar 22 20:34:39 2012 UTC (11 years, 11 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, khorben-n900, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys
Changes since 1.173: +7 -14 lines
Diff to previous 1.173 (colored)

remove KAME IPSEC, replaced by FAST_IPSEC

Revision 1.171.8.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:41 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.171: +11 -12 lines
Diff to previous 1.171 (colored)

merge to -current.

Revision 1.173 / (download) - annotate - [select for diffs], Sat Dec 31 20:41:59 2011 UTC (12 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Branch point for: netbsd-6-1, netbsd-6-0, netbsd-6
Changes since 1.172: +4 -5 lines
Diff to previous 1.172 (colored)

- fix offsetof usage, and redundant defines
- kill pointer casts to 0

Revision 1.172 / (download) - annotate - [select for diffs], Mon Dec 19 11:59:57 2011 UTC (12 years, 2 months ago) by drochner
Branch: MAIN
Changes since 1.171: +9 -9 lines
Diff to previous 1.171 (colored)

rename the IPSEC in-kernel CPP variable and config(8) option to
KAME_IPSEC, and make IPSEC define it so that existing kernel
config files work as before
Now the default can be easily be changed to FAST_IPSEC just by
setting the IPSEC alias to FAST_IPSEC.

Revision 1.169.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:56 2011 UTC (12 years, 8 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.169: +10 -20 lines
Diff to previous 1.169 (colored) next main 1.170 (colored)

Sync with HEAD.

Revision 1.169.4.1 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:14 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.169: +10 -20 lines
Diff to previous 1.169 (colored) next main 1.170 (colored)

sync with head

Revision 1.171 / (download) - annotate - [select for diffs], Thu Apr 14 16:08:53 2011 UTC (12 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, rmind-uvmplock-nbase, rmind-uvmplock-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.170: +3 -5 lines
Diff to previous 1.170 (colored)

simplify a compile-time assertion

Revision 1.153.2.1.4.1 / (download) - annotate - [select for diffs], Sun Apr 3 15:06:14 2011 UTC (12 years, 10 months ago) by riz
Branch: netbsd-4-0
Changes since 1.153.2.1: +9 -17 lines
Diff to previous 1.153.2.1 (colored) next main 1.153.2.2 (colored)

Pull up following revision(s) (requested by spz in ticket #1424):
	sys/netinet/tcp_output.c: revision 1.170
Clean up setting ECN bit in TOS.  Fixes PR 44742

Revision 1.153.2.2 / (download) - annotate - [select for diffs], Sun Apr 3 15:05:13 2011 UTC (12 years, 10 months ago) by riz
Branch: netbsd-4
Changes since 1.153.2.1: +9 -17 lines
Diff to previous 1.153.2.1 (colored) to branchpoint 1.153 (colored) next main 1.154 (colored)

Pull up following revision(s) (requested by spz in ticket #1424):
	sys/netinet/tcp_output.c: revision 1.170
Clean up setting ECN bit in TOS.  Fixes PR 44742

Revision 1.167.16.1 / (download) - annotate - [select for diffs], Tue Mar 29 20:13:34 2011 UTC (12 years, 10 months ago) by riz
Branch: netbsd-5-0
Changes since 1.167: +9 -17 lines
Diff to previous 1.167 (colored) next main 1.168 (colored)

Pull up following revision(s) (requested by spz in ticket #1586):
	sys/netinet/tcp_output.c: revision 1.170
Clean up setting ECN bit in TOS.  Fixes PR 44742

Revision 1.167.20.1 / (download) - annotate - [select for diffs], Tue Mar 29 20:13:03 2011 UTC (12 years, 10 months ago) by riz
Branch: netbsd-5-1
CVS Tags: netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE
Changes since 1.167: +9 -17 lines
Diff to previous 1.167 (colored)

Pull up following revision(s) (requested by spz in ticket #1586):
	sys/netinet/tcp_output.c: revision 1.170
Clean up setting ECN bit in TOS.  Fixes PR 44742

Revision 1.167.10.1 / (download) - annotate - [select for diffs], Tue Mar 29 20:12:14 2011 UTC (12 years, 10 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE
Branch point for: netbsd-5-2
Changes since 1.167: +9 -17 lines
Diff to previous 1.167 (colored)

Pull up following revision(s) (requested by spz in ticket #1586):
	sys/netinet/tcp_output.c: revision 1.170
Clean up setting ECN bit in TOS.  Fixes PR 44742

Revision 1.170 / (download) - annotate - [select for diffs], Mon Mar 21 20:39:32 2011 UTC (12 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.169: +9 -17 lines
Diff to previous 1.169 (colored)

Clean up setting ECN bit in TOS.  Fixes PR 44742

Revision 1.166.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:29 2010 UTC (13 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.4.2: +3 -3 lines
Diff to previous 1.166.4.2 (colored) to branchpoint 1.166 (colored) next main 1.167 (colored)

sync with head

Revision 1.169 / (download) - annotate - [select for diffs], Tue Jan 26 18:09:08 2010 UTC (14 years ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: rmind-uvmplock, jruoho-x86intr
Changes since 1.168: +3 -3 lines
Diff to previous 1.168 (colored)

tcp sockbuf autoscaling was initially added turned off because it
was experimental.  People (including myself) have been running with
it turned on for eons now, so flip the default to enabled.

Revision 1.167.14.1 / (download) - annotate - [select for diffs], Wed May 13 17:22:28 2009 UTC (14 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.167: +3 -3 lines
Diff to previous 1.167 (colored) next main 1.168 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.166.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:14:17 2009 UTC (14 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166.4.1: +3 -3 lines
Diff to previous 1.166.4.1 (colored) to branchpoint 1.166 (colored)

sync with head.

Revision 1.167.8.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:22 2009 UTC (14 years, 9 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.167: +3 -3 lines
Diff to previous 1.167 (colored) next main 1.168 (colored)

Sync with HEAD.

Revision 1.168 / (download) - annotate - [select for diffs], Wed Mar 18 16:00:22 2009 UTC (14 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.167: +3 -3 lines
Diff to previous 1.167 (colored)

bzero -> memset

Revision 1.164.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:25 2008 UTC (15 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.164: +25 -23 lines
Diff to previous 1.164 (colored) next main 1.165 (colored)

Sync with HEAD.

Revision 1.166.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:29 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.166: +2 -9 lines
Diff to previous 1.166 (colored) next main 1.167 (colored)

sync with head.

Revision 1.166.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:42 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.166: +2 -9 lines
Diff to previous 1.166 (colored)

sync with head.

Revision 1.167 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:09 2008 UTC (15 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-hppapmap-base2, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5-1, netbsd-5-0, netbsd-5, jym-xensuspend
Changes since 1.166: +2 -9 lines
Diff to previous 1.166 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.166 / (download) - annotate - [select for diffs], Sat Apr 12 05:58:22 2008 UTC (15 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.165: +25 -16 lines
Diff to previous 1.165 (colored)

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

Revision 1.165 / (download) - annotate - [select for diffs], Tue Apr 8 01:03:58 2008 UTC (15 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.164: +16 -16 lines
Diff to previous 1.164 (colored)

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.

Revision 1.161.4.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:06 2008 UTC (15 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.161.4.2: +6 -6 lines
Diff to previous 1.161.4.2 (colored) to branchpoint 1.161 (colored) next main 1.162 (colored)

sync with HEAD

Revision 1.162.6.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:08 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs
Changes since 1.162: +8 -9 lines
Diff to previous 1.162 (colored) next main 1.163 (colored)

Sync with HEAD.

Revision 1.136.2.5 / (download) - annotate - [select for diffs], Mon Jan 21 09:47:18 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.136.2.4: +15 -15 lines
Diff to previous 1.136.2.4 (colored) next main 1.137 (colored)

sync with head

Revision 1.162.12.2 / (download) - annotate - [select for diffs], Sat Jan 19 12:15:33 2008 UTC (16 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.162.12.1: +4 -4 lines
Diff to previous 1.162.12.1 (colored) to branchpoint 1.162 (colored) next main 1.163 (colored)

Sync with HEAD

Revision 1.164 / (download) - annotate - [select for diffs], Mon Jan 14 04:19:10 2008 UTC (16 years, 1 month ago) by dyoung
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.163: +6 -6 lines
Diff to previous 1.163 (colored)

Use rtcache_validate() instead of rtcache_getrt().  Shorten staircase
in in_losing().

Revision 1.161.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:57:30 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.161.4.1: +15 -15 lines
Diff to previous 1.161.4.1 (colored) to branchpoint 1.161 (colored)

sync with HEAD

Revision 1.162.12.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:57:25 2008 UTC (16 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.162: +15 -15 lines
Diff to previous 1.162 (colored)

Sync with HEAD

Revision 1.162.8.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:57:41 2007 UTC (16 years, 1 month ago) by ad
Branch: vmlocking2
Changes since 1.162: +15 -15 lines
Diff to previous 1.162 (colored) next main 1.163 (colored)

Sync with head.

Revision 1.163 / (download) - annotate - [select for diffs], Thu Dec 20 19:53:32 2007 UTC (16 years, 2 months ago) by dyoung
Branch: MAIN
CVS Tags: vmlocking2-base3, matt-armv6-base
Changes since 1.162: +15 -15 lines
Diff to previous 1.162 (colored)

Poison struct route->ro_rt uses in the kernel by changing the name
to _ro_rt.  Use rtcache_getrt() to access a route cache's struct
rtentry *.

Introduce struct ifnet->if_dl that always points at the interface
identifier/link-layer address.  Make code that treated the first
ifaddr on struct ifnet->if_addrlist as the interface address use
if_dl, instead.

Remove stale debugging code from net/route.c.  Move the rtflush()
code into rtcache_clear() and delete rtflush().  Delete rtalloc(),
because nothing uses it any more.

Make ND6_HINT an inline, lowercase subroutine, nd6_hint.

I've done my best to convert IP Filter, the ISO stack, and the
AppleTalk stack to rtcache_getrt().  They compile, but I have not
tested them.  I have given the changes to PF, GRE, IPv4 and IPv6
stacks a lot of exercise.

Revision 1.161.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:33:53 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.161: +3 -3 lines
Diff to previous 1.161 (colored)

sync with HEAD

Revision 1.157.2.3 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:51 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.157.2.2: +3 -3 lines
Diff to previous 1.157.2.2 (colored) to branchpoint 1.157 (colored) next main 1.158 (colored)

Sync with head.

Revision 1.161.2.1 / (download) - annotate - [select for diffs], Mon Sep 3 16:49:06 2007 UTC (16 years, 5 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.161: +3 -3 lines
Diff to previous 1.161 (colored) next main 1.162 (colored)

Sync with HEAD.

Revision 1.136.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:43:02 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.136.2.3: +62 -12 lines
Diff to previous 1.136.2.3 (colored)

sync with head.

Revision 1.159.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 10:23:46 2007 UTC (16 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.159.2.1: +3 -3 lines
Diff to previous 1.159.2.1 (colored) to branchpoint 1.159 (colored) next main 1.160 (colored)

Sync with HEAD.

Revision 1.162 / (download) - annotate - [select for diffs], Sun Sep 2 03:12:23 2007 UTC (16 years, 5 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-csl-alignment-base5, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: vmlocking2, mjf-devfs, bouyer-xeni386
Changes since 1.161: +3 -3 lines
Diff to previous 1.161 (colored)

m_copy() was deprecated, apparently, long ago.  m_copy(...) ->
m_copym(..., M_DONTWAIT).

Revision 1.157.2.2 / (download) - annotate - [select for diffs], Mon Aug 20 21:28:01 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.157.2.1: +53 -2 lines
Diff to previous 1.157.2.1 (colored) to branchpoint 1.157 (colored)

Sync with HEAD.

Revision 1.159.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:49:46 2007 UTC (16 years, 6 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.159: +53 -2 lines
Diff to previous 1.159 (colored)

Sync with HEAD.

Revision 1.161.6.2 / (download) - annotate - [select for diffs], Thu Aug 2 13:12:36 2007 UTC (16 years, 6 months ago) by yamt
Branch: matt-mips64
Changes since 1.161.6.1: +1716 -0 lines
Diff to previous 1.161.6.1 (colored) to branchpoint 1.161 (colored) next main 1.162 (colored)

make rfbuf_ts a tcp timestamp so that calculations in tcp_input make sense.

Revision 1.161.6.1, Thu Aug 2 13:12:35 2007 UTC (16 years, 6 months ago) by yamt
Branch: matt-mips64
Changes since 1.161: +0 -1716 lines
FILE REMOVED

file tcp_output.c was added on branch matt-mips64 on 2007-08-02 13:12:36 +0000

Revision 1.161 / (download) - annotate - [select for diffs], Thu Aug 2 13:12:35 2007 UTC (16 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: matt-mips64-base
Branch point for: matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.160: +3 -3 lines
Diff to previous 1.160 (colored)

make rfbuf_ts a tcp timestamp so that calculations in tcp_input make sense.

Revision 1.160 / (download) - annotate - [select for diffs], Thu Aug 2 02:42:41 2007 UTC (16 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.159: +53 -2 lines
Diff to previous 1.159 (colored)

TCP socket buffers automatic sizing - ported from FreeBSD.
http://mail-index.netbsd.org/tech-net/2007/02/04/0006.html

! Disabled by default, marked as experimental. Testers are very needed.
! Someone should thoroughly test this, and improve if possible.

Discussed on <tech-net>:
http://mail-index.netbsd.org/tech-net/2007/07/12/0002.html
Thanks Greg Troxel for comments.

OK by the long silence on <tech-net>.

Revision 1.157.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:11:27 2007 UTC (16 years, 7 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.157: +7 -8 lines
Diff to previous 1.157 (colored) next main 1.158 (colored)

Sync with head.

Revision 1.157.2.1 / (download) - annotate - [select for diffs], Fri Jun 8 14:17:47 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.157: +7 -8 lines
Diff to previous 1.157 (colored)

Sync with head.

Revision 1.153.4.1 / (download) - annotate - [select for diffs], Mon Jun 4 01:54:23 2007 UTC (16 years, 8 months ago) by wrstuden
Branch: wrstuden-fixsa
Changes since 1.153: +6 -9 lines
Diff to previous 1.153 (colored) next main 1.154 (colored)

Update to today's netbsd-4.

Revision 1.153.2.1 / (download) - annotate - [select for diffs], Thu May 24 19:13:14 2007 UTC (16 years, 9 months ago) by pavel
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, matt-nb4-arm-base, matt-nb4-arm
Branch point for: netbsd-4-0
Changes since 1.153: +6 -9 lines
Diff to previous 1.153 (colored)

Pull up following revision(s) (requested by degroote in ticket #667):
	sys/netinet/tcp_input.c: revision 1.260
	sys/netinet/tcp_output.c: revision 1.154
	sys/netinet/tcp_subr.c: revision 1.210
	sys/netinet6/icmp6.c: revision 1.129
	sys/netinet6/in6_proto.c: revision 1.70
	sys/netinet6/ip6_forward.c: revision 1.54
	sys/netinet6/ip6_input.c: revision 1.94
	sys/netinet6/ip6_output.c: revision 1.114
	sys/netinet6/raw_ip6.c: revision 1.81
	sys/netipsec/ipcomp_var.h: revision 1.4
	sys/netipsec/ipsec.c: revision 1.26 via patch,1.31-1.32
	sys/netipsec/ipsec6.h: revision 1.5
	sys/netipsec/ipsec_input.c: revision 1.14
	sys/netipsec/ipsec_netbsd.c: revision 1.18,1.26
	sys/netipsec/ipsec_output.c: revision 1.21 via patch
	sys/netipsec/key.c: revision 1.33,1.44
	sys/netipsec/xform_ipcomp.c: revision 1.9
	sys/netipsec/xform_ipip.c: revision 1.15
	sys/opencrypto/deflate.c: revision 1.8
Commit my SoC work
Add ipv6 support for fast_ipsec
Note that currently, packet with extensions headers are not correctly
supported
Change the ipcomp logic

Add sysctl tree to modify the fast_ipsec options related to ipv6. Similar
to the sysctl kame interface.

Choose the good default policy, depending of the adress family of the
desired policy

Increase the refcount for the default ipv6 policy so nobody can reclaim it

Always compute the sp index even if we don't have any sp in spd. It will
let us to choose the right default policy (based on the adress family
requested).
While here, fix an error message

Use dynamic array instead of an static array to decompress. It lets us to
decompress any data, whatever is the radio decompressed data / compressed
data.
It fixes the last issues with fast_ipsec and ipcomp.
While here, bzero -> memset, bcopy -> memcpy, FREE -> free
Reviewed a long time ago by sam@

Revision 1.159 / (download) - annotate - [select for diffs], Fri May 18 21:48:43 2007 UTC (16 years, 9 months ago) by riz
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, hpcarm-cleanup
Branch point for: nick-csl-alignment
Changes since 1.158: +4 -4 lines
Diff to previous 1.158 (colored)

Fix compilation in the TCP_SIGNATURE case:

	- don't use void * for pointer arithmetic
	- don't try to modify const parameters

A kernel with 'options TCP_SIGNATURE' works as well as it ever did, now.
(ie, clunky, but passable)

Revision 1.154.2.3 / (download) - annotate - [select for diffs], Mon May 7 10:56:00 2007 UTC (16 years, 9 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.154.2.2: +5 -6 lines
Diff to previous 1.154.2.2 (colored) next main 1.155 (colored)

sync with head.

Revision 1.158 / (download) - annotate - [select for diffs], Wed May 2 20:40:25 2007 UTC (16 years, 9 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.157: +5 -6 lines
Diff to previous 1.157 (colored)

Eliminate address family-specific route caches (struct route, struct
route_in6, struct route_iso), replacing all caches with a struct
route.

The principle benefit of this change is that all of the protocol
families can benefit from route cache-invalidation, which is
necessary for correct routing.  Route-cache invalidation fixes an
ancient PR, kern/3508, at long last; it fixes various other PRs,
also.

Discussions with and ideas from Joerg Sonnenberger influenced this
work tremendously.  Of course, all design oversights and bugs are
mine.

DETAILS

1 I added to each address family a pool of sockaddrs.  I have
  introduced routines for allocating, copying, and duplicating,
  and freeing sockaddrs:

        struct sockaddr *sockaddr_alloc(sa_family_t af, int flags);
        struct sockaddr *sockaddr_copy(struct sockaddr *dst,
                                       const struct sockaddr *src);
        struct sockaddr *sockaddr_dup(const struct sockaddr *src, int flags);
        void sockaddr_free(struct sockaddr *sa);

  sockaddr_alloc() returns either a sockaddr from the pool belonging
  to the specified family, or NULL if the pool is exhausted.  The
  returned sockaddr has the right size for that family; sa_family
  and sa_len fields are initialized to the family and sockaddr
  length---e.g., sa_family = AF_INET and sa_len = sizeof(struct
  sockaddr_in).  sockaddr_free() puts the given sockaddr back into
  its family's pool.

  sockaddr_dup() and sockaddr_copy() work analogously to strdup()
  and strcpy(), respectively.  sockaddr_copy() KASSERTs that the
  family of the destination and source sockaddrs are alike.

  The 'flags' argumet for sockaddr_alloc() and sockaddr_dup() is
  passed directly to pool_get(9).

2 I added routines for initializing sockaddrs in each address
  family, sockaddr_in_init(), sockaddr_in6_init(), sockaddr_iso_init(),
  etc.  They are fairly self-explanatory.

3 structs route_in6 and route_iso are no more.  All protocol families
  use struct route.  I have changed the route cache, 'struct route',
  so that it does not contain storage space for a sockaddr.  Instead,
  struct route points to a sockaddr coming from the pool the sockaddr
  belongs to.  I added a new method to struct route, rtcache_setdst(),
  for setting the cache destination:

        int rtcache_setdst(struct route *, const struct sockaddr *);

  rtcache_setdst() returns 0 on success, or ENOMEM if no memory is
  available to create the sockaddr storage.

  It is now possible for rtcache_getdst() to return NULL if, say,
  rtcache_setdst() failed.  I check the return value for NULL
  everywhere in the kernel.

4 Each routing domain (struct domain) has a list of live route
  caches, dom_rtcache.  rtflushall(sa_family_t af) looks up the
  domain indicated by 'af', walks the domain's list of route caches
  and invalidates each one.

Revision 1.154.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 05:59:39 2007 UTC (16 years, 11 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.154.2.1: +7 -7 lines
Diff to previous 1.154.2.1 (colored)

Sync with HEAD.

Revision 1.157 / (download) - annotate - [select for diffs], Sun Mar 4 06:03:22 2007 UTC (16 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.156: +7 -7 lines
Diff to previous 1.156 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.154.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:57 2007 UTC (16 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.154: +7 -7 lines
Diff to previous 1.154 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.136.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:11:46 2007 UTC (16 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.136.2.2: +11 -14 lines
Diff to previous 1.136.2.2 (colored)

sync with head.

Revision 1.156 / (download) - annotate - [select for diffs], Thu Feb 22 06:17:51 2007 UTC (17 years ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.155: +5 -5 lines
Diff to previous 1.155 (colored)

TRUE -> true, FALSE -> false

Revision 1.155 / (download) - annotate - [select for diffs], Wed Feb 21 23:00:08 2007 UTC (17 years ago) by thorpej
Branch: MAIN
Changes since 1.154: +4 -4 lines
Diff to previous 1.154 (colored)

Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.

Revision 1.154 / (download) - annotate - [select for diffs], Sat Feb 10 09:43:05 2007 UTC (17 years ago) by degroote
Branch: MAIN
Branch point for: yamt-idlelwp
Changes since 1.153: +6 -9 lines
Diff to previous 1.153 (colored)

Commit my SoC work
Add ipv6 support for fast_ipsec
Note that currently, packet with extensions headers are not correctly
supported
Change the ipcomp logic

Revision 1.143.2.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:14 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.143.2.1: +42 -139 lines
Diff to previous 1.143.2.1 (colored) to branchpoint 1.143 (colored) next main 1.144 (colored)

Sync with head.

Revision 1.136.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:50:33 2006 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.136.2.1: +121 -156 lines
Diff to previous 1.136.2.1 (colored)

sync with head.

Revision 1.143.4.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:11 2006 UTC (17 years, 2 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.143.4.1: +42 -139 lines
Diff to previous 1.143.4.1 (colored) to branchpoint 1.143 (colored) next main 1.144 (colored)

sync with head.

Revision 1.153 / (download) - annotate - [select for diffs], Sat Nov 25 18:41:36 2006 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, post-newlock2-merge, newlock2-nbase, newlock2-base, netbsd-4-base
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.152: +2 -251 lines
Diff to previous 1.152 (colored)

move tso-by-software code to their own files.  no functional changes.

Revision 1.152 / (download) - annotate - [select for diffs], Thu Nov 23 23:12:59 2006 UTC (17 years, 3 months ago) by martin
Branch: MAIN
Changes since 1.151: +4 -2 lines
Diff to previous 1.151 (colored)

Make it compile on IPv4-only kernels

Revision 1.151 / (download) - annotate - [select for diffs], Thu Nov 23 19:41:58 2006 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.150: +161 -11 lines
Diff to previous 1.150 (colored)

implement ipv6 TSO.
partly from Matthias Scheler.  tested by him.

Revision 1.143.2.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:36 2006 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.143: +26 -18 lines
Diff to previous 1.143 (colored)

Sync with head.

Revision 1.143.4.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:29 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.143: +26 -18 lines
Diff to previous 1.143 (colored)

sync with head

Revision 1.150 / (download) - annotate - [select for diffs], Tue Oct 17 11:11:40 2006 UTC (17 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.149: +3 -3 lines
Diff to previous 1.149 (colored)

tcp_output: as a comment in tcp_sack_newack says, actually send
one or two segments on partial acks.  even if sack_bytes_rxmt==0,
if we are in fast recovory with sack, snd_cwnd has somewhat special
meaning here.  PR/34749.

Revision 1.149 / (download) - annotate - [select for diffs], Mon Oct 9 16:27:07 2006 UTC (17 years, 4 months ago) by rpaulo
Branch: MAIN
Changes since 1.148: +4 -3 lines
Diff to previous 1.148 (colored)

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

Revision 1.148 / (download) - annotate - [select for diffs], Sun Oct 8 11:10:59 2006 UTC (17 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.147: +4 -0 lines
Diff to previous 1.147 (colored)

tcp_output: don't make TSO duplicate CWR/ECE.

Revision 1.147 / (download) - annotate - [select for diffs], Sun Oct 8 11:01:46 2006 UTC (17 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.146: +12 -4 lines
Diff to previous 1.146 (colored)

tcp_output: don't try to send SACK option larger than txsegsize.
fix a panic like "panic: m_copydata: off 0, len -7".

Revision 1.146 / (download) - annotate - [select for diffs], Sat Oct 7 16:16:42 2006 UTC (17 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.145: +7 -12 lines
Diff to previous 1.145 (colored)

tcp_output: remove duplicated code and tweak indent.  no functional changes.

Revision 1.145 / (download) - annotate - [select for diffs], Sun Oct 1 22:29:20 2006 UTC (17 years, 4 months ago) by dbj
Branch: MAIN
Changes since 1.144: +1 -2 lines
Diff to previous 1.144 (colored)

back out revision 1.144 calculating txsegsizep since it unmasks
other bugs.  See PR kern/34674

Revision 1.144 / (download) - annotate - [select for diffs], Thu Sep 28 04:32:47 2006 UTC (17 years, 4 months ago) by dbj
Branch: MAIN
Changes since 1.143: +4 -3 lines
Diff to previous 1.143 (colored)

consider sb_lowat when limiting the transmit length to keep acks on the wire

Revision 1.141.8.2 / (download) - annotate - [select for diffs], Thu Sep 14 12:31:55 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.141.8.1: +57 -3 lines
Diff to previous 1.141.8.1 (colored) to branchpoint 1.141 (colored) next main 1.142 (colored)

sync with head.

Revision 1.141.4.2 / (download) - annotate - [select for diffs], Sat Sep 9 02:58:47 2006 UTC (17 years, 5 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.141.4.1: +68 -16 lines
Diff to previous 1.141.4.1 (colored) to branchpoint 1.141 (colored) next main 1.142 (colored)

sync with head

Revision 1.143 / (download) - annotate - [select for diffs], Tue Sep 5 00:29:36 2006 UTC (17 years, 5 months ago) by rpaulo
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.142: +57 -3 lines
Diff to previous 1.142 (colored)

Import of TCP ECN algorithm for congestion control.
Both available for IPv4 and IPv6.
Basic implementation test results are available at
http://netbsd-soc.sourceforge.net/projects/ecn/testresults.html.

Work sponsored by the Google Summer of Code project 2006.
Special thanks to Kentaro Kurahone, Allen Briggs and Matt Thomas for their
help, comments and support during the project.

Revision 1.136.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:11:01 2006 UTC (17 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.136: +28 -32 lines
Diff to previous 1.136 (colored)

sync with head.

Revision 1.141.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:10 2006 UTC (17 years, 10 months ago) by simonb
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.141: +13 -15 lines
Diff to previous 1.141 (colored) next main 1.142 (colored)

Sync with head.

Revision 1.141.10.1 / (download) - annotate - [select for diffs], Wed Apr 19 04:46:11 2006 UTC (17 years, 10 months ago) by elad
Branch: elad-kernelauth
Changes since 1.141: +13 -15 lines
Diff to previous 1.141 (colored) next main 1.142 (colored)

sync with head.

Revision 1.141.8.1 / (download) - annotate - [select for diffs], Sat Apr 1 12:07:48 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.141: +13 -15 lines
Diff to previous 1.141 (colored)

sync with head.

Revision 1.141.12.1 / (download) - annotate - [select for diffs], Tue Mar 28 09:42:28 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.141: +13 -15 lines
Diff to previous 1.141 (colored) next main 1.142 (colored)

Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.

Revision 1.142 / (download) - annotate - [select for diffs], Sat Mar 25 13:34:35 2006 UTC (17 years, 11 months ago) by seanb
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.141: +13 -15 lines
Diff to previous 1.141 (colored)

Slight simplification of hdr len calculation in tcp_segsize().
No functional change.

Revision 1.141.4.1 / (download) - annotate - [select for diffs], Sun Feb 5 03:09:11 2006 UTC (18 years ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.141: +2 -3 lines
Diff to previous 1.141 (colored)

<netinet6/in6_pcb.h> went away. Bye!

Revision 1.141 / (download) - annotate - [select for diffs], Sat Dec 24 20:45:09 2005 UTC (18 years, 2 months ago) by perry
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.140: +4 -4 lines
Diff to previous 1.140 (colored)

Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.

Revision 1.140 / (download) - annotate - [select for diffs], Sun Dec 11 12:24:57 2005 UTC (18 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.139: +2 -2 lines
Diff to previous 1.139 (colored)

merge ktrace-lwp.

Revision 1.94.2.9 / (download) - annotate - [select for diffs], Thu Nov 10 14:11:07 2005 UTC (18 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.8: +169 -47 lines
Diff to previous 1.94.2.8 (colored) next main 1.95 (colored)

Sync with HEAD. Here we go again...

Revision 1.139 / (download) - annotate - [select for diffs], Wed Aug 10 13:07:21 2005 UTC (18 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.138: +4 -2 lines
Diff to previous 1.138 (colored)

wrap INET-only code by #if defined(INET).

Revision 1.138 / (download) - annotate - [select for diffs], Wed Aug 10 12:58:37 2005 UTC (18 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.137: +3 -16 lines
Diff to previous 1.137 (colored)

ipv6 tx checksum offloading.  reviewed by Jason Thorpe.

Revision 1.137 / (download) - annotate - [select for diffs], Tue Jul 19 17:00:02 2005 UTC (18 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.136: +12 -3 lines
Diff to previous 1.136 (colored)

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.

Revision 1.136 / (download) - annotate - [select for diffs], Tue Jun 28 19:16:02 2005 UTC (18 years, 7 months ago) by drochner
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.135: +3 -3 lines
Diff to previous 1.135 (colored)

typo in comment

Revision 1.135 / (download) - annotate - [select for diffs], Sun May 29 21:41:23 2005 UTC (18 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.134: +7 -7 lines
Diff to previous 1.134 (colored)

- add const
- remove bogus casts
- avoid nested variables

Revision 1.128.2.5 / (download) - annotate - [select for diffs], Wed May 11 18:13:40 2005 UTC (18 years, 9 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.128.2.4: +4 -3 lines
Diff to previous 1.128.2.4 (colored) to branchpoint 1.128 (colored) next main 1.129 (colored)

Pull up revision 1.134 (requested by yamt in ticket #294):
tcp_output: account FIN when building sack option.

Revision 1.128.2.4 / (download) - annotate - [select for diffs], Wed May 11 18:11:03 2005 UTC (18 years, 9 months ago) by tron
Branch: netbsd-3
Changes since 1.128.2.3: +8 -2 lines
Diff to previous 1.128.2.3 (colored) to branchpoint 1.128 (colored)

Pull up revision 1.133 (requested by yamt in ticket #293):
tcp_output: don't try to send more data than we have.  PR/30160.

Revision 1.128.2.3 / (download) - annotate - [select for diffs], Wed May 11 18:10:07 2005 UTC (18 years, 9 months ago) by tron
Branch: netbsd-3
Changes since 1.128.2.2: +11 -3 lines
Diff to previous 1.128.2.2 (colored) to branchpoint 1.128 (colored)

Pull up revision 1.132 (requested by yamt in ticket #293):
tcp_output: clear TH_FIN where appropriate.  related to PR/30160.

Revision 1.134 / (download) - annotate - [select for diffs], Sun May 8 04:52:05 2005 UTC (18 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.133: +4 -3 lines
Diff to previous 1.133 (colored)

tcp_output: account FIN when building sack option.

Revision 1.133 / (download) - annotate - [select for diffs], Sun May 8 04:51:05 2005 UTC (18 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.132: +8 -2 lines
Diff to previous 1.132 (colored)

tcp_output: don't try to send more data than we have.  PR/30160.

Revision 1.132 / (download) - annotate - [select for diffs], Sun May 8 04:48:47 2005 UTC (18 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.131: +13 -5 lines
Diff to previous 1.131 (colored)

tcp_output: clear TH_FIN where appropriate.  related to PR/30160.

Revision 1.128.2.2 / (download) - annotate - [select for diffs], Fri May 6 08:40:05 2005 UTC (18 years, 9 months ago) by tron
Branch: netbsd-3
Changes since 1.128.2.1: +5 -23 lines
Diff to previous 1.128.2.1 (colored) to branchpoint 1.128 (colored)

Pull up revision 1.130 (requested by yamt in ticket #251):
fix problems related to loopback interface checksum omission.  PR/29971.
- for ipv4, defer decision to ip layer as h/w checksum offloading does
  so that it can check the actual interface the packet is going to.
- for ipv6, disable it.
  (maybe will be revisited when it implements h/w checksum offloading.)
ok'ed by Jason Thorpe.

Revision 1.115.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:33 2005 UTC (18 years, 9 months ago) by kent
Branch: kent-audio2
Changes since 1.115: +382 -54 lines
Diff to previous 1.115 (colored) next main 1.116 (colored)

sync with -current

Revision 1.131 / (download) - annotate - [select for diffs], Mon Apr 18 21:55:06 2005 UTC (18 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.130: +129 -2 lines
Diff to previous 1.130 (colored)

add a function to handle M_CSUM_TSOv4 by software.

Revision 1.130 / (download) - annotate - [select for diffs], Mon Apr 18 21:50:25 2005 UTC (18 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.129: +7 -25 lines
Diff to previous 1.129 (colored)

fix problems related to loopback interface checksum omission.  PR/29971.

- for ipv4, defer decision to ip layer as h/w checksum offloading does
  so that it can check the actual interface the packet is going to.
- for ipv6, disable it.
  (maybe will be revisited when it implements h/w checksum offloading.)

ok'ed by Jason Thorpe.

Revision 1.128.2.1 / (download) - annotate - [select for diffs], Mon Apr 4 17:17:52 2005 UTC (18 years, 10 months ago) by tron
Branch: netbsd-3
Changes since 1.128: +5 -2 lines
Diff to previous 1.128 (colored)

Pull up revision 1.129 (requested by yamt in ticket #89):
tcp_output: lock reass queue when building sack.

Revision 1.94.2.8 / (download) - annotate - [select for diffs], Fri Apr 1 14:31:50 2005 UTC (18 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.7: +43 -14 lines
Diff to previous 1.94.2.7 (colored)

Sync with HEAD.

Revision 1.129 / (download) - annotate - [select for diffs], Tue Mar 29 20:09:24 2005 UTC (18 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.128: +5 -2 lines
Diff to previous 1.128 (colored)

tcp_output: lock reass queue when building sack.

Revision 1.115.4.2 / (download) - annotate - [select for diffs], Sat Mar 19 08:36:38 2005 UTC (18 years, 11 months ago) by yamt
Branch: yamt-km
Changes since 1.115.4.1: +252 -34 lines
Diff to previous 1.115.4.1 (colored) to branchpoint 1.115 (colored) next main 1.116 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.128 / (download) - annotate - [select for diffs], Wed Mar 16 00:39:56 2005 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.127: +26 -18 lines
Diff to previous 1.127 (colored)

simplify data receiver side sack processing.
- introduce t_segqlen, the number of segments in segq/timeq.
  the name is from freebsd.
- rather than maintaining a copy of sack blocks (rcv_sack_block[]),
  build it directly from the segment list when needed.

Revision 1.127 / (download) - annotate - [select for diffs], Wed Mar 16 00:38:27 2005 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.126: +22 -7 lines
Diff to previous 1.126 (colored)

- use full sized segments unless we actually have SACKs to send.
- avoid TSO duplicate D-SACK.
- send SACKs regardless of TF_ACKNOW.
- don't clear rcv_sack_num when transmitting.

discussed on tech-net@.

Revision 1.126 / (download) - annotate - [select for diffs], Sat Mar 12 07:53:08 2005 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.125: +5 -2 lines
Diff to previous 1.125 (colored)

don't try to use TSO to transmit a single segment.
- there's no benefit.
- rtl8169 seems to be stuck with it.

Revision 1.125 / (download) - annotate - [select for diffs], Wed Mar 9 03:38:33 2005 UTC (18 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.124: +4 -4 lines
Diff to previous 1.124 (colored)

For AF_INET, always set m->m_pkthdr.csum_data.  Don't or TSOv4, just set it.

Revision 1.94.2.7 / (download) - annotate - [select for diffs], Tue Mar 8 13:53:12 2005 UTC (18 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.6: +64 -32 lines
Diff to previous 1.94.2.6 (colored)

Sync with HEAD.

Revision 1.124 / (download) - annotate - [select for diffs], Mon Mar 7 09:32:51 2005 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.123: +2 -4 lines
Diff to previous 1.123 (colored)

tcp_sack_option: the max number of sack blocks in a packet is 4, not 3.

Revision 1.123 / (download) - annotate - [select for diffs], Sun Mar 6 03:41:36 2005 UTC (18 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.122: +3 -3 lines
Diff to previous 1.122 (colored)

Add a /*CONSTCOND*/ to last.

Revision 1.122 / (download) - annotate - [select for diffs], Sun Mar 6 00:52:25 2005 UTC (18 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.121: +3 -3 lines
Diff to previous 1.121 (colored)

Fix typo.  Opposite of >= is <, not ==.

Revision 1.121 / (download) - annotate - [select for diffs], Sun Mar 6 00:48:52 2005 UTC (18 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.120: +15 -13 lines
Diff to previous 1.120 (colored)

Replace some gotos with a do while (0) and breaks.  No functional change.

Revision 1.120 / (download) - annotate - [select for diffs], Sun Mar 6 00:35:07 2005 UTC (18 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.119: +51 -19 lines
Diff to previous 1.119 (colored)

Add IPv4/TCP hooks for TCP Segment Offload on transmit.

Revision 1.94.2.6 / (download) - annotate - [select for diffs], Fri Mar 4 16:53:29 2005 UTC (18 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.5: +178 -18 lines
Diff to previous 1.94.2.5 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.119 / (download) - annotate - [select for diffs], Wed Mar 2 10:20:18 2005 UTC (18 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.118: +5 -3 lines
Diff to previous 1.118 (colored)

Copyright maintenance.

Revision 1.118 / (download) - annotate - [select for diffs], Mon Feb 28 16:20:59 2005 UTC (18 years, 11 months ago) by jonathan
Branch: MAIN
Changes since 1.117: +172 -14 lines
Diff to previous 1.117 (colored)

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.

Revision 1.117 / (download) - annotate - [select for diffs], Sat Feb 26 22:45:12 2005 UTC (18 years, 11 months ago) by perry
Branch: MAIN
Changes since 1.116: +5 -5 lines
Diff to previous 1.116 (colored)

nuke trailing whitespace

Revision 1.115.4.1 / (download) - annotate - [select for diffs], Sat Feb 12 18:17:54 2005 UTC (19 years ago) by yamt
Branch: yamt-km
Changes since 1.115: +4 -6 lines
Diff to previous 1.115 (colored)

sync with head.

Revision 1.94.2.5 / (download) - annotate - [select for diffs], Fri Feb 4 11:47:48 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.4: +4 -6 lines
Diff to previous 1.94.2.4 (colored)

Sync with HEAD.

Revision 1.116 / (download) - annotate - [select for diffs], Thu Feb 3 23:42:53 2005 UTC (19 years ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base2
Changes since 1.115: +4 -6 lines
Diff to previous 1.115 (colored)

ANSIfy function declarations

Revision 1.94.2.4 / (download) - annotate - [select for diffs], Sat Dec 18 09:33:05 2004 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.3: +23 -7 lines
Diff to previous 1.94.2.3 (colored)

Sync with HEAD.

Revision 1.115 / (download) - annotate - [select for diffs], Wed Dec 15 04:25:19 2004 UTC (19 years, 2 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-km-base, kent-audio1-beforemerge
Branch point for: yamt-km, kent-audio2
Changes since 1.114: +23 -7 lines
Diff to previous 1.114 (colored)

Don't perform checksums on loopback interfaces.  They can be reenabled with
the net.inet.*.do_loopback_cksum sysctl.

Approved by: groo

Revision 1.94.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:37:13 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.2: +2 -2 lines
Diff to previous 1.94.2.2 (colored)

Fix the sync with head I botched.

Revision 1.94.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:54:54 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94.2.1: +0 -0 lines
Diff to previous 1.94.2.1 (colored)

Sync with HEAD.

Revision 1.94.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:54:45 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.94: +152 -70 lines
Diff to previous 1.94 (colored)

Sync with HEAD

Revision 1.114 / (download) - annotate - [select for diffs], Thu May 20 22:59:02 2004 UTC (19 years, 9 months ago) by jonathan
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1, BEFORE-IPF413
Changes since 1.113: +3 -2 lines
Diff to previous 1.113 (colored)

With FAST_IPSEC, include <netipsec/key.h>, as Itojun's recent changes
now require KEY_FREESAV() to be in scope.

Revision 1.113 / (download) - annotate - [select for diffs], Tue May 18 14:44:14 2004 UTC (19 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.112: +34 -8 lines
Diff to previous 1.112 (colored)

fix MD5 signature support to actually validate inbound signature, and
drop packet if fails.

Revision 1.108.2.1 / (download) - annotate - [select for diffs], Tue May 11 13:00:20 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2
Changes since 1.108: +4 -4 lines
Diff to previous 1.108 (colored) next main 1.109 (colored)

Pull up revision 1.112 (requested by chs in ticket #292):
work around an LP64 problem where we report an excessively large window
due to incorrect mixing of types.

Revision 1.112 / (download) - annotate - [select for diffs], Sat May 8 14:41:47 2004 UTC (19 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.111: +4 -4 lines
Diff to previous 1.111 (colored)

work around an LP64 problem where we report an excessively large window
due to incorrect mixing of types.

Revision 1.111 / (download) - annotate - [select for diffs], Mon Apr 26 03:54:29 2004 UTC (19 years, 10 months ago) by itojun
Branch: MAIN
Changes since 1.110: +5 -7 lines
Diff to previous 1.110 (colored)

make TCP MD5 signature work with KAME IPSEC (#define IPSEC).

support IPv6 if KAME IPSEC (RFC is not explicit about how we make data stream
for checksum with IPv6, but i'm pretty sure using normal pseudo-header is the
right thing).

XXX
current TCP MD5 signature code has giant flaw:
it does not validate signature on input (can't believe it! what is the point?)

Revision 1.110 / (download) - annotate - [select for diffs], Sun Apr 25 22:25:03 2004 UTC (19 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.109: +42 -2 lines
Diff to previous 1.109 (colored)

Initial commit of a port of the FreeBSD implementation of RFC 2385
(MD5 signatures for TCP, as used with BGP).  Credit for original
FreeBSD code goes to Bruce M. Simpson, with FreeBSD sponsorship
credited to sentex.net.  Shortening of the setsockopt() name
attributed to Vincent Jardin.

This commit is a minimal, working version of the FreeBSD code, as
MFC'ed to FreeBSD-4. It has received minimal testing with a ttcp
modified to set the TCP-MD5 option; BMS's additions to tcpdump-current
(tcpdump -M) confirm that the MD5 signatures are correct.  Committed
as-is for further testing between a NetBSD BGP speaker (e.g., quagga)
and industry-standard BGP speakers (e.g., Cisco, Juniper).


NOTE: This version has two potential flaws. First, I do see any code
that verifies recieved TCP-MD5 signatures.  Second, the TCP-MD5
options are internally padded and assumed to be 32-bit aligned. A more
space-efficient scheme is to pack all TCP options densely (and
possibly unaligned) into the TCP header ; then do one final padding to
a 4-byte boundary.  Pre-existing comments note that accounting for
TCP-option space when we add SACK is yet to be done. For now, I'm
punting on that; we can solve it properly, in a way that will handle
SACK blocks, as a separate exercise.

In case a pullup to NetBSD-2 is requested, this adds sys/netipsec/xform_tcp.c
,and modifies:

sys/net/pfkeyv2.h,v 1.15
sys/netinet/files.netinet,v 1.5
sys/netinet/ip.h,v 1.25
sys/netinet/tcp.h,v 1.15
sys/netinet/tcp_input.c,v 1.200
sys/netinet/tcp_output.c,v 1.109
sys/netinet/tcp_subr.c,v 1.165
sys/netinet/tcp_usrreq.c,v 1.89
sys/netinet/tcp_var.h,v 1.109
sys/netipsec/files.netipsec,v 1.3
sys/netipsec/ipsec.c,v 1.11
sys/netipsec/ipsec.h,v 1.7
sys/netipsec/key.c,v 1.11
share/man/man4/tcp.4,v 1.16
lib/libipsec/pfkey.c,v 1.20
lib/libipsec/pfkey_dump.c,v 1.17
lib/libipsec/policy_token.l,v 1.8
sbin/setkey/parse.y,v 1.14
sbin/setkey/setkey.8,v 1.27
sbin/setkey/token.l,v 1.15

Note that the preceding two revisions to tcp.4 will be
required to cleanly apply this diff.

Revision 1.109 / (download) - annotate - [select for diffs], Tue Mar 30 19:58:14 2004 UTC (19 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.108: +3 -3 lines
Diff to previous 1.108 (colored)

Make sure we disarm the persist timer before we arm the rexmit
timer, otherwise there is a tiny window where both timers are
active, and this is not correct according to the comments in the
code. I believe that this is the cause of the to_ticks <= 0 assertion
failure in callout_schedule() that I've been getting.

Revision 1.108 / (download) - annotate - [select for diffs], Wed Mar 3 05:59:38 2004 UTC (19 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-2-0-base, BEFORE-IPF411
Branch point for: netbsd-2-0
Changes since 1.107: +8 -5 lines
Diff to previous 1.107 (colored)

Use IPSEC_PCB_SKIP_IPSEC() to short-circuit calls to ipsec{4,6}_hdrsiz_tcp().

Revision 1.79.4.5 / (download) - annotate - [select for diffs], Sat Feb 7 20:06:58 2004 UTC (20 years ago) by jmc
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002
Changes since 1.79.4.4: +27 -6 lines
Diff to previous 1.79.4.4 (colored) to branchpoint 1.79 (colored) next main 1.80 (colored)

Pullup rev 1.107 (requested by itojun in ticket #1605)

Deal with IPv6 path MTU < 1280 (RFC2460 section 5 last paragraph)
Check if there really is room for TCP data.

Revision 1.107 / (download) - annotate - [select for diffs], Wed Feb 4 05:36:03 2004 UTC (20 years ago) by itojun
Branch: MAIN
Changes since 1.106: +30 -9 lines
Diff to previous 1.106 (colored)

deal with IPv6 path MTU < 1280 (RFC2460 section 5 last paragraph).
check if there really is room for TCP data.

Revision 1.106 / (download) - annotate - [select for diffs], Wed Nov 12 10:48:04 2003 UTC (20 years, 3 months ago) by ragge
Branch: MAIN
Changes since 1.105: +4 -15 lines
Diff to previous 1.105 (colored)

Remove the FAST_MBSEARCH ifdef, send packet prediction is now default.

Revision 1.105 / (download) - annotate - [select for diffs], Fri Oct 24 10:25:40 2003 UTC (20 years, 4 months ago) by ragge
Branch: MAIN
Changes since 1.104: +4 -3 lines
Diff to previous 1.104 (colored)

Fix the bug in the tcp transmit prediction code.
During testing the prediction counters show a hit-rate on about 85% for
packets sent on a local LAN, and better than 99% for intercontinental
high-speed bulk traffic (!).

Revision 1.104 / (download) - annotate - [select for diffs], Fri Oct 24 03:12:53 2003 UTC (20 years, 4 months ago) by enami
Branch: MAIN
Changes since 1.103: +4 -2 lines
Diff to previous 1.103 (colored)

Make this file compile again when TCP_OUTPUT_COUNTERS defined.

Revision 1.103 / (download) - annotate - [select for diffs], Thu Oct 23 17:02:23 2003 UTC (20 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.102: +4 -4 lines
Diff to previous 1.102 (colored)

Oops, FAST_MBSEARCH counters were swapped; fix it.  Pointed out by yamt@.

Revision 1.102 / (download) - annotate - [select for diffs], Tue Oct 21 21:17:20 2003 UTC (20 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.101: +19 -9 lines
Diff to previous 1.101 (colored)

Add event counters that measure FAST_MBSEARCH.

Revision 1.79.4.4 / (download) - annotate - [select for diffs], Fri Sep 5 13:42:39 2003 UTC (20 years, 5 months ago) by tron
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1
Changes since 1.79.4.3: +8 -7 lines
Diff to previous 1.79.4.3 (colored) to branchpoint 1.79 (colored)

Pull up revision 1.80 (requested by tls in ticket #1445):
path MTU discovery blackhole detection.
PR 12790 (sorry for not committing it for a long time)

Revision 1.101 / (download) - annotate - [select for diffs], Fri Aug 22 22:00:38 2003 UTC (20 years, 6 months ago) by itojun
Branch: MAIN
Changes since 1.100: +2 -10 lines
Diff to previous 1.100 (colored)

remove ipsec_set/getsocket.  now we explicitly pass socket * to ip{,6}_output.

Revision 1.100 / (download) - annotate - [select for diffs], Fri Aug 22 21:53:05 2003 UTC (20 years, 6 months ago) by itojun
Branch: MAIN
Changes since 1.99: +4 -5 lines
Diff to previous 1.99 (colored)

change the additional arg to be passed to ip{,6}_output to struct socket *.

this fixes KAME policy lookup which was broken by the previous commit.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Aug 22 20:20:11 2003 UTC (20 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.98: +4 -3 lines
Diff to previous 1.98 (colored)

Replace the set_socket() method of passing an extra struct socket*
argument to ip6_output() with a new explicit struct in6pcb* argument.
(The underlying socket can be obtained via in6pcb->inp6_socket.)

In preparation for fast-ipsec.  Reviewed by itojun.

Revision 1.98 / (download) - annotate - [select for diffs], Fri Aug 15 03:42:04 2003 UTC (20 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.97: +9 -5 lines
Diff to previous 1.97 (colored)

(fast-ipsec): Add hooks to pass IPv4 IPsec traffic into fast-ipsec, if
configured with ``options FAST_IPSEC''.  Kernels with KAME IPsec or
with no IPsec should work as before.

All calls to ip_output() now always pass an additional compulsory
argument: the inpcb associated with the packet being sent,
or 0 if no inpcb is available.

Fast-ipsec tested with ICMP or UDP over ESP. TCP doesn't work, yet.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Aug 7 16:33:17 2003 UTC (20 years, 6 months ago) by agc
Branch: MAIN
Changes since 1.96: +3 -7 lines
Diff to previous 1.96 (colored)

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

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

Revision 1.96 / (download) - annotate - [select for diffs], Wed Jul 2 21:43:49 2003 UTC (20 years, 7 months ago) by ragge
Branch: MAIN
Changes since 1.95: +6 -2 lines
Diff to previous 1.95 (colored)

Make the fast-search stuff an option. There are still reports on
problem with it.

Revision 1.95 / (download) - annotate - [select for diffs], Wed Jul 2 19:33:20 2003 UTC (20 years, 7 months ago) by ragge
Branch: MAIN
Changes since 1.94: +37 -42 lines
Diff to previous 1.94 (colored)

Fix previous bug. Thanks to Enami for spotting the (obvious) error, and
to other people with much help with bug reports etc.
While fixing, change some of the code I added last time to make it
cleaner and simpler.

Revision 1.94 / (download) - annotate - [select for diffs], Mon Jun 30 14:51:06 2003 UTC (20 years, 7 months ago) by ragge
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored)

Disable the code I checked in yesterday; reports that samba (!) are crashing
machines with it. Will do some more tests.

Revision 1.93 / (download) - annotate - [select for diffs], Sun Jun 29 22:31:59 2003 UTC (20 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.92: +0 -0 lines
Diff to previous 1.92 (colored)

Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.92 / (download) - annotate - [select for diffs], Sun Jun 29 18:58:27 2003 UTC (20 years, 7 months ago) by ragge
Branch: MAIN
Changes since 1.91: +40 -3 lines
Diff to previous 1.91 (colored)

Add code to remember where in the send queue of mbufs the last packet was
sent from. This change avoid a linear search through all mbufs when using
large TCP windows, and therefore permit high-speed connections on long
distances.

Tested on a 1 Gigabit connection between Luleand San Francisco, a distance
of about 15000km.  With TCP windows of just over 20 Mbytes it could keep up
with 950Mbit/s.

After discussions with Matt Thomas and Jason Thorpe.

Revision 1.91 / (download) - annotate - [select for diffs], Sat May 17 17:16:20 2003 UTC (20 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.90: +3 -22 lines
Diff to previous 1.90 (colored)

no need for ip_v recovery in output path too
(tcp_template includes ip_v setting)

Revision 1.90 / (download) - annotate - [select for diffs], Sat Mar 1 04:40:28 2003 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.89: +14 -3 lines
Diff to previous 1.89 (colored)

Allow TCP connections to hosts on a local network to use a larger
slow start initial window.  Default this larger initial window to
4 packets, allowing it to be adjusted with net.inet.tcp.init_win_local.

Revision 1.89 / (download) - annotate - [select for diffs], Wed Feb 26 06:31:16 2003 UTC (20 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.88: +4 -2 lines
Diff to previous 1.88 (colored)

Add MBUFTRACE kernel option.
Do a little mbuf rework while here.  Change all uses of MGET*(*, M_WAIT, *)
to m_get*(M_WAIT, *).  These are not performance critical and making them
call m_get saves considerable space.  Add m_clget analogue of MCLGET and
make corresponding change for M_WAIT uses.
Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE.
Begin to change netstat to use sysctl.

Revision 1.63.2.14 / (download) - annotate - [select for diffs], Wed Dec 11 06:46:38 2002 UTC (21 years, 2 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.63.2.13: +1 -1 lines
Diff to previous 1.63.2.13 (colored) next main 1.64 (colored)

Sync with HEAD.

Revision 1.79.4.3 / (download) - annotate - [select for diffs], Sat Nov 30 14:31:59 2002 UTC (21 years, 2 months ago) by he
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001
Changes since 1.79.4.2: +4 -5 lines
Diff to previous 1.79.4.2 (colored) to branchpoint 1.79 (colored)

Pull up revision 1.86 (requested by thorpej in ticket #795):
  In the txsegsize bounding code, it is not necessary to adjust
  for the options length.

Revision 1.88 / (download) - annotate - [select for diffs], Sun Nov 24 10:51:56 2002 UTC (21 years, 3 months ago) by scw
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.87: +3 -3 lines
Diff to previous 1.87 (colored)

Fix a genuine uninitialised variable warning.

Revision 1.79.4.2 / (download) - annotate - [select for diffs], Thu Nov 21 17:48:00 2002 UTC (21 years, 3 months ago) by he
Branch: netbsd-1-6
Changes since 1.79.4.1: +18 -4 lines
Diff to previous 1.79.4.1 (colored) to branchpoint 1.79 (colored)

Pull up revision 1.85 (requested by thorpej in ticket #707):
  Never send more than half a socket buffer of data in a
  segment.  This ensures that we can always keep 2 packets
  on the wire, and we will therefore not cause any delayed
  ACKs.  Otherwise, this causes performance problems when
  using large-MTU interfaces, such as the loopback interface.

Revision 1.63.2.13 / (download) - annotate - [select for diffs], Mon Nov 11 22:15:30 2002 UTC (21 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.12: +4 -0 lines
Diff to previous 1.63.2.12 (colored)

Catch up to -current

Revision 1.87 / (download) - annotate - [select for diffs], Sat Nov 2 19:03:44 2002 UTC (21 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.86: +6 -2 lines
Diff to previous 1.86 (colored)

cleanup ipsec.h dependency.  commented by perry, sync w/kame

Revision 1.67.2.8 / (download) - annotate - [select for diffs], Thu Oct 10 18:44:07 2002 UTC (21 years, 4 months ago) by jdolecek
Branch: kqueue
Changes since 1.67.2.7: +4 -5 lines
Diff to previous 1.67.2.7 (colored) next main 1.68 (colored)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.63.2.12 / (download) - annotate - [select for diffs], Tue Sep 17 21:23:08 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.11: +2 -3 lines
Diff to previous 1.63.2.11 (colored)

Catch up to -current.

Revision 1.86 / (download) - annotate - [select for diffs], Fri Sep 13 18:26:55 2002 UTC (21 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Changes since 1.85: +4 -5 lines
Diff to previous 1.85 (colored)

In the txsegsize bounding code, it is not necessary to adjust for the options
length.

Revision 1.67.2.7 / (download) - annotate - [select for diffs], Fri Sep 6 08:49:20 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.67.2.6: +19 -5 lines
Diff to previous 1.67.2.6 (colored)

sync kqueue branch with HEAD

Revision 1.79.2.3 / (download) - annotate - [select for diffs], Thu Aug 29 00:56:48 2002 UTC (21 years, 5 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.79.2.2: +19 -5 lines
Diff to previous 1.79.2.2 (colored) to branchpoint 1.79 (colored) next main 1.80 (colored)

catch up with -current.

Revision 1.63.2.11 / (download) - annotate - [select for diffs], Tue Aug 27 23:48:05 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.10: +19 -5 lines
Diff to previous 1.63.2.10 (colored)

Catch up to -current.

Revision 1.85 / (download) - annotate - [select for diffs], Tue Aug 20 16:29:42 2002 UTC (21 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.84: +18 -4 lines
Diff to previous 1.84 (colored)

Never send more than half a socket buffer of data.  This insures that
we can always keep 2 packets on the wire, no matter what SO_SNDBUF is,
and therefore ACKs will never be delayed unless we run out of data to
transmit.  The problem is quite easy to tickle when the MTU of the
outgoing interface is larger than the socket buffer size (e.g. loopback).

Fix from Charles Hannum.

Revision 1.84 / (download) - annotate - [select for diffs], Wed Aug 14 00:23:34 2002 UTC (21 years, 6 months ago) by itojun
Branch: MAIN
Changes since 1.83: +3 -3 lines
Diff to previous 1.83 (colored)

avoid swapping endian of ip_len and ip_off on mbuf, to meet with M_LEADINGSPACE
optimization made last year.  should solve PR 17867 and 10195.

IP_HDRINCL behavior of raw ip socket is kept unchanged.  we may want to
provide IP_HDRINCL variant that does not swap endian.

Revision 1.67.2.6 / (download) - annotate - [select for diffs], Sun Jun 23 17:51:00 2002 UTC (21 years, 8 months ago) by jdolecek
Branch: kqueue
Changes since 1.67.2.5: +77 -45 lines
Diff to previous 1.67.2.5 (colored)

catch up with -current on kqueue branch

Revision 1.79.2.2 / (download) - annotate - [select for diffs], Thu Jun 20 15:52:29 2002 UTC (21 years, 8 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.79.2.1: +33 -33 lines
Diff to previous 1.79.2.1 (colored) to branchpoint 1.79 (colored)

catch up with -current.

Revision 1.63.2.10 / (download) - annotate - [select for diffs], Thu Jun 20 03:48:56 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.9: +42 -39 lines
Diff to previous 1.63.2.9 (colored)

Catch up to -current.

Revision 1.79.4.1 / (download) - annotate - [select for diffs], Fri Jun 14 17:32:59 2002 UTC (21 years, 8 months ago) by lukem
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored)

Pull up revision 1.83 (requested by thorpej in ticket #267):
Disable TCP Congestion Window Monitoring by default; there are
performance problems in the face of tinygrams.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Jun 13 16:31:05 2002 UTC (21 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.82: +3 -3 lines
Diff to previous 1.82 (colored)

Disable TCP Congestion Window Monitoring by default; there are
performance problems in the face of tinygrams.

Revision 1.82 / (download) - annotate - [select for diffs], Sun Jun 9 16:33:44 2002 UTC (21 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.81: +32 -32 lines
Diff to previous 1.81 (colored)

whitespace

Revision 1.79.2.1 / (download) - annotate - [select for diffs], Thu May 30 13:52:28 2002 UTC (21 years, 8 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.79: +11 -8 lines
Diff to previous 1.79 (colored)

Catch up with -current.

Revision 1.81 / (download) - annotate - [select for diffs], Wed May 29 07:53:39 2002 UTC (21 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.80: +6 -4 lines
Diff to previous 1.80 (colored)

attach nd_ifinfo structure into if_afdata.
split IPv6 link MTU (advertised by RA) from real link MTU.
sync with kame

Revision 1.80 / (download) - annotate - [select for diffs], Sun May 26 16:05:43 2002 UTC (21 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.79: +8 -7 lines
Diff to previous 1.79 (colored)

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

Revision 1.63.2.9 / (download) - annotate - [select for diffs], Sat May 4 19:51:53 2002 UTC (21 years, 9 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.63.2.8: +37 -8 lines
Diff to previous 1.63.2.8 (colored)

Update from trunk.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Apr 27 01:47:58 2002 UTC (21 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-6-base
Branch point for: netbsd-1-6, gehenna-devsw
Changes since 1.78: +37 -8 lines
Diff to previous 1.78 (colored)

* Instrument tcp_build_datapkt().
* Remove the code that allocates a cluster if the packet would
  fit in one; it totally defeats doing references to M_EXT mbufs
  in the socket buffer.  This drastically reduces the number of
  data copies in the tcp_output() path for applications which use
  large writes.  Kudos to Matt Thomas for pointing me in the right
  direction.

Revision 1.63.2.8 / (download) - annotate - [select for diffs], Mon Apr 1 07:48:44 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.7: +3 -3 lines
Diff to previous 1.63.2.7 (colored)

Catch up to -current.
(CVS: It's not just a program. It's an adventure!)

Revision 1.67.2.5 / (download) - annotate - [select for diffs], Sat Mar 16 16:02:14 2002 UTC (21 years, 11 months ago) by jdolecek
Branch: kqueue
Changes since 1.67.2.4: +3 -3 lines
Diff to previous 1.67.2.4 (colored)

Catch up with -current.

Revision 1.78 / (download) - annotate - [select for diffs], Fri Mar 1 22:54:09 2002 UTC (21 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: newlock-base, newlock, eeh-devprop-base, eeh-devprop
Changes since 1.77: +3 -3 lines
Diff to previous 1.77 (colored)

In tcp_segsize(), move a label so that option length is considered
when using the default TCP MSS as well.  From Matt Thomas.

Revision 1.63.2.7 / (download) - annotate - [select for diffs], Thu Feb 28 04:15:13 2002 UTC (21 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.6: +42 -15 lines
Diff to previous 1.63.2.6 (colored)

Catch up to -current.

Revision 1.67.2.4 / (download) - annotate - [select for diffs], Mon Feb 11 20:10:39 2002 UTC (22 years ago) by jdolecek
Branch: kqueue
Changes since 1.67.2.3: +42 -15 lines
Diff to previous 1.67.2.3 (colored)

Sync w/ -current.

Revision 1.56.4.5 / (download) - annotate - [select for diffs], Thu Jan 24 22:44:37 2002 UTC (22 years, 1 month ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003
Changes since 1.56.4.4: +41 -14 lines
Diff to previous 1.56.4.4 (colored) to branchpoint 1.56 (colored) next main 1.57 (colored)

Pull up revision 1.77 (requested by itojun):
  Clean up the NRL copyright.

Revision 1.77 / (download) - annotate - [select for diffs], Thu Jan 24 02:12:29 2002 UTC (22 years, 1 month ago) by itojun
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.76: +42 -15 lines
Diff to previous 1.76 (colored)

place NRL copyright notice itself, not a reference to it.

Revision 1.67.2.3 / (download) - annotate - [select for diffs], Thu Jan 10 20:03:01 2002 UTC (22 years, 1 month ago) by thorpej
Branch: kqueue
Changes since 1.67.2.2: +19 -9 lines
Diff to previous 1.67.2.2 (colored)

Sync kqueue branch with -current.

Revision 1.63.2.6 / (download) - annotate - [select for diffs], Tue Jan 8 00:34:11 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.5: +17 -10 lines
Diff to previous 1.63.2.5 (colored)

Catch up to -current.

Revision 1.76 / (download) - annotate - [select for diffs], Mon Dec 3 01:45:43 2001 UTC (22 years, 2 months ago) by jmcneill
Branch: MAIN
Changes since 1.75: +17 -10 lines
Diff to previous 1.75 (colored)

Fix TCP segment size computation. From Rick Byersm, PR kern/14799.

Revision 1.63.2.5 / (download) - annotate - [select for diffs], Wed Nov 14 19:17:57 2001 UTC (22 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.4: +4 -1 lines
Diff to previous 1.63.2.4 (colored)

Catch up to -current.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Nov 13 00:32:41 2001 UTC (22 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.74: +4 -1 lines
Diff to previous 1.74 (colored)

add RCSIDs

Revision 1.70.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:47:46 2001 UTC (22 years, 4 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.70: +15 -10 lines
Diff to previous 1.70 (colored) next main 1.71 (colored)

Catch up with -current.

Revision 1.63.2.4 / (download) - annotate - [select for diffs], Fri Sep 21 22:36:50 2001 UTC (22 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.3: +15 -10 lines
Diff to previous 1.63.2.3 (colored)

Catch up to -current.

Revision 1.67.2.2 / (download) - annotate - [select for diffs], Thu Sep 13 01:16:23 2001 UTC (22 years, 5 months ago) by thorpej
Branch: kqueue
Changes since 1.67.2.1: +15 -10 lines
Diff to previous 1.67.2.1 (colored)

Update the kqueue branch to HEAD.

Revision 1.74 / (download) - annotate - [select for diffs], Mon Sep 10 22:14:27 2001 UTC (22 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, pre-chs-ubcperf, post-chs-ubcperf
Changes since 1.73: +2 -1 lines
Diff to previous 1.73 (colored)

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.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Sep 10 15:23:10 2001 UTC (22 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.72: +4 -4 lines
Diff to previous 1.72 (colored)

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.

Revision 1.72 / (download) - annotate - [select for diffs], Mon Sep 10 04:43:35 2001 UTC (22 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.71: +2 -2 lines
Diff to previous 1.71 (colored)

Enable Congestion Window Monitoring by default.

Revision 1.71 / (download) - annotate - [select for diffs], Mon Sep 10 04:24:24 2001 UTC (22 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.70: +10 -6 lines
Diff to previous 1.70 (colored)

Use a callout for the delayed ACK timer, and delete tcp_fasttimo().
Expose the delayed ACK timer as net.inet.tcp.delack_ticks.

Revision 1.63.2.3 / (download) - annotate - [select for diffs], Fri Aug 24 00:12:30 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.2: +73 -55 lines
Diff to previous 1.63.2.2 (colored)

Catch up with -current.

Revision 1.67.2.1 / (download) - annotate - [select for diffs], Fri Aug 3 04:13:55 2001 UTC (22 years, 6 months ago) by lukem
Branch: kqueue
Changes since 1.67: +70 -55 lines
Diff to previous 1.67 (colored)

update to -current

Revision 1.70 / (download) - annotate - [select for diffs], Tue Jul 31 02:25:22 2001 UTC (22 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-devvp-base
Branch point for: thorpej-devvp
Changes since 1.69: +63 -50 lines
Diff to previous 1.69 (colored)

Carve off the code that builds a TCP data packet into its own
function, and inline it, except when profiling... so we can
profile it.

Revision 1.69 / (download) - annotate - [select for diffs], Tue Jul 31 00:57:45 2001 UTC (22 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.68: +7 -2 lines
Diff to previous 1.68 (colored)

Count the number of times we "self-quench" (ip_output() returns
ENOBUFS), and don't inline tcp_segsize() if profiling.

Revision 1.68 / (download) - annotate - [select for diffs], Thu Jul 26 21:47:04 2001 UTC (22 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.67: +2 -5 lines
Diff to previous 1.67 (colored)

Slight cosmetic change.

Revision 1.67 / (download) - annotate - [select for diffs], Sun Jul 8 16:18:59 2001 UTC (22 years, 7 months ago) by abs
Branch: MAIN
Branch point for: kqueue
Changes since 1.66: +4 -1 lines
Diff to previous 1.66 (colored)

Rename TCPDEBUG to TCP_DEBUG, defopt TCP_DEBUG and TCP_NDEBUG, and
make all usage of tcp_trace dependent on TCP_DEBUG - resulting in
a 31K saving on an INET enabled i386 kernel.

Revision 1.63.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 20:08:43 2001 UTC (22 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63.2.1: +31 -16 lines
Diff to previous 1.63.2.1 (colored)

Catch up to -current.

Revision 1.66 / (download) - annotate - [select for diffs], Sat Jun 2 16:17:10 2001 UTC (22 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.65: +31 -16 lines
Diff to previous 1.65 (colored)

Implement support for IP/TCP/UDP checksum offloading provided by
network interfaces.  This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us.  In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software.  This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.

We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.

Note: hardware-assisted checksumming defaults to "off".  It is
enabled with ifconfig(8).  See the manual page for details.

Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.

Revision 1.52.2.5 / (download) - annotate - [select for diffs], Sat Apr 21 17:46:52 2001 UTC (22 years, 10 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.52.2.4: +8 -5 lines
Diff to previous 1.52.2.4 (colored) to branchpoint 1.52 (colored) next main 1.53 (colored)

Sync with HEAD

Revision 1.63.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:58:31 2001 UTC (22 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.63: +10 -7 lines
Diff to previous 1.63 (colored)

Catch up with -current.

Revision 1.56.4.4 / (download) - annotate - [select for diffs], Fri Apr 6 00:26:13 2001 UTC (22 years, 10 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.56.4.3: +6 -2 lines
Diff to previous 1.56.4.3 (colored) to branchpoint 1.56 (colored)

Pull up revision 1.63 (requested by itojun):
  Record IPsec packet history in m_aux structure.  Let ipfilter
  look at wire-format packet only (not the decapsulated ones), so
  that VPN setting can work with NAT/ipfilter settings.

Revision 1.65 / (download) - annotate - [select for diffs], Tue Apr 3 06:14:31 2001 UTC (22 years, 10 months ago) by itojun
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.64: +8 -5 lines
Diff to previous 1.64 (colored)

check ip_mtudisc only for TCP over IPv4.
PMTUD is mandatory for TCP over IPv6 (if packets > 1280).

Revision 1.52.2.4 / (download) - annotate - [select for diffs], Tue Mar 27 15:32:35 2001 UTC (22 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.52.2.3: +3 -3 lines
Diff to previous 1.52.2.3 (colored) to branchpoint 1.52 (colored)

Sync with HEAD.

Revision 1.64 / (download) - annotate - [select for diffs], Tue Mar 20 20:07:51 2001 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.63: +3 -3 lines
Diff to previous 1.63 (colored)

Two changes, designed to make us even more resilient against TCP
ISS attacks (which we already fend off quite well).

1. First-cut implementation of RFC1948, Steve Bellovin's cryptographic
   hash method of generating TCP ISS values.  Note, this code is experimental
   and disabled by default (experimental enough that I don't export the
   variable via sysctl yet, either).  There are a couple of issues I'd
   like to discuss with Steve, so this code should only be used by people
   who really know what they're doing.

2. Per a recent thread on Bugtraq, it's possible to determine a system's
   uptime by snooping the RFC1323 TCP timestamp options sent by a host; in
   4.4BSD, timestamps are created by incrementing the tcp_now variable
   at 2 Hz; there's even a company out there that uses this to determine
   web server uptime.  According to Newsham's paper "The Problem With
   Random Increments", while NetBSD's TCP ISS generation method is much
   better than the "random increment" method used by FreeBSD and OpenBSD,
   it is still theoretically possible to mount an attack against NetBSD's
   method if the attacker knows how many times the tcp_iss_seq variable
   has been incremented.  By not leaking uptime information, we can make
   that much harder to determine.  So, we avoid the leak by giving each
   TCP connection a timebase of 0.

Revision 1.52.2.3 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:18 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.52.2.2: +6 -2 lines
Diff to previous 1.52.2.2 (colored) to branchpoint 1.52 (colored)

Sync with HEAD.

Revision 1.63 / (download) - annotate - [select for diffs], Wed Jan 24 09:04:16 2001 UTC (23 years, 1 month ago) by itojun
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.62: +6 -2 lines
Diff to previous 1.62 (colored)

- record IPsec packet history into m_aux structure.
- let ipfilter look at wire-format packet only (not the decapsulated ones),
  so that VPN setting can work with NAT/ipfilter settings.
sync with kame.

TODO: use header history for stricter inbound validation

Revision 1.52.2.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:06:12 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.52.2.1: +2 -2 lines
Diff to previous 1.52.2.1 (colored) to branchpoint 1.52 (colored)

Sync with HEAD.

Revision 1.52.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:10:36 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.52: +84 -105 lines
Diff to previous 1.52 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.56.4.3 / (download) - annotate - [select for diffs], Fri Nov 10 00:12:43 2000 UTC (23 years, 3 months ago) by tv
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE
Changes since 1.56.4.2: +2 -2 lines
Diff to previous 1.56.4.2 (colored) to branchpoint 1.56 (colored)

Pullup 1.62 [itojun]:
fix IPv4 TTL selection with AF_INET6 API.  sync with kame.  From: jdc

Revision 1.62 / (download) - annotate - [select for diffs], Mon Nov 6 00:50:12 2000 UTC (23 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored)

fix IPv4 TTL selection with AF_INET6 API.  sync with kame.  From: jdc

Revision 1.61 / (download) - annotate - [select for diffs], Thu Oct 19 20:23:00 2000 UTC (23 years, 4 months ago) by itojun
Branch: MAIN
Changes since 1.60: +4 -4 lines
Diff to previous 1.60 (colored)

remove #ifdef TCP6.  it is not likely for us to bring in sys/netinet6/tcp6*.c
(separate TCP/IPv6 stack) into netbsd-current.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Oct 17 03:06:43 2000 UTC (23 years, 4 months ago) by itojun
Branch: MAIN
Changes since 1.59: +54 -13 lines
Diff to previous 1.59 (colored)

be more friendly with INET-less build.
XXX we need to do more to do a working INET-less build

Revision 1.59 / (download) - annotate - [select for diffs], Tue Oct 17 02:57:02 2000 UTC (23 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.58: +4 -70 lines
Diff to previous 1.58 (colored)

Add an IP_MTUDISC flag to the flags that can be passed to
ip_output().  This flag, if set, causes ip_output() to set
DF in the IP header if the MTU in the route is not locked.

This allows a bunch of redundant code, which I was never
really all that happy about adding in the first place, to
be eliminated.

Inspired by a similar change made by provos@openbsd.org when
he integrated NetBSD's Path MTU Discovery code into OpenBSD.

Revision 1.56.4.2 / (download) - annotate - [select for diffs], Tue Aug 15 15:18:55 2000 UTC (23 years, 6 months ago) by itojun
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-BETA2, netbsd-1-5-BETA
Changes since 1.56.4.1: +2 -2 lines
Diff to previous 1.56.4.1 (colored) to branchpoint 1.56 (colored)

pullup 1.57 -> 1.58 (approved by releng-1-5)

 > forgot to call tcp6_quench().  sync with kame.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Jul 28 02:39:45 2000 UTC (23 years, 7 months ago) by itojun
Branch: MAIN
Changes since 1.57: +2 -2 lines
Diff to previous 1.57 (colored)

forgot to call tcp6_quench().  sync with kame.

Revision 1.56.4.1 / (download) - annotate - [select for diffs], Sun Jul 23 05:25:08 2000 UTC (23 years, 7 months ago) by itojun
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-ALPHA2
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored)

pullup from main trunc (approved by releng-1-5)

remove old mbuf assumption (ip header and tcp header are on the same mbuf).
this is for m_pulldown use. (sync with kame)

1.108 -> 1.109 syssrc/sys/netinet/tcp_input.c
1.56  -> 1.57  syssrc/sys/netinet/tcp_output.c
1.91  -> 1.92  syssrc/sys/netinet/tcp_subr.c

Revision 1.57 / (download) - annotate - [select for diffs], Fri Jun 30 16:44:33 2000 UTC (23 years, 7 months ago) by itojun
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored)

remove old mbuf assumption (ip header and tcp header are on the same mbuf).
this is for m_pulldown use. (sync with kame)

Revision 1.56 / (download) - annotate - [select for diffs], Thu Mar 30 13:25:06 2000 UTC (23 years, 10 months ago) by augustss
Branch: MAIN
CVS Tags: netbsd-1-5-base, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.55: +6 -6 lines
Diff to previous 1.55 (colored)

Remove register declarations.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Mar 1 12:49:41 2000 UTC (23 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.54: +2 -2 lines
Diff to previous 1.54 (colored)

introduce m->m_pkthdr.aux to hold random data which needs to be passed
between protocol handlers.

ipsec socket pointers, ipsec decryption/auth information, tunnel
decapsulation information are in my mind - there can be several other usage.
at this moment, we use this for ipsec socket pointer passing.  this will
avoid reuse of m->m_pkthdr.rcvif in ipsec code.

due to the change, MHLEN will be decreased by sizeof(void *) - for example,
for i386, MHLEN was 100 bytes, but is now 96 bytes.
we may want to increase MSIZE from 128 to 256 for some of our architectures.

take caution if you use it for keeping some data item for long period
of time - use extra caution on M_PREPEND() or m_adj(), as they may result
in loss of m->m_pkthdr.aux pointer (and mbuf leak).

this will bump kernel version.

(as discussed in tech-net, tested in kame tree)

Revision 1.54 / (download) - annotate - [select for diffs], Wed Feb 9 00:50:40 2000 UTC (24 years ago) by itojun
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.53: +6 -4 lines
Diff to previous 1.53 (colored)

optimize mbuf allocation for ip/tcp/tcpopt part.

Revision 1.52.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:19 1999 UTC (24 years, 2 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.52: +12 -10 lines
Diff to previous 1.52 (colored) next main 1.53 (colored)

Pull up to last week's -current.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Dec 13 15:17:20 1999 UTC (24 years, 2 months ago) by itojun
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.52: +12 -10 lines
Diff to previous 1.52 (colored)

sync IPv6 part with latest KAME tree.   IPsec part is left unmodified
due to massive changes in KAME side.
- IPv6 output goes through nd6_output
- faith can capture IPv4 packets as well - you can run IPv4-to-IPv6 translator
  using heavily modified DNS servers
- per-interface statistics (required for IPv6 MIB)
- interface autoconfig is revisited
- udp input handling has a big change for mapped address support.
- introduce in4_cksum() for non-overwriting checksumming
- introduce m_pulldown()
- neighbor discovery cleanups/improvements
- netinet/in.h strictly conforms to RFC2553 (no extra defs visible to userland)
- IFA_STATS is fixed a bit (not tested)
- and more more more.

TODO:
- cleanup os-independency #ifdef
- avoid rcvif dual use (for IPsec) to help ifdetach

(sorry for jumbo commit, I can't separate this any more...)

Revision 1.47.6.3 / (download) - annotate - [select for diffs], Tue Nov 30 13:35:37 1999 UTC (24 years, 2 months ago) by itojun
Branch: kame
CVS Tags: kame_141_19991130
Changes since 1.47.6.2: +37 -36 lines
Diff to previous 1.47.6.2 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code).  Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.

Revision 1.52 / (download) - annotate - [select for diffs], Thu Sep 23 02:21:31 1999 UTC (24 years, 5 months ago) by itojun
Branch: MAIN
CVS Tags: fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize, thorpej_scsipi
Changes since 1.51: +13 -28 lines
Diff to previous 1.51 (colored)

cleanup and correct TCP MSS consideration with IPsec headers.

MSS advertisement must always be:
	max(if mtu) - ip hdr siz - tcp hdr siz
We violated this in the previous code so it was fixed.

tcp_mss_to_advertise() now takes af (af on wire) as its argument,
to compute right ip hdr siz.

tcp_segsize() will take care of IPsec header size.
One thing I'm not really sure is how to handle IPsec header size in
*rxsegsizep (inbound segment size estimation).
The current code subtracts possible *outbound* IPsec size from *rxsegsizep,
hoping that the peer is using the same IPsec policy as me.
It may not be applicable, could TCP gulu please comment...

Revision 1.47.4.2 / (download) - annotate - [select for diffs], Mon Aug 2 22:34:59 1999 UTC (24 years, 6 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.47.4.1: +15 -1 lines
Diff to previous 1.47.4.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

Update from trunk.

Revision 1.51 / (download) - annotate - [select for diffs], Fri Jul 9 22:57:21 1999 UTC (24 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.50: +2 -1 lines
Diff to previous 1.50 (colored)

defopt IPSEC and IPSEC_ESP (both into opt_ipsec.h).

Revision 1.47.6.2 / (download) - annotate - [select for diffs], Tue Jul 6 11:02:48 1999 UTC (24 years, 7 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990705
Changes since 1.47.6.1: +4 -2 lines
Diff to previous 1.47.6.1 (colored) to branchpoint 1.47 (colored)

KAME/NetBSD 1.4, SNAP kit 1999/07/05.
NOTE: this branch is just for reference purposes (i.e. for taking cvs diff).
do not touch anything on the branch.  actual work must be done on HEAD branch.

Revision 1.50 / (download) - annotate - [select for diffs], Fri Jul 2 21:02:05 1999 UTC (24 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.49: +3 -1 lines
Diff to previous 1.49 (colored)

Fix for -Wunitialized warnings broke compiles without INET6, refix.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Jul 2 12:45:32 1999 UTC (24 years, 7 months ago) by itojun
Branch: MAIN
Changes since 1.48: +12 -1 lines
Diff to previous 1.48 (colored)

avoid "variable not initialized" warnings on some of the platforms.

Revision 1.47.4.1 / (download) - annotate - [select for diffs], Thu Jul 1 23:47:03 1999 UTC (24 years, 7 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.47: +413 -50 lines
Diff to previous 1.47 (colored)

Sync w/ -current.

Revision 1.48 / (download) - annotate - [select for diffs], Thu Jul 1 08:12:51 1999 UTC (24 years, 7 months ago) by itojun
Branch: MAIN
Changes since 1.47: +413 -50 lines
Diff to previous 1.47 (colored)

IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628.
(Sorry for a big commit, I can't separate this into several pieces...)
Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.

- sys/kern: do not assume single mbuf, accept chained mbuf on passing
  data from userland to kernel (or other way round).
- "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ
  package (ftp://ftp.csl.sony.co.jp/pub/kjc/).
- sys/netinet/tcp*: IPv4/v6 dual stack tcp support.
- sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those
  file to be there so we patch it up.
- sys/netinet: IPsec additions are here and there.
- sys/netinet6/*: most of IPv6 code sits here.
- sys/netkey: IPsec key management code
- dev/pci/pcidevs: regen

In my understanding no code here is subject to export control so it
should be safe.

Revision 1.47.6.1 / (download) - annotate - [select for diffs], Mon Jun 28 06:37:01 1999 UTC (24 years, 8 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990628
Changes since 1.47: +411 -50 lines
Diff to previous 1.47 (colored)

KAME/NetBSD 1.4 SNAP kit, dated 19990628.

NOTE: this branch (kame) is used just for refernce.  this may not compile
due to multiple reasons.

Revision 1.47 / (download) - annotate - [select for diffs], Wed Jan 20 03:39:54 1999 UTC (25 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4
Branch point for: kame, chs-ubc2
Changes since 1.46: +34 -10 lines
Diff to previous 1.46 (colored)

Fix a problem pointed out by Charles Hannum; DF wasn't being set in
SYN,ACK packets during Path MTU Discovery.  Fix tcp_respond() to do the
appropriate route lookup and set DF as appropriate.

Also, fixup similar code in tcp_output() to relookup the route if it
is down.

Revision 1.46 / (download) - annotate - [select for diffs], Wed Dec 16 00:33:14 1998 UTC (25 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.45: +4 -3 lines
Diff to previous 1.45 (colored)

Delay sending if SS_MORETOCOME is set in so_state.  This avoids the case
where the user issued a write with a length greater than MLEN but less
than MINCLSIZE, thus causing two mbufs to be used.  The loop in sosend()
would then call PRU_SEND twice, causing TCP to transmit 2 packets when
it could have transmitted one.

Suggested by Justin Walker <justin@apple.com> on the freebsd-net
mailing list.

Revision 1.45 / (download) - annotate - [select for diffs], Tue Oct 6 00:20:45 1998 UTC (25 years, 4 months ago) by matt
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)

Add a sysctl for newreno (default to off).

Revision 1.44 / (download) - annotate - [select for diffs], Sun Oct 4 21:33:53 1998 UTC (25 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.43: +7 -2 lines
Diff to previous 1.43 (colored)

Adapt the NEWRENO changes from the UCSB diffs of BSDI 3.0's TCP
to NetBSD.  Ignore the SACK & FACK stuff for now.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Jul 21 10:46:00 1998 UTC (25 years, 7 months ago) by mycroft
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.42: +16 -26 lines
Diff to previous 1.42 (colored)

Implement a better fix for the `gratuitous FIN' problem, as
mentioned on tcp-impl but with a bit more commentary.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Jul 17 23:00:02 1998 UTC (25 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.41: +3 -1 lines
Diff to previous 1.41 (colored)

Add a comment wrt. a current issue w/ CWM.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Jul 17 22:52:01 1998 UTC (25 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.40: +12 -3 lines
Diff to previous 1.40 (colored)

Comment where the Restart Window is computed, and in the non-CWM case,
make sure it never _increases_ cwnd.

Revision 1.40 / (download) - annotate - [select for diffs], Tue Jul 7 00:04:59 1998 UTC (25 years, 7 months ago) by sommerfe
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

Delete bogus (void) cast of m_freem (which is already a void function..)

Revision 1.39 / (download) - annotate - [select for diffs], Mon May 11 19:57:23 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.38: +1 -11 lines
Diff to previous 1.38 (colored)

Nuke TUBA per my note to tech-net; there's no reason to keep it around.

Revision 1.20.2.6 / (download) - annotate - [select for diffs], Sat May 9 03:33:01 1998 UTC (25 years, 9 months ago) by mycroft
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002
Changes since 1.20.2.5: +20 -9 lines
Diff to previous 1.20.2.5 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)

Pull up patch from kml.

Revision 1.38 / (download) - annotate - [select for diffs], Wed May 6 01:21:21 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.37: +17 -15 lines
Diff to previous 1.37 (colored)

Use macros from tcp_timer.h to manipulate TCP timers, so that their
implementation can be changed easily.

Revision 1.20.2.5 / (download) - annotate - [select for diffs], Tue May 5 23:01:27 1998 UTC (25 years, 9 months ago) by mycroft
Branch: netbsd-1-3
Changes since 1.20.2.4: +8 -11 lines
Diff to previous 1.20.2.4 (colored) to branchpoint 1.20 (colored)

Pull up 1.29, per request of kml.

Revision 1.20.2.4 / (download) - annotate - [select for diffs], Tue May 5 09:24:53 1998 UTC (25 years, 9 months ago) by mycroft
Branch: netbsd-1-3
Changes since 1.20.2.3: +3 -1 lines
Diff to previous 1.20.2.3 (colored) to branchpoint 1.20 (colored)

Pull up 1.30, per request of kml.

Revision 1.37 / (download) - annotate - [select for diffs], Sat May 2 01:00:24 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

Correct a comment related to Congestion Window Monitoring.

Revision 1.36 / (download) - annotate - [select for diffs], Thu Apr 30 18:27:20 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.35: +6 -7 lines
Diff to previous 1.35 (colored)

In the CWM code, don't use the Floyd initial window computation as
the burst size allowed, but rather a fixed number of packets, as
described in the Internet Draft.  Default allowed burst is 4 packets,
per the Draft.

Make the use of CWM and the allowed burst size tunable via sysctl.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Apr 29 03:44:12 1998 UTC (25 years, 9 months ago) by kml
Branch: MAIN
Changes since 1.34: +15 -7 lines
Diff to previous 1.34 (colored)

Add support for deletion of routes added by path MTU discovery;
uses new generic route timeout code.  Add sysctl for timeout period.

Revision 1.34 / (download) - annotate - [select for diffs], Mon Apr 13 21:18:19 1998 UTC (25 years, 10 months ago) by kml
Branch: MAIN
Changes since 1.33: +5 -2 lines
Diff to previous 1.33 (colored)

Fix to ensure that the correct MSS is advertised for loopback
TCP connections by using the MTU of the interface.  Also added
a knob, mss_ifmtu, to force all connections to use the MTU of
the interface to calculate the advertised MSS.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Apr 1 22:15:52 1998 UTC (25 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.32: +39 -12 lines
Diff to previous 1.32 (colored)

Implement Congestion Window Monitoring as described in the TCPIMPL
meeting of IETF #41 by Amy Hughes <ahughes@isi.edu>, and in an upcoming
internet draft from Hughes, Touch, and Heidemann.

CWM eliminates line-rate bursts after idle periods by counting pending
(unacknowledged) packets and limiting the congestion window to the
initial congestion window plus the pending packet count.  This has the
effect of allowing us to use the window as long as we continue to transmit,
but as soon as we stop transmitting, we go back to a slow-start (also known
as `use it or lose it').

This is not enabled by default.  You can enable this behavior by patching
the "tcp_cwm" global (set it to non-zero) or by building a kernel with the
TCP_CWM option.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Mar 31 22:49:10 1998 UTC (25 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

Fix a potential-congestion case in the larger initial congestion window
code, as clarified in the TCPIMPL WG meeting at IETF #41: If the SYN
(active open) or SYN,ACK (passive open) was retransmitted, the initial
congestion window for the first slow start of that connection must be
one segment.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Mar 24 03:10:02 1998 UTC (25 years, 11 months ago) by kml
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

Ensure that we take the IP option length into account when we calculate
the effective maximum send size for TCP.  ip_optlen() and tcp_optlen()
should probably be inlined for efficiency.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Mar 19 22:29:34 1998 UTC (25 years, 11 months ago) by kml
Branch: MAIN
Changes since 1.29: +3 -1 lines
Diff to previous 1.29 (colored)

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.29 / (download) - annotate - [select for diffs], Tue Mar 17 23:50:30 1998 UTC (25 years, 11 months ago) by kml
Branch: MAIN
Changes since 1.28: +8 -11 lines
Diff to previous 1.28 (colored)

Ensure that the TCP segment size reflects the size of TCP options
in the packet.  This fixes a bug that was resulting in extra packets
in retransmissions (the second packet would be 12 bytes long,
reflecting the RFC1323 timestamp option size).

Revision 1.28 / (download) - annotate - [select for diffs], Thu Feb 19 02:36:43 1998 UTC (26 years ago) by thorpej
Branch: MAIN
Changes since 1.27: +38 -1 lines
Diff to previous 1.27 (colored)

Update copyright (sigh, should have done this long ago).

Revision 1.20.2.3 / (download) - annotate - [select for diffs], Thu Jan 29 10:24:04 1998 UTC (26 years ago) by mellon
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-PATCH001
Changes since 1.20.2.2: +20 -11 lines
Diff to previous 1.20.2.2 (colored) to branchpoint 1.20 (colored)

Pull up 1.24-1.27 (thorpej)

Revision 1.27 / (download) - annotate - [select for diffs], Mon Jan 5 10:32:05 1998 UTC (26 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored)

Finishing merging 4.4BSD-Lite2 netinet.  At this point, the only changes
left were SCCS IDs and Copyright dates.

Revision 1.1.1.3 / (download) - annotate - [select for diffs] (vendor branch), Mon Jan 5 09:56:12 1998 UTC (26 years, 1 month ago) by thorpej
Branch: WFJ-920714, CSRG
CVS Tags: lite-2
Changes since 1.1.1.2: +9 -5 lines
Diff to previous 1.1.1.2 (colored)

Import sys/netinet from 4.4BSD-Lite2 for reference purposes.

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Mon Jan 5 09:54:23 1998 UTC (26 years, 1 month ago) by thorpej
Branch: WFJ-920714, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1.1.1: +145 -49 lines
Diff to previous 1.1.1.1 (colored)

Import sys/netinet from 4.4BSD-Lite for reference purposes.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Dec 31 03:31:25 1997 UTC (26 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.25: +3 -2 lines
Diff to previous 1.25 (colored)

Implement a queue for delayed ACK processing.  This queue is used in
tcp_fasttimo() in lieu of scanning all open TCP connections.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Dec 17 05:59:32 1997 UTC (26 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.24: +13 -7 lines
Diff to previous 1.24 (colored)

From 4.4BSD-Lite2:
- If we fail to allocate mbufs for the outgoing segment, free the header
  and abort.

From Stevens:
- Ensure the persist timer is running if the send window reaches zero.
  Part of the fix for kern/2335 (pete@daemon.net).

Revision 1.24 / (download) - annotate - [select for diffs], Thu Dec 11 22:47:24 1997 UTC (26 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

Implement an infrastructure to allow larger initial congestion windows.
The sysctl'able variable "tcp_init_win", when set to 0, selects an
auto-tuning algorithm for selecting the initial window, based on transmit
segment size, per discussion in the IETF tcpimpl working group.

Default initial window is still 1 segment, but will soon become 2 segments,
per discussion in tcpimpl.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Dec 11 06:37:48 1997 UTC (26 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.22: +3 -1 lines
Diff to previous 1.22 (colored)

Count delayed ACKs after they have been sucessfully transmitted.

Revision 1.20.2.2 / (download) - annotate - [select for diffs], Fri Nov 21 00:45:33 1997 UTC (26 years, 3 months ago) by thorpej
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-RELEASE, netbsd-1-3-BETA
Changes since 1.20.2.1: +2 -2 lines
Diff to previous 1.20.2.1 (colored) to branchpoint 1.20 (colored)

Sync w/ trunk: add a missing (previously implied) int.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Nov 20 19:12:41 1997 UTC (26 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

Add missing (implied) int to a variable declaration.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Sat Nov 8 06:31:31 1997 UTC (26 years, 3 months ago) by thorpej
Branch: netbsd-1-3
Changes since 1.20: +10 -3 lines
Diff to previous 1.20 (colored)

Pull up from trunk: TCP MSS fixes to provide cleaner slow-start and recovery.
(kml)

Revision 1.21 / (download) - annotate - [select for diffs], Sat Nov 8 02:35:23 1997 UTC (26 years, 3 months ago) by kml
Branch: MAIN
Changes since 1.20: +10 -3 lines
Diff to previous 1.20 (colored)

TCP MSS fixes to provide cleaner slow-start and recovery.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Oct 18 21:18:32 1997 UTC (26 years, 4 months ago) by kml
Branch: MAIN
CVS Tags: netbsd-1-3-base
Branch point for: netbsd-1-3
Changes since 1.19: +3 -5 lines
Diff to previous 1.19 (colored)

change sysctl net.inet.icmp.mtudisc to net.inet.ip.mtudisc

Revision 1.19 / (download) - annotate - [select for diffs], Fri Oct 17 22:12:31 1997 UTC (26 years, 4 months ago) by kml
Branch: MAIN
Changes since 1.18: +13 -4 lines
Diff to previous 1.18 (colored)

Path MTU Discovery support.  This is turned off by default.
Use sysctl -w net.inet.icmp.mtudisc=1 to turn on.
Still to come:  path removal after some period, black hole detection

Revision 1.16.4.2 / (download) - annotate - [select for diffs], Tue Oct 14 10:29:39 1997 UTC (26 years, 4 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.16.4.1: +23 -20 lines
Diff to previous 1.16.4.1 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Update marc-pcmcia branch from trunk.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Oct 8 16:32:48 1997 UTC (26 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: marc-pcmcia-base
Changes since 1.17: +23 -20 lines
Diff to previous 1.17 (colored)

Fix an oversight in my previous MSS-related changes:

Basically, in silly window avoidance, don't use the raw MSS we advertised
to the peer.  What we really want here is the _expected_ size of received
segments, so we need to account for the path MTU (eventually; right now,
the interface MTU for "local" addresses and loopback or tcp_mssdflt for
non-local addresses).  Without this, silly window avoidance would never
kick in if we advertised a very large (e.g. ~64k) MSS to the peer.

Revision 1.16.4.1 / (download) - annotate - [select for diffs], Mon Sep 29 07:21:22 1997 UTC (26 years, 4 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.16: +44 -14 lines
Diff to previous 1.16 (colored)

Update marc-pcmcia branch from trunk.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Sep 22 21:49:59 1997 UTC (26 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.16: +44 -14 lines
Diff to previous 1.16 (colored)

Fix several annoyances related to MSS handling in BSD TCP:
- Don't overload t_maxseg.  Previous behavior was to set it to the min
  of the peer's advertised MSS, our advertised MSS, and tcp_mssdflt
  (for non-local networks).  This breaks PMTU discovery running on
  either host.  Instead, remember the MSS we advertise, and use it
  as appropriate (in silly window avoidance).
- Per last bullet, split tcp_mss() into several functions for handling
  MSS (ours and peer's), and performing various tasks when a connection
  becomes ESTABLISHED.
- Introduce a new function, tcp_segsize(), which computes the max size
  for every segment transmitted in tcp_output().  This will eventually
  be used to hook in PMTU discovery.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jun 3 16:17:09 1997 UTC (26 years, 8 months ago) by kml
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, bouyer-scsipi
Branch point for: marc-pcmcia
Changes since 1.15: +5 -2 lines
Diff to previous 1.15 (colored)

Fix urgent pointer overflow problems when used with large windows

Revision 1.14.4.1 / (download) - annotate - [select for diffs], Tue Dec 10 18:21:09 1996 UTC (27 years, 2 months ago) by mycroft
Branch: netbsd-1-2
CVS Tags: netbsd-1-2-PATCH001
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

From trunk:
Fix RTT scaling problems introduced with Brakmo and Peterson changes.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Dec 10 18:20:21 1996 UTC (27 years, 2 months ago) by mycroft
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Fix RTT scaling problems introduced with Brakmo and Peterson changes.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Feb 13 23:43:53 1996 UTC (28 years ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-BETA
Branch point for: netbsd-1-2
Changes since 1.13: +6 -1 lines
Diff to previous 1.13 (colored)

netinet prototypes

Revision 1.13 / (download) - annotate - [select for diffs], Thu Apr 13 20:09:23 1995 UTC (28 years, 10 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

oops; missed the chance to fix a cast, that then becamse a compiler warning.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Apr 13 06:36:41 1995 UTC (28 years, 10 months ago) by cgd
Branch: MAIN
Changes since 1.11: +8 -8 lines
Diff to previous 1.11 (colored)

be a bit more careful and explicit with types.  (basically a large no-op.)

Revision 1.11 / (download) - annotate - [select for diffs], Mon Jan 23 20:18:35 1995 UTC (29 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.10: +8 -5 lines
Diff to previous 1.10 (colored)

Fix a condition where we sometimes sent a FIN too early.  Also, a small
optimization.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jun 29 06:38:42 1994 UTC (29 years, 8 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)

New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.9 / (download) - annotate - [select for diffs], Fri May 13 06:06:42 1994 UTC (29 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.8: +118 -27 lines
Diff to previous 1.8 (colored)

Update to 4.4-Lite networking code, with a few local changes.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Apr 12 18:09:47 1994 UTC (29 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +5 -2 lines
Diff to previous 1.7 (colored)

Acks with no data should have the highest sequence number sent.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Jan 10 20:14:30 1994 UTC (30 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Should compile now with or without `options MULTICAST'.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Jan 8 23:07:20 1994 UTC (30 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.5: +4 -2 lines
Diff to previous 1.5 (colored)

Prototypes.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Jan 8 21:22:00 1994 UTC (30 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

Fix some inconsistent spacing; spaces at the end of lines, etc.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Dec 18 00:42:05 1993 UTC (30 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.3: +22 -22 lines
Diff to previous 1.3 (colored)

Canonicalize all #includes.

Revision 1.3 / (download) - annotate - [select for diffs], Sat May 22 11:42:42 1993 UTC (30 years, 9 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-0-9-patch-001, netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9, magnum-base, magnum
Changes since 1.2: +1 -2 lines
Diff to previous 1.2 (colored)

add include of select.h if necessary for protos, or delete if extraneous

Revision 1.2 / (download) - annotate - [select for diffs], Tue May 18 18:20:17 1993 UTC (30 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

make kernel select interface be one-stop shopping & clean it all up.

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 21 09:45:37 1993 UTC (30 years, 11 months ago) by cgd
Branch: WFJ-920714, CSRG
CVS Tags: patchkit-0-2-2, netbsd-alpha-1, netbsd-0-8, WFJ-386bsd-01
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of 386bsd-0.1 sources

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (30 years, 11 months ago) by cgd
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.




CVSweb <webmaster@jp.NetBSD.org>