The NetBSD Project

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

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.131: download - view: text, markup, annotated - select for diffs
Sat Sep 3 02:53:18 2022 UTC (2 years, 6 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, netbsd-10-base, netbsd-10-1-RELEASE, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +2 -3 lines
Garbage-collect everything related to struct domain::dom_ifqueues
(except dom_ifqueues itself, until the next kernel version bump).
It's no longer used now that nothing uses the legacy netisr mechanism.

Revision 1.128.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:09:47 2019 UTC (5 years, 9 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.128: preferred, colored; next MAIN 1.129: preferred, colored
Changes since revision 1.128: +4 -31 lines
Sync with HEAD

Revision 1.126.2.4: download - view: text, markup, annotated - select for diffs
Sun Sep 30 01:45:56 2018 UTC (6 years, 5 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.126.2.3: preferred, colored; branchpoint 1.126: preferred, colored; next MAIN 1.127: preferred, colored
Changes since revision 1.126.2.3: +4 -11 lines
Ssync with HEAD

Revision 1.130: download - view: text, markup, annotated - select for diffs
Fri Sep 14 05:09:51 2018 UTC (6 years, 6 months ago) by maxv
Branches: 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, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, netbsd-9-base, netbsd-9-4-RELEASE, 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, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, 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
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +4 -11 lines
Use non-variadic function pointer in protosw::pr_input.

Revision 1.126.2.3: download - view: text, markup, annotated - select for diffs
Thu Sep 6 06:56:44 2018 UTC (6 years, 6 months ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.126.2.2: preferred, colored; branchpoint 1.126: preferred, colored
Changes since revision 1.126.2.2: +2 -22 lines
Sync with HEAD

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

Revision 1.129: download - view: text, markup, annotated - select for diffs
Tue Aug 14 14:49:14 2018 UTC (6 years, 7 months ago) by maxv
Branches: MAIN
CVS tags: pgoyette-compat-0906
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +2 -22 lines
Retire EtherIP, we have L2TP instead.

Revision 1.126.2.2: download - view: text, markup, annotated - select for diffs
Mon May 21 04:36:16 2018 UTC (6 years, 10 months ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.126.2.1: preferred, colored; branchpoint 1.126: preferred, colored
Changes since revision 1.126.2.1: +2 -3 lines
Sync with HEAD

Revision 1.128: download - view: text, markup, annotated - select for diffs
Thu May 3 07:13:48 2018 UTC (6 years, 10 months ago) by maxv
Branches: MAIN
CVS tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521
Branch point for: phil-wifi
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +2 -3 lines
Remove now unused tcpip.h includes. Some were already unused before.

Revision 1.123.4.3: download - view: text, markup, annotated - select for diffs
Sat Mar 31 10:41:06 2018 UTC (6 years, 11 months ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Diff to: previous 1.123.4.2: preferred, colored; branchpoint 1.123: preferred, colored; next MAIN 1.124: preferred, colored
Changes since revision 1.123.4.2: +4 -4 lines
Pull up following revision(s) (requested by maxv in ticket #676):

	sys/netinet/in_proto.c: revision 1.127
	sys/netinet6/in6_proto.c: revision 1.122

Add the PR_LASTHDR flag on the PFsync and CARP entries. Otherwise a
"require" IPsec policy is not enforced on them, and unauthenticated
packets will be accepted.

Tested with a require-AH configuration. Sent on tech-net@, no comment.

Revision 1.126.2.1: download - view: text, markup, annotated - select for diffs
Thu Mar 15 09:12:06 2018 UTC (7 years ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +4 -4 lines
Synch with HEAD

Revision 1.127: download - view: text, markup, annotated - select for diffs
Thu Mar 15 08:15:21 2018 UTC (7 years ago) by maxv
Branches: MAIN
CVS tags: pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +4 -4 lines
Add the PR_LASTHDR flag on the PFsync and CARP entries. Otherwise a
"require" IPsec policy is not enforced on them, and unauthenticated
packets will be accepted.

Tested with a require-AH configuration. Sent on tech-net@, no comment.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Mon Feb 5 08:38:06 2018 UTC (7 years, 1 month ago) by maxv
Branches: MAIN
CVS tags: pgoyette-compat-base
Branch point for: pgoyette-compat
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +2 -4 lines
Declare icmperrppslim in ip_icmp.c, it shouldn't be used elsewhere.

Revision 1.103.2.3: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:39:04 2017 UTC (7 years, 3 months ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.103.2.2: preferred, colored; branchpoint 1.103: preferred, colored; next MAIN 1.104: preferred, colored
Changes since revision 1.103.2.2: +180 -32 lines
update from HEAD

Revision 1.123.4.2: download - view: text, markup, annotated - select for diffs
Tue Oct 24 08:55:55 2017 UTC (7 years, 4 months ago) by snj
Branches: netbsd-8
CVS tags: matt-nb8-mediatek-base, matt-nb8-mediatek
Diff to: previous 1.123.4.1: preferred, colored; branchpoint 1.123: preferred, colored
Changes since revision 1.123.4.1: +2 -3 lines
Pull up following revision(s) (requested by ozaki-r in ticket #305):
	distrib/sets/lists/tests/mi: revision 1.762
	sys/net/route.c: revision 1.198-1.201
	sys/net/route.h: revision 1.114
	sys/netatalk/at_proto.c: revision 1.22
	sys/netinet/in_proto.c: revision 1.124
	sys/netinet6/in6_proto.c: revision 1.118
	sys/netmpls/mpls_proto.c: revision 1.31
	sys/netnatm/natm_proto.c: revision 1.18
	sys/rump/net/lib/libsockin/sockin.c: revision 1.65
	sys/sys/domain.h: revision 1.33
	tests/net/route/Makefile: revision 1.6
	tests/net/route/t_rtcache.sh: revision 1.1
Add tests of rtcache invalidation
Remove unnecessary NULL check of rt_ifp
It's always non-NULL.
Invalidate rtcache based on a global generation counter
The change introduces a global generation counter that is incremented when any
routes have been added or deleted. When a rtcache caches a rtentry into itself,
it also stores a snapshot of the generation counter. If the snapshot equals to
the global counter, the cache is still valid, otherwise invalidated.
One drawback of the change is that all rtcaches of all protocol families are
invalidated when any routes of any protocol families are added or deleted.
If that matters, we should have separate generation counters based on
protocol families.
This change removes LIST_ENTRY from struct route, which fixes a part of
PR kern/52515.
Remove the global lock for rtcache
Thanks to removal of LIST_ENTRY of struct route, rtcaches are accessed only by
their users. And in existing usages a rtcache is guranteed to be not accessed
simultaneously. So the rtcache framework doesn't need any exclusion controls
in itself.
Synchronize on rtcache_generation with rtlock
It's racy if NET_MPSAFE is enabled.
Pointed out by joerg@

Revision 1.123.4.1: download - view: text, markup, annotated - select for diffs
Sat Oct 21 19:43:54 2017 UTC (7 years, 4 months ago) by snj
Branches: netbsd-8
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +35 -2 lines
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.125: download - view: text, markup, annotated - select for diffs
Wed Sep 27 10:05:04 2017 UTC (7 years, 5 months ago) by ozaki-r
Branches: MAIN
CVS tags: tls-maxphys-base-20171202
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +35 -2 lines
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).

Revision 1.124: download - view: text, markup, annotated - select for diffs
Thu Sep 21 07:15:34 2017 UTC (7 years, 5 months ago) by ozaki-r
Branches: MAIN
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +2 -3 lines
Invalidate rtcache based on a global generation counter

The change introduces a global generation counter that is incremented when any
routes have been added or deleted. When a rtcache caches a rtentry into itself,
it also stores a snapshot of the generation counter. If the snapshot equals to
the global counter, the cache is still valid, otherwise invalidated.

One drawback of the change is that all rtcaches of all protocol families are
invalidated when any routes of any protocol families are added or deleted.
If that matters, we should have separate generation counters based on
protocol families.

This change removes LIST_ENTRY from struct route, which fixes a part of
PR kern/52515.

Revision 1.110.4.8: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:53:12 2017 UTC (7 years, 6 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110.4.7: preferred, colored; branchpoint 1.110: preferred, colored; next MAIN 1.111: preferred, colored
Changes since revision 1.110.4.7: +71 -15 lines
Sync with HEAD

Revision 1.120.2.2: download - view: text, markup, annotated - select for diffs
Wed Apr 26 02:53:29 2017 UTC (7 years, 10 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.120.2.1: preferred, colored; branchpoint 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120.2.1: +51 -5 lines
Sync with HEAD

Revision 1.120.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 21 16:54:05 2017 UTC (7 years, 10 months ago) by bouyer
Branches: bouyer-socketcan
Diff to: previous 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120: +71 -15 lines
Sync with HEAD

Revision 1.123: download - view: text, markup, annotated - select for diffs
Fri Apr 14 02:43:27 2017 UTC (7 years, 11 months ago) by ozaki-r
Branches: MAIN
CVS tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, bouyer-socketcan-base1
Branch point for: netbsd-8
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +51 -5 lines
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.

Revision 1.120.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 20 06:57:50 2017 UTC (8 years ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +22 -12 lines
Sync with HEAD

Revision 1.122: download - view: text, markup, annotated - select for diffs
Thu Feb 16 08:12:44 2017 UTC (8 years, 1 month ago) by knakahara
Branches: MAIN
CVS tags: pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +12 -2 lines
add l2tp(4) L2TPv3 interface.

originally implemented by IIJ SEIL team.

Revision 1.121: download - view: text, markup, annotated - select for diffs
Mon Feb 13 07:18:20 2017 UTC (8 years, 1 month ago) by ozaki-r
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +12 -12 lines
Protect mtudisc and redirect stuffs of icmp/icmp6 with mutex

We have to run pr_init of icmp and icmp6 prior to tcp and tcp6 ones
for mutex initialization.

Revision 1.110.4.7: download - view: text, markup, annotated - select for diffs
Sun May 29 08:44:38 2016 UTC (8 years, 9 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110.4.6: preferred, colored; branchpoint 1.110: preferred, colored
Changes since revision 1.110.4.6: +2 -3 lines
Sync with HEAD

Revision 1.120: download - view: text, markup, annotated - select for diffs
Tue Apr 26 08:44:44 2016 UTC (8 years, 10 months ago) by ozaki-r
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +2 -3 lines
Sweep unnecessary route.h inclusions

Revision 1.110.4.6: download - view: text, markup, annotated - select for diffs
Fri Apr 22 15:44:17 2016 UTC (8 years, 10 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110.4.5: preferred, colored; branchpoint 1.110: preferred, colored
Changes since revision 1.110.4.5: +2 -3 lines
Sync with HEAD

Revision 1.119: download - view: text, markup, annotated - select for diffs
Mon Apr 11 08:56:16 2016 UTC (8 years, 11 months ago) by ozaki-r
Branches: MAIN
CVS tags: nick-nhusb-base-20160422
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +2 -3 lines
Sweep unncessary radix.h inclusions

Revision 1.110.4.5: download - view: text, markup, annotated - select for diffs
Sat Mar 19 11:30:33 2016 UTC (9 years ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110.4.4: preferred, colored; branchpoint 1.110: preferred, colored
Changes since revision 1.110.4.4: +5 -16 lines
Sync with HEAD

Revision 1.118: download - view: text, markup, annotated - select for diffs
Thu Jan 21 15:41:30 2016 UTC (9 years, 1 month ago) by riastradh
Branches: MAIN
CVS tags: nick-nhusb-base-20160319
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +43 -108 lines
Revert previous: ran cvs commit when I meant cvs diff.  Sorry!

Hit up-arrow one too few times.

Revision 1.117: download - view: text, markup, annotated - select for diffs
Thu Jan 21 15:27:48 2016 UTC (9 years, 1 month ago) by riastradh
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +110 -45 lines
Give proper prototype to ip_output.

Revision 1.116: download - view: text, markup, annotated - select for diffs
Wed Jan 20 21:43:59 2016 UTC (9 years, 2 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +2 -13 lines
Eliminate struct protosw::pr_output.

You can't use this unless you know what it is a priori: the formal
prototype is variadic, and the different instances (e.g., ip_output,
route_output) have different real prototypes.

Convert the only user of it, raw_send in net/raw_cb.c, to take an
explicit callback argument.  Convert the only instances of it,
route_output and key_output, to such explicit callbacks for raw_send.
Use assertions to make sure the conversion to explicit callbacks is
warranted.

Discussed on tech-net with no objections:
https://mail-index.netbsd.org/tech-net/2016/01/16/msg005484.html

Revision 1.110.4.4: download - view: text, markup, annotated - select for diffs
Sun Dec 27 12:10:07 2015 UTC (9 years, 2 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110.4.3: preferred, colored; branchpoint 1.110: preferred, colored
Changes since revision 1.110.4.3: +49 -2 lines
Sync with HEAD (as of 26th Dec)

Revision 1.115: download - view: text, markup, annotated - select for diffs
Tue Oct 13 21:28:35 2015 UTC (9 years, 5 months ago) by rjs
Branches: MAIN
CVS tags: nick-nhusb-base-20151226
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +49 -2 lines
Add core networking support for SCTP.

Revision 1.110.4.3: download - view: text, markup, annotated - select for diffs
Tue Sep 22 12:06:11 2015 UTC (9 years, 5 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110.4.2: preferred, colored; branchpoint 1.110: preferred, colored
Changes since revision 1.110.4.2: +4 -7 lines
Sync with HEAD

Revision 1.114: download - view: text, markup, annotated - select for diffs
Mon Aug 31 08:05:20 2015 UTC (9 years, 6 months ago) by ozaki-r
Branches: MAIN
CVS tags: nick-nhusb-base-20150921
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +2 -7 lines
Replace ARP cache (llinfo) with lltable/llentry

Highlights of the change are:
- Use llentry instead of llinfo to manage ARP caches
  - ARP specific data are stored in the hashed list
    of an interface instead of the global list (llinfo_arp)
- Fine-grain locking on llentry
- arptimer (callout) per ARP cache
  - the global timer callout with the big locks can be
    removed (though softnet_lock is still required for now)
- net.inet.arp.prune is now obsoleted
  - it was the interval of the global timer callout
- net.inet.arp.refresh is now obsoleted
  - it was a parameter that prevents expiration of active caches
  - Removed to simplify the timer logic, but we may be able to
    restore the feature if really needed

Proposed on tech-kern and tech-net.

Revision 1.113: download - view: text, markup, annotated - select for diffs
Mon Aug 24 22:21:26 2015 UTC (9 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +4 -2 lines
sprinkle _KERNEL_OPT

Revision 1.110.4.2: download - view: text, markup, annotated - select for diffs
Sat Jun 6 14:40:25 2015 UTC (9 years, 9 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110.4.1: preferred, colored; branchpoint 1.110: preferred, colored
Changes since revision 1.110.4.1: +8 -5 lines
Sync with HEAD

Revision 1.112: download - view: text, markup, annotated - select for diffs
Sat May 2 14:41:32 2015 UTC (9 years, 10 months ago) by roy
Branches: MAIN
CVS tags: nick-nhusb-base-20150606
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +5 -2 lines
Add IPv4 address flags IN_IFF_TENTATIVE, IN_IFF_DUPLICATED and
IN_IFF_DETATCHED to mimic the IPv6 address behaviour.
Add SIOCGIFAFLAG_IN ioctl to retrieve the address flag via the
ifreq structure.
Add IPv4 DAD detection via the ARP methods described in RFC 5227.
Add sysctls net.inet.ip.dad_count and net.inet.arp.debug.

Discussed on tech-net@

Revision 1.110.4.1: download - view: text, markup, annotated - select for diffs
Mon Apr 6 15:18:23 2015 UTC (9 years, 11 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +28 -2 lines
Sync with HEAD

Revision 1.111: download - view: text, markup, annotated - select for diffs
Tue Feb 10 19:11:52 2015 UTC (10 years, 1 month ago) by rjs
Branches: MAIN
CVS tags: nick-nhusb-base-20150406
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +28 -2 lines
Add DCCP protocol support from KAME.

Revision 1.103.2.2: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:04:35 2014 UTC (10 years, 7 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.103.2.1: preferred, colored; branchpoint 1.103: preferred, colored
Changes since revision 1.103.2.1: +15 -24 lines
Rebase to HEAD as of a few days ago.

Revision 1.108.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 10 06:56:25 2014 UTC (10 years, 7 months ago) by tls
Branches: tls-earlyentropy
Diff to: previous 1.108: preferred, colored; next MAIN 1.109: preferred, colored
Changes since revision 1.108: +16 -25 lines
Rebase.

Revision 1.110: download - view: text, markup, annotated - select for diffs
Thu Jun 5 23:48:16 2014 UTC (10 years, 9 months ago) by rmind
Branches: MAIN
CVS tags: tls-maxphys-base, tls-earlyentropy-base, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, 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-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +4 -6 lines
- Implement pktqueue interface for lockless IP input queue.
- Replace ipintrq and ip6intrq with the pktqueue mechanism.
- Eliminate kernel-lock from ipintr() and ip6intr().
- Some preparation work to push softnet_lock out of ipintr().

Discussed on tech-net.

Revision 1.101.4.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:09 2014 UTC (10 years, 10 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.101.4.1: preferred, colored; branchpoint 1.101: preferred, colored; next MAIN 1.102: preferred, colored
Changes since revision 1.101.4.1: +8 -77 lines
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.106.2.3: download - view: text, markup, annotated - select for diffs
Sun May 18 17:46:13 2014 UTC (10 years, 10 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.106.2.2: preferred, colored; branchpoint 1.106: preferred, colored; next MAIN 1.107: preferred, colored
Changes since revision 1.106.2.2: +3 -3 lines
sync with head

Revision 1.109: download - view: text, markup, annotated - select for diffs
Sun May 18 14:46:16 2014 UTC (10 years, 10 months ago) by rmind
Branches: MAIN
CVS tags: rmind-smpnet-nbase, rmind-smpnet-base
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +15 -22 lines
Add struct pr_usrreqs with a pr_generic function and prepare for the
dismantling of pr_usrreq in the protocols; no functional change intended.
PRU_ATTACH/PRU_DETACH changes will follow soon.

Bump for struct protosw.  Welcome to 6.99.62!

Revision 1.108: download - view: text, markup, annotated - select for diffs
Thu Mar 20 20:44:15 2014 UTC (11 years ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-base9, riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Branch point for: tls-earlyentropy
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +3 -2 lines
need compat header.

Revision 1.107: download - view: text, markup, annotated - select for diffs
Thu Jan 2 18:29:01 2014 UTC (11 years, 2 months ago) by pooka
Branches: MAIN
CVS tags: riastradh-drm2-base3
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +2 -3 lines
Allow kernels compiled with INET+INET6 to be booted as IPv4-only or IPv6-only.

Revision 1.106.2.2: download - view: text, markup, annotated - select for diffs
Wed Aug 28 15:21:48 2013 UTC (11 years, 6 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.106.2.1: preferred, colored; branchpoint 1.106: preferred, colored
Changes since revision 1.106.2.1: +14 -22 lines
Checkpoint work in progress:
- Initial split of the protocol user-request method into the following
  methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq.
- Adjust socreate(9) and sonewconn(9) to call pr_attach without the
  socket lock held (as a preparation for the locking scheme adjustment).
- Adjust all pr_attach routines to assert that PCB is not set.
- Sprinkle various comments, document some routines and their locking.
- Remove M_PCB, replace with kmem(9).
- Fix few bugs spotted on the way.

Revision 1.106.2.1: download - view: text, markup, annotated - select for diffs
Wed Jul 17 03:16:31 2013 UTC (11 years, 8 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +3 -2 lines
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.103.2.1: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:20:25 2013 UTC (11 years, 8 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +7 -76 lines
resync from head

Revision 1.106: download - view: text, markup, annotated - select for diffs
Wed Jun 5 19:01:26 2013 UTC (11 years, 9 months ago) by christos
Branches: MAIN
CVS tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +7 -7 lines
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.105: download - view: text, markup, annotated - select for diffs
Sat Mar 2 02:42:22 2013 UTC (12 years ago) by christos
Branches: MAIN
CVS tags: khorben-n900, agc-symver-base, agc-symver
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +2 -5 lines
Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.

Revision 1.104: download - view: text, markup, annotated - select for diffs
Fri Mar 1 18:25:58 2013 UTC (12 years ago) by joerg
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +2 -68 lines
Retire OSI network stack. OK core@

Revision 1.101.4.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:08:40 2012 UTC (12 years, 11 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +3 -39 lines
sync with head

Revision 1.101.8.2: download - view: text, markup, annotated - select for diffs
Thu Apr 5 21:33:43 2012 UTC (12 years, 11 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.101.8.1: preferred, colored; branchpoint 1.101: preferred, colored; next MAIN 1.102: preferred, colored
Changes since revision 1.101.8.1: +3 -39 lines
sync to latest -current.

Revision 1.103: download - view: text, markup, annotated - select for diffs
Thu Mar 22 20:34:38 2012 UTC (13 years ago) by drochner
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base10
Branch point for: tls-maxphys
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +3 -39 lines
remove KAME IPSEC, replaced by FAST_IPSEC

Revision 1.101.8.1: download - view: text, markup, annotated - select for diffs
Sat Feb 18 07:35:39 2012 UTC (13 years, 1 month ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +7 -7 lines
merge to -current.

Revision 1.102: download - view: text, markup, annotated - select for diffs
Mon Dec 19 11:59:56 2011 UTC (13 years, 3 months ago) by drochner
Branches: 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-1, 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, netbsd-6-0, netbsd-6, 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
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +7 -7 lines
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.99.6.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:09:55 2011 UTC (13 years, 9 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.99: preferred, colored; next MAIN 1.100: preferred, colored
Changes since revision 1.99: +7 -5 lines
Sync with HEAD.

Revision 1.99.4.2: download - view: text, markup, annotated - select for diffs
Tue May 31 03:05:07 2011 UTC (13 years, 9 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.99.4.1: preferred, colored; branchpoint 1.99: preferred, colored; next MAIN 1.100: preferred, colored
Changes since revision 1.99.4.1: +4 -2 lines
sync with head

Revision 1.101: download - view: text, markup, annotated - select for diffs
Tue May 3 17:44:31 2011 UTC (13 years, 10 months ago) by dyoung
Branches: 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
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +6 -4 lines
*_drain() routines may be called with locks held, so instead of doing
any work in *_drain(), set a drain-needed flag.  Do the work in the
fasttimo handler.

Contributed by Coyote Point Systems, Inc.

Revision 1.99.4.1: download - view: text, markup, annotated - select for diffs
Thu Apr 21 01:42:14 2011 UTC (13 years, 11 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +3 -3 lines
sync with head

Revision 1.100: download - view: text, markup, annotated - select for diffs
Thu Mar 31 19:40:52 2011 UTC (13 years, 11 months ago) by dyoung
Branches: MAIN
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +3 -3 lines
Hide the radix-trie implementation of the forwarding table so that we
will have an easier time replacing it with something different, even if
it is a second radix-trie implementation.

sys/net/route.c and sys/net/rtsock.c no longer operate directly on
radix_nodes or radix_node_heads.

Hopefully this will reduce the temptation to implement multipath or
source-based routing using grotty hacks to the grotty old radix-trie
code, too. :-)

Revision 1.94.2.3: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:04:28 2010 UTC (15 years ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.94.2.2: preferred, colored; branchpoint 1.94: preferred, colored; next MAIN 1.95: preferred, colored
Changes since revision 1.94.2.2: +3 -2 lines
sync with head

Revision 1.99: download - view: text, markup, annotated - select for diffs
Wed Sep 16 15:23:05 2009 UTC (15 years, 6 months ago) by pooka
Branches: 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-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: rmind-uvmplock, jruoho-x86intr
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +3 -2 lines
Replace a large number of link set based sysctl node creations with
calls from subsystem constructors.  Benefits both future kernel
modules and rump.

no change to sysctl nodes on i386/MONOLITHIC & build tested i386/ALL

Revision 1.94.2.2: download - view: text, markup, annotated - select for diffs
Wed Sep 16 13:38:02 2009 UTC (15 years, 6 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.94.2.1: preferred, colored; branchpoint 1.94: preferred, colored
Changes since revision 1.94.2.1: +19 -2 lines
sync with head

Revision 1.98: download - view: text, markup, annotated - select for diffs
Mon Sep 14 10:36:50 2009 UTC (15 years, 6 months ago) by degroote
Branches: MAIN
CVS tags: yamt-nfs-mp-base8
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +19 -2 lines
Import pfsync support from OpenBSD 4.2

Pfsync interface exposes change in the pf(4) over a pseudo-interface, and can
be used to synchronise different pf.

This work was part of my 2009 GSoC

No objection on tech-net@

Revision 1.96.2.1: download - view: text, markup, annotated - select for diffs
Wed May 13 17:22:28 2009 UTC (15 years, 10 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.96: preferred, colored; next MAIN 1.97: preferred, colored
Changes since revision 1.96: +3 -2 lines
Sync with HEAD.

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

Revision 1.94.2.1: download - view: text, markup, annotated - select for diffs
Mon May 4 08:14:17 2009 UTC (15 years, 10 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +6 -3 lines
sync with head.

Revision 1.94.10.2: download - view: text, markup, annotated - select for diffs
Tue Mar 3 18:33:38 2009 UTC (16 years ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.94.10.1: preferred, colored; branchpoint 1.94: preferred, colored; next MAIN 1.95: preferred, colored
Changes since revision 1.94.10.1: +4 -2 lines
Sync with HEAD.

Revision 1.97: download - view: text, markup, annotated - select for diffs
Sat Feb 28 18:31:12 2009 UTC (16 years ago) by pooka
Branches: MAIN
CVS tags: 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-base2, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend-base
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +3 -2 lines
include opt_gateway

Revision 1.96: download - view: text, markup, annotated - select for diffs
Sun Feb 1 17:04:11 2009 UTC (16 years, 1 month ago) by pooka
Branches: MAIN
Branch point for: jym-xensuspend
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +3 -2 lines
Init ipflow pool dynamically instead of using a linkset.

Revision 1.94.10.1: download - view: text, markup, annotated - select for diffs
Mon Jan 19 13:20:13 2009 UTC (16 years, 2 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +4 -3 lines
Sync with HEAD.

Revision 1.91.18.2: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:29:32 2009 UTC (16 years, 2 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.91.18.1: preferred, colored; branchpoint 1.91: preferred, colored; next MAIN 1.92: preferred, colored
Changes since revision 1.91.18.1: +2 -1 lines
Sync with HEAD.

Revision 1.94.8.1: download - view: text, markup, annotated - select for diffs
Sat Dec 13 01:15:26 2008 UTC (16 years, 3 months ago) by haad
Branches: haad-dm
Diff to: previous 1.94: preferred, colored; next MAIN 1.95: preferred, colored
Changes since revision 1.94: +4 -3 lines
Update haad-dm branch to haad-dm-base2.

Revision 1.95: download - view: text, markup, annotated - select for diffs
Tue Nov 25 18:28:05 2008 UTC (16 years, 3 months ago) by pooka
Branches: MAIN
CVS tags: mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +4 -3 lines
Make dom_maxrtkey of inet/inet6domain the size of the ip_encap pack
structures.  This is far from optimal, but gets rid of iffy
#ifdef INET in radix.c.  The radix bonsai still needs lots of love
before loading domains dynamically is possible...

Revision 1.91.18.1: download - view: text, markup, annotated - select for diffs
Mon Jun 2 13:24:24 2008 UTC (16 years, 9 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +60 -2 lines
Sync with HEAD.

Revision 1.92.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:35:28 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92: +59 -2 lines
sync with head.

Revision 1.94: download - view: text, markup, annotated - select for diffs
Thu Apr 24 11:38:37 2008 UTC (16 years, 10 months ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, yamt-nfs-mp-base, 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, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, 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, netbsd-5-1, 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, netbsd-5-0, netbsd-5, 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-dm-base1
Branch point for: yamt-nfs-mp, nick-hppapmap, haad-dm
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +56 -2 lines
Merge the socket locking patch:

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

With much feedback from matt@ and plunky@.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Wed Apr 23 06:09:04 2008 UTC (16 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +5 -2 lines
Make IPSEC and FAST_IPSEC stats per-cpu.  Use <net/net_stats.h> and
netstat_sysctl().

Revision 1.92: download - view: text, markup, annotated - select for diffs
Tue Apr 15 16:02:03 2008 UTC (16 years, 11 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +3 -2 lines
Make IGMP stats per-cpu.

Revision 1.87.8.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:33:47 2007 UTC (17 years, 4 months ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.87: preferred, colored; next MAIN 1.88: preferred, colored
Changes since revision 1.87: +44 -33 lines
sync with HEAD

Revision 1.69.2.4: download - view: text, markup, annotated - select for diffs
Sat Oct 27 11:36:07 2007 UTC (17 years, 4 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.3: preferred, colored; branchpoint 1.69: preferred, colored; next MAIN 1.70: preferred, colored
Changes since revision 1.69.2.3: +45 -29 lines
sync with head.

Revision 1.83.2.3: download - view: text, markup, annotated - select for diffs
Tue Oct 9 13:44:48 2007 UTC (17 years, 5 months ago) by ad
Branches: vmlocking
Diff to: previous 1.83.2.2: preferred, colored; branchpoint 1.83: preferred, colored; next MAIN 1.84: preferred, colored
Changes since revision 1.83.2.2: +44 -33 lines
Sync with head.

Revision 1.87.6.3: download - view: text, markup, annotated - select for diffs
Sun Oct 7 13:25:09 2007 UTC (17 years, 5 months ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.87.6.2: preferred, colored; branchpoint 1.87: preferred, colored; next MAIN 1.88: preferred, colored
Changes since revision 1.87.6.2: +2 -29 lines
Sync with HEAD.

Revision 1.90.2.1: download - view: text, markup, annotated - select for diffs
Sat Oct 6 15:29:02 2007 UTC (17 years, 5 months ago) by yamt
Branches: yamt-x86pmap
Diff to: previous 1.90: preferred, colored; next MAIN 1.91: preferred, colored
Changes since revision 1.90: +2 -29 lines
sync with head.

Revision 1.91: download - view: text, markup, annotated - select for diffs
Fri Oct 5 03:28:13 2007 UTC (17 years, 5 months ago) by dyoung
Branches: MAIN
CVS tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, mjf-devfs, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-base, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-socklock-base1
Branch point for: mjf-devfs2
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +2 -29 lines
Work in progress: use a raw socket for GRE in IP encapsulation
instead of adding/subtracting our own IPv4 header.

There are many benefits:  gre(4) needn't grok the outer encapsulation
header any longer, so this simplifies the gre(4) code.  The IP
stack needn't grok GRE, so it is simplified, too.  gre(4) will
benefit from optimizations in the socket code.  Eventually, gre(4)
will gain an IPv6 encapsulation with very few new lines of code.

There is a small performance loss.  A 133 MHz, 486-class AMD Elan
sinks/sources a TCP stream over GRE with about 93% the throughput
of the old code.  TCP throughput on a 266 MHz, 586-class AMD Geode
is about 96% the throughput of the old code.  A 175-MHz ADM5120
(MIPS) only sinks a TCP stream over GRE at about 90% of the old
code; I am still investigating that.

I produced stripped-down versions of sosend() and soreceive() for
gre(4) to use.  They are guaranteed not to block, so they can be
called from a software interrupt and from a socket upcall,
respectively.

A kernel thread is no longer necessary for socket transmit/receive,
but I didn't get around to removing it, yet.

Thanks to Matt Thomas for suggesting the use of stripped-down socket
code and software interrupts, and to Andrew Doran for advice and
answers concerning software interrupts, threads, and performance.

Revision 1.87.6.2: download - view: text, markup, annotated - select for diffs
Tue Oct 2 18:29:18 2007 UTC (17 years, 5 months ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.87.6.1: preferred, colored; branchpoint 1.87: preferred, colored
Changes since revision 1.87.6.1: +45 -2 lines
Sync with HEAD.

Revision 1.90: download - view: text, markup, annotated - select for diffs
Wed Sep 19 18:52:55 2007 UTC (17 years, 6 months ago) by dyoung
Branches: MAIN
CVS tags: yamt-x86pmap-base
Branch point for: yamt-x86pmap
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +3 -3 lines
Don't use INADDR_ANY to initialize a const struct, because INADDR_ANY
is not necessarily const.

Revision 1.89: download - view: text, markup, annotated - select for diffs
Wed Sep 19 04:33:43 2007 UTC (17 years, 6 months ago) by dyoung
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +45 -2 lines
1) Introduce a new socket option, (SOL_SOCKET, SO_NOHEADER), that
   tells a socket that it should both add a protocol header to tx'd
   datagrams and remove the header from rx'd datagrams:

        int onoff = 1, s = socket(...);
        setsockopt(s, SOL_SOCKET, SO_NOHEADER, &onoff);

2) Add an implementation of (SOL_SOCKET, SO_NOHEADER) for raw IPv4
   sockets.

3) Reorganize the protocols' pr_ctloutput implementations a bit.
   Consistently return ENOPROTOOPT when an option is unsupported,
   and EINVAL if a supported option's arguments are incorrect.
   Reorganize the flow of code so that it's more clear how/when
   options are passed down the stack until they are handled.

   Shorten some pr_ctloutput staircases for readability.

4) Extract common mbuf code into subroutines, add new sockaddr
   methods, and introduce a new subroutine, fsocreate(), for reuse
   later; use it first in sys_socket():

struct mbuf *m_getsombuf(struct socket *so)

        Create an mbuf and make its owner the socket `so'.

struct mbuf *m_intopt(struct socket *so, int val)

        Create an mbuf, make its owner the socket `so', put the
        int `val' into it, and set its length to sizeof(int).


int fsocreate(..., int *fd)

        Create a socket, a la socreate(9), put the socket into the
        given LWP's descriptor table, return the descriptor at `fd'
        on success.

void *sockaddr_addr(struct sockaddr *sa, socklen_t *slenp)
const void *sockaddr_const_addr(const struct sockaddr *sa, socklen_t *slenp)

        Extract a pointer to the address part of a sockaddr.  Write
        the length of the address  part at `slenp', if `slenp' is
        not NULL.

socklen_t sockaddr_getlen(const struct sockaddr *sa)

        Return the length of a sockaddr.  This just evaluates to
        sa->sa_len.  I only add this for consistency with code that
        appears in a portable userland library that I am going to
        import.

const struct sockaddr *sockaddr_any(const struct sockaddr *sa)

        Return the "don't care" sockaddr in the same family as
        `sa'.  This is the address a client should sobind(9) if it
        does not care the source address and, if applicable, the
        port et cetera that it uses.

const void *sockaddr_anyaddr(const struct sockaddr *sa, socklen_t *slenp)

        Return the "don't care" sockaddr in the same family as
        `sa'.  This is the address a client should sobind(9) if it
        does not care the source address and, if applicable, the
        port et cetera that it uses.

Revision 1.87.6.1: download - view: text, markup, annotated - select for diffs
Mon Sep 3 16:49:02 2007 UTC (17 years, 6 months ago) by jmcneill
Branches: jmcneill-pm
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +2 -7 lines
Sync with HEAD.

Revision 1.69.2.3: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:42:48 2007 UTC (17 years, 6 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.2: preferred, colored; branchpoint 1.69: preferred, colored
Changes since revision 1.69.2.2: +235 -111 lines
sync with head.

Revision 1.87.2.1: download - view: text, markup, annotated - select for diffs
Mon Sep 3 10:23:43 2007 UTC (17 years, 6 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.87: preferred, colored; next MAIN 1.88: preferred, colored
Changes since revision 1.87: +2 -7 lines
Sync with HEAD.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Thu Aug 30 02:17:37 2007 UTC (17 years, 6 months ago) by dyoung
Branches: MAIN
CVS tags: nick-csl-alignment-base5
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +2 -7 lines
Use malloc(9) for sockaddrs instead of pool(9), and remove dom_sa_pool
and dom_sa_len members from struct domain.  Pools of fixed-size
objects are too rigid for sockaddr_dls, whose size can vary over
a wide range.

Return sockaddr_dl to its "historical" size.  Now that I'm using
malloc(9) instead of pool(9) to allocate sockaddr_dl, I can create
a sockaddr_dl of any size in the kernel, so expanding sockaddr_dl
is useless.

Avoid using sizeof(struct sockaddr_dl) in the kernel.

Introduce sockaddr_dl_alloc() for allocating & initializing an
arbitrary sockaddr_dl on the heap.

Add an argument, the sockaddr length, to sockaddr_alloc(),
sockaddr_copy(), and sockaddr_dl_setaddr().

Constify: LLADDR() -> CLLADDR().

Where the kernel overwrites LLADDR(), use sockaddr_dl_setaddr(),
instead.  Used properly, sockaddr_dl_setaddr() will not overrun
the end of the sockaddr.

Revision 1.83.2.2: download - view: text, markup, annotated - select for diffs
Sun Jul 15 13:27:56 2007 UTC (17 years, 8 months ago) by ad
Branches: vmlocking
Diff to: previous 1.83.2.1: preferred, colored; branchpoint 1.83: preferred, colored
Changes since revision 1.83.2.1: +3 -3 lines
Sync with head.

Revision 1.83.4.1: download - view: text, markup, annotated - select for diffs
Wed Jul 11 20:11:21 2007 UTC (17 years, 8 months ago) by mjf
Branches: mjf-ufs-trans
Diff to: previous 1.83: preferred, colored; next MAIN 1.84: preferred, colored
Changes since revision 1.83: +33 -7 lines
Sync with head.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Wed Jun 13 21:08:29 2007 UTC (17 years, 9 months ago) by dyoung
Branches: MAIN
CVS tags: nick-csl-alignment-base, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: nick-csl-alignment, matt-armv6, jmcneill-pm
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +3 -3 lines
Use __arraycount().

Revision 1.83.2.1: download - view: text, markup, annotated - select for diffs
Fri Jun 8 14:17:45 2007 UTC (17 years, 9 months ago) by ad
Branches: vmlocking
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +32 -6 lines
Sync with head.

Revision 1.80.2.2: download - view: text, markup, annotated - select for diffs
Mon May 7 10:55:58 2007 UTC (17 years, 10 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.80.2.1: preferred, colored; branchpoint 1.80: preferred, colored; next MAIN 1.81: preferred, colored
Changes since revision 1.80.2.1: +32 -6 lines
sync with head.

Revision 1.86: download - view: text, markup, annotated - select for diffs
Sun May 6 02:56:37 2007 UTC (17 years, 10 months ago) by dyoung
Branches: MAIN
CVS tags: yamt-idlelwp-base8
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +4 -2 lines
In AppleTalk, IPv4, and IPv6 routing domains, help sockaddr_cmp()
avoid an indirect function call by comparing the family, length,
and bytes [dom->dom_sa_cmpofs, dom->dom_sa_cmpofs + dom->dom_sa_cmplen),
corresponding to the the sockaddrs' "address" members.

For ISO, actually use sockaddr_iso_cmp, for a change.  Thanks to
yamt@ for pointing out my error.

Revision 1.85: download - view: text, markup, annotated - select for diffs
Wed May 2 22:39:03 2007 UTC (17 years, 10 months ago) by dyoung
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +2 -3 lines
Remove obsolete files netinet/in_route.[ch].

Revision 1.84: download - view: text, markup, annotated - select for diffs
Wed May 2 20:40:24 2007 UTC (17 years, 10 months ago) by dyoung
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +30 -5 lines
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.80.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 12 05:59:36 2007 UTC (18 years ago) by rmind
Branches: yamt-idlelwp
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +209 -106 lines
Sync with HEAD.

Revision 1.83: download - view: text, markup, annotated - select for diffs
Mon Mar 5 00:50:53 2007 UTC (18 years ago) by liamjfoy
Branches: MAIN
CVS tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +8 -2 lines
Move ipflow_slowtimo from ip_slowtimo and into in_proto.c

ok matt@

Revision 1.82: download - view: text, markup, annotated - select for diffs
Sun Mar 4 23:53:36 2007 UTC (18 years ago) by liamjfoy
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +3 -3 lines
inet6domain -> inetdomain

thanks simon

Revision 1.81: download - view: text, markup, annotated - select for diffs
Sun Mar 4 20:17:05 2007 UTC (18 years ago) by liamjfoy
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +203 -106 lines
Initialize protocol switch with structure initializers.

ok christos@

Revision 1.76.2.2: download - view: text, markup, annotated - select for diffs
Fri Jan 12 01:04:14 2007 UTC (18 years, 2 months ago) by ad
Branches: newlock2
Diff to: previous 1.76.2.1: preferred, colored; branchpoint 1.76: preferred, colored; next MAIN 1.77: preferred, colored
Changes since revision 1.76.2.1: +27 -16 lines
Sync with head.

Revision 1.69.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 20:50:33 2006 UTC (18 years, 2 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.1: preferred, colored; branchpoint 1.69: preferred, colored
Changes since revision 1.69.2.1: +48 -37 lines
sync with head.

Revision 1.76.4.2: download - view: text, markup, annotated - select for diffs
Sun Dec 10 07:19:10 2006 UTC (18 years, 3 months ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.76.4.1: preferred, colored; branchpoint 1.76: preferred, colored; next MAIN 1.77: preferred, colored
Changes since revision 1.76.4.1: +31 -12 lines
sync with head.

Revision 1.80: download - view: text, markup, annotated - select for diffs
Sat Dec 9 05:33:04 2006 UTC (18 years, 3 months ago) by dyoung
Branches: MAIN
CVS tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +19 -12 lines
Here are various changes designed to protect against bad IPv4
routing caused by stale route caches (struct route).  Route caches
are sprinkled throughout PCBs, the IP fast-forwarding table, and
IP tunnel interfaces (gre, gif, stf).

Stale IPv6 and ISO route caches will be treated by separate patches.

Thank you to Christoph Badura for suggesting the general approach
to invalidating route caches that I take here.

Here are the details:

Add hooks to struct domain for tracking and for invalidating each
domain's route caches: dom_rtcache, dom_rtflush, and dom_rtflushall.

Introduce helper subroutines, rtflush(ro) for invalidating a route
cache, rtflushall(family) for invalidating all route caches in a
routing domain, and rtcache(ro) for notifying the domain of a new
cached route.

Chain together all IPv4 route caches where ro_rt != NULL.  Provide
in_rtcache() for adding a route to the chain.  Provide in_rtflush()
and in_rtflushall() for invalidating IPv4 route caches.  In
in_rtflush(), set ro_rt to NULL, and remove the route from the
chain.  In in_rtflushall(), walk the chain and remove every route
cache.

In rtrequest1(), call rtflushall() to invalidate route caches when
a route is added.

In gif(4), discard the workaround for stale caches that involves
expiring them every so often.

Replace the pattern 'RTFREE(ro->ro_rt); ro->ro_rt = NULL;' with a
call to rtflush(ro).

Update ipflow_fastforward() and all other users of route caches so
that they expect a cached route, ro->ro_rt, to turn to NULL.

Take care when moving a 'struct route' to rtflush() the source and
to rtcache() the destination.

In domain initializers, use .dom_xxx tags.

KNF here and there.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Thu Nov 23 04:07:07 2006 UTC (18 years, 4 months ago) by rpaulo
Branches: MAIN
CVS tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-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, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +10 -6 lines
New EtherIP driver based on tap(4) and gif(4) by Hans Rosenfeld.
Notable changes:
	* Fixes PR 34268.
	* Separates the code from gif(4) (which is more cleaner).
	* Allows the usage of STP (Spanning Tree Protocol).
	* Removed EtherIP implementation from gif(4)/tap(4).

Some input from Christos.

Revision 1.76.2.1: download - view: text, markup, annotated - select for diffs
Sat Nov 18 21:39:36 2006 UTC (18 years, 4 months ago) by ad
Branches: newlock2
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +12 -4 lines
Sync with head.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Mon Nov 13 05:13:42 2006 UTC (18 years, 4 months ago) by dyoung
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +11 -3 lines
Add a source-address selection policy mechanism to the kernel.

Also, add ioctls SIOCGIFADDRPREF/SIOCSIFADDRPREF to get/set preference
numbers for addresses.  Make ifconfig(8) set/display preference
numbers.

To activate source-address selection policies in your kernel, add
'options IPSELSRC' to your kernel configuration.

Miscellaneous changes in support of source-address selection:

        1 Factor out some common code, producing rt_replace_ifa().

        2 Abbreviate a for-loop with TAILQ_FOREACH().

        3 Add the predicates on IPv4 addresses IN_LINKLOCAL() and
          IN_PRIVATE(), that are true for link-local unicast
          (169.254/16) and RFC1918 private addresses, respectively.
          Add the predicate IN_ANY_LOCAL() that is true for link-local
          unicast and multicast.

        4 Add IPv4-specific interface attach/detach routines,
          in_domifattach and in_domifdetach, which build #ifdef
          IPSELSRC.

See in_getifa(9) for a more thorough description of source-address
selection policy.

Revision 1.76.4.1: download - view: text, markup, annotated - select for diffs
Sun Oct 22 06:07:28 2006 UTC (18 years, 5 months ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +3 -3 lines
sync with head

Revision 1.77: download - view: text, markup, annotated - select for diffs
Tue Oct 10 21:49:14 2006 UTC (18 years, 5 months ago) by dogcow
Branches: MAIN
CVS tags: yamt-splraiseipl-base2
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +3 -3 lines
change the MOWNER_INIT define to take two args; fix extant struct mowner
decls to use it. Makes options MBUFTRACE compile again and not whinge about
missing structure declarations. (Also makes initialization consistent.)

Revision 1.71.8.3: download - view: text, markup, annotated - select for diffs
Thu Sep 14 12:31:55 2006 UTC (18 years, 6 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.71.8.2: preferred, colored; branchpoint 1.71: preferred, colored; next MAIN 1.72: preferred, colored
Changes since revision 1.71.8.2: +2 -15 lines
sync with head.

Revision 1.71.4.1: download - view: text, markup, annotated - select for diffs
Sat Sep 9 02:58:47 2006 UTC (18 years, 6 months ago) by rpaulo
Branches: rpaulo-netinet-merge-pcb
Diff to: previous 1.71: preferred, colored; next MAIN 1.72: preferred, colored
Changes since revision 1.71: +36 -32 lines
sync with head

Revision 1.76: download - view: text, markup, annotated - select for diffs
Thu Sep 7 02:40:33 2006 UTC (18 years, 6 months ago) by dogcow
Branches: MAIN
CVS tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, newlock2
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +2 -15 lines
remove more vestiges of CCITT, LLC, HDLC, NS, and NSIP.

Revision 1.71.8.2: download - view: text, markup, annotated - select for diffs
Sun Sep 3 15:25:42 2006 UTC (18 years, 6 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.71.8.1: preferred, colored; branchpoint 1.71: preferred, colored
Changes since revision 1.71.8.1: +25 -20 lines
sync with head.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Wed Aug 30 17:05:30 2006 UTC (18 years, 6 months ago) by christos
Branches: MAIN
CVS tags: yamt-pdpolicy-base8
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +5 -3 lines
add missing initializers

Revision 1.74: download - view: text, markup, annotated - select for diffs
Mon Aug 28 02:53:03 2006 UTC (18 years, 6 months ago) by christos
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +15 -16 lines
Remove excess initializer.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Fri Aug 25 19:33:50 2006 UTC (18 years, 6 months ago) by matt
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +10 -6 lines
One step closer to loadable domains.  Store pointers to a domain's soft
interrupt queues so if_detach can remove packets to removed interfaces from
them.  This eliminates a lot of conditional ugly code in if.c

Revision 1.69.2.1: download - view: text, markup, annotated - select for diffs
Wed Jun 21 15:11:01 2006 UTC (18 years, 9 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +17 -5 lines
sync with head.

Revision 1.71.6.1: download - view: text, markup, annotated - select for diffs
Thu Jun 1 22:38:46 2006 UTC (18 years, 9 months ago) by kardel
Branches: simonb-timecounters
CVS tags: simonb-timcounters-final
Diff to: previous 1.71: preferred, colored; next MAIN 1.72: preferred, colored
Changes since revision 1.71: +14 -2 lines
Sync with head.

Revision 1.71.12.1: download - view: text, markup, annotated - select for diffs
Wed May 24 15:50:44 2006 UTC (18 years, 10 months ago) by tron
Branches: peter-altq
Diff to: previous 1.71: preferred, colored; next MAIN 1.72: preferred, colored
Changes since revision 1.71: +14 -2 lines
Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.71.8.1: download - view: text, markup, annotated - select for diffs
Wed May 24 10:59:03 2006 UTC (18 years, 10 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +14 -2 lines
sync with head.

Revision 1.72: download - view: text, markup, annotated - select for diffs
Thu May 18 09:05:51 2006 UTC (18 years, 10 months ago) by liamjfoy
Branches: MAIN
CVS tags: yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +14 -2 lines
Integrate Common Address Redundancy Procotol (CARP) from OpenBSD

'pseudo-device	carp'

Thanks to: joerg@ christos@ riz@ and others who tested
Ok: core@

Revision 1.71: download - view: text, markup, annotated - select for diffs
Sun Dec 11 12:24:57 2005 UTC (19 years, 3 months ago) by christos
Branches: MAIN
CVS tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, elad-kernelauth-base, elad-kernelauth
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +2 -2 lines
merge ktrace-lwp.

Revision 1.58.6.7: download - view: text, markup, annotated - select for diffs
Thu Nov 10 14:11:07 2005 UTC (19 years, 4 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.58.6.6: preferred, colored; branchpoint 1.58: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58.6.6: +6 -5 lines
Sync with HEAD. Here we go again...

Revision 1.68.4.1: download - view: text, markup, annotated - select for diffs
Mon Aug 15 19:05:04 2005 UTC (19 years, 7 months ago) by tron
Branches: 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
Diff to: previous 1.68: preferred, colored; next MAIN 1.69: preferred, colored
Changes since revision 1.68: +5 -5 lines
Pull up revision 1.70 (requested by gdt in ticket #661):
Add PR_PURGEIF flag for protocols to indicate that the protocol might
store a struct ifnet *, and define it for udp/tcp/rawip for INET and
INET6.  When deleting a struct ifnet, invoke PRU_PURGEIF on all
protocols marked with PR_PURGEIF.  Closes PR kern/29580 (mine).

Revision 1.70: download - view: text, markup, annotated - select for diffs
Tue Jul 19 12:58:24 2005 UTC (19 years, 8 months ago) by gdt
Branches: 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
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +5 -5 lines
Add PR_PURGEIF flag for protocols to indicate that the protocol might
store a struct ifnet *, and define it for udp/tcp/rawip for INET and
INET6.  When deleting a struct ifnet, invoke PRU_PURGEIF on all
protocols marked with PR_PURGEIF.  Closes PR kern/29580 (mine).

Revision 1.65.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 29 11:29:33 2005 UTC (19 years, 10 months ago) by kent
Branches: kent-audio2
Diff to: previous 1.65: preferred, colored; next MAIN 1.66: preferred, colored
Changes since revision 1.65: +16 -4 lines
sync with -current

Revision 1.69: download - view: text, markup, annotated - select for diffs
Fri Apr 29 10:39:09 2005 UTC (19 years, 10 months ago) by yamt
Branches: MAIN
CVS tags: kent-audio2-base
Branch point for: yamt-lazymbuf
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +3 -2 lines
move decl of inetsw to its own header to avoid array of incomplete type.
found by gcc4.  reported by Adam Ciarcinski.

Revision 1.58.6.6: download - view: text, markup, annotated - select for diffs
Tue Feb 15 21:33:39 2005 UTC (20 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.58.6.5: preferred, colored; branchpoint 1.58: preferred, colored
Changes since revision 1.58.6.5: +3 -3 lines
Sync with HEAD.

Revision 1.66.2.1: download - view: text, markup, annotated - select for diffs
Sat Feb 12 18:17:54 2005 UTC (20 years, 1 month ago) by yamt
Branches: yamt-km
Diff to: previous 1.66: preferred, colored; next MAIN 1.67: preferred, colored
Changes since revision 1.66: +12 -3 lines
sync with head.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Sat Feb 12 12:31:07 2005 UTC (20 years, 1 month ago) by manu
Branches: MAIN
CVS tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, netbsd-3-base
Branch point for: netbsd-3
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +3 -3 lines
Add support for IPsec Network Address Translator traversal (NAT-T), as
described by RFC 3947 and 3948.

Revision 1.58.6.5: download - view: text, markup, annotated - select for diffs
Fri Feb 4 11:47:48 2005 UTC (20 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.58.6.4: preferred, colored; branchpoint 1.58: preferred, colored
Changes since revision 1.58.6.4: +11 -2 lines
Sync with HEAD.

Revision 1.67: download - view: text, markup, annotated - select for diffs
Mon Jan 31 23:49:36 2005 UTC (20 years, 1 month ago) by kim
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +11 -2 lines
Add RFC 3378 EtherIP support, ported from OpenBSD to NetBSD by
Hans Rosenfeld (rosenfeld at grumpf.hope-2000.org)

This change makes it possible to add gif interfaces to bridges, which
will then send and receive IP protocol 97 packets. Packets are Ethernet
frames with an EtherIP header prepended.

Revision 1.58.6.4: download - view: text, markup, annotated - select for diffs
Mon Jan 24 08:35:53 2005 UTC (20 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.58.6.3: preferred, colored; branchpoint 1.58: preferred, colored
Changes since revision 1.58.6.3: +5 -3 lines
Sync with HEAD.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Sun Jan 23 18:41:57 2005 UTC (20 years, 1 month ago) by matt
Branches: MAIN
CVS tags: yamt-km-base
Branch point for: yamt-km
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +5 -3 lines
Change initialzie of domains to use link sets.  Switch to using STAILQ.
Add a convenience macro DOMAIN_FOREACH to interate through the domain.

Revision 1.58.6.3: download - view: text, markup, annotated - select for diffs
Tue Sep 21 13:37:11 2004 UTC (20 years, 6 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.58.6.2: preferred, colored; branchpoint 1.58: preferred, colored
Changes since revision 1.58.6.2: +2 -2 lines
Fix the sync with head I botched.

Revision 1.58.6.2: download - view: text, markup, annotated - select for diffs
Sat Sep 18 14:54:53 2004 UTC (20 years, 6 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.58.6.1: preferred, colored; branchpoint 1.58: preferred, colored
Changes since revision 1.58.6.1: +13 -2 lines
Sync with HEAD.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Sat Sep 4 23:30:07 2004 UTC (20 years, 6 months ago) by manu
Branches: MAIN
CVS tags: kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: kent-audio2
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +13 -2 lines
IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@

Revision 1.58.6.1: download - view: text, markup, annotated - select for diffs
Tue Aug 3 10:54:36 2004 UTC (20 years, 7 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +39 -21 lines
Sync with HEAD

Revision 1.64: download - view: text, markup, annotated - select for diffs
Sun Apr 25 16:42:42 2004 UTC (20 years, 10 months ago) by simonb
Branches: MAIN
CVS tags: BEFORE-IPF413
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +3 -3 lines
Initialise (most) pools from a link set instead of explicit calls
to pool_init.  Untouched pools are ones that either in arch-specific
code, or aren't initialiased during initial system startup.

 Convert struct session, ucred and lockf to pools.

Revision 1.63: download - view: text, markup, annotated - select for diffs
Thu Apr 22 01:01:41 2004 UTC (20 years, 11 months ago) by matt
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +3 -5 lines
Constify protosw arrays.  This can reduce the kernel .data section by
over 4K (if all the network protocols) are loaded.

Revision 1.39.4.4: download - view: text, markup, annotated - select for diffs
Tue Apr 20 20:25:32 2004 UTC (20 years, 11 months ago) by jmc
Branches: netbsd-1-5
Diff to: previous 1.39.4.3: preferred, colored; branchpoint 1.39: preferred, colored; next MAIN 1.40: preferred, colored
Changes since revision 1.39.4.3: +2 -1 lines
Pullup patch (requested by itojun in ticket #143)

If a segment is received with RST set and the segment is completely to the
left of the receive window, ignore it.  Add some additional comments to
the code that deals with received segemnts that are completely to the right
of the receive window.  If an invalid SYN is received, force an ACK and
drop it; if the other side really sent the SYN; it'll respond with a reset.
Respond to RST by ACK, as suggested in NISCC recommendation.
Rate-limit ACKs against RSTs and SYNs.
If SYN is coming and RCV.NXT == SEG.SEQ, then ACK with value - 1.

Revision 1.62: download - view: text, markup, annotated - select for diffs
Thu Dec 4 19:38:24 2003 UTC (21 years, 3 months ago) by atatat
Branches: MAIN
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-base, 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-0, netbsd-2, BEFORE-IPF411
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +12 -12 lines
Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al.  Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded.  Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment.  I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.

Revision 1.55.8.1: download - view: text, markup, annotated - select for diffs
Sat Oct 4 09:44:12 2003 UTC (21 years, 5 months ago) by tron
Branches: netbsd-1-6
CVS tags: netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002
Diff to: previous 1.55: preferred, colored; next MAIN 1.56: preferred, colored
Changes since revision 1.55: +3 -3 lines
Pull up revision 1.60 (requested by itojun in ticket #1409):
enforce ipsec policy on raw wildcard.

Revision 1.39.4.3: download - view: text, markup, annotated - select for diffs
Tue Sep 9 10:33:32 2003 UTC (21 years, 6 months ago) by msaitoh
Branches: netbsd-1-5
Diff to: previous 1.39.4.2: preferred, colored; branchpoint 1.39: preferred, colored
Changes since revision 1.39.4.2: +2 -2 lines
Pull up rev. 1.60 via patch (requested by itojun in ticket #68):
 enforce ipsec policy on raw wildcard.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Fri Aug 15 03:42:01 2003 UTC (21 years, 7 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +28 -4 lines
(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.60: download - view: text, markup, annotated - select for diffs
Thu Aug 14 07:57:40 2003 UTC (21 years, 7 months ago) by itojun
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +3 -3 lines
enforce ipsec policy on raw wildcard.

Revision 1.59: download - view: text, markup, annotated - select for diffs
Thu Aug 7 16:33:11 2003 UTC (21 years, 7 months ago) by agc
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +3 -7 lines
Move UCB-licensed code from 4-clause to 3-clause licence.

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

Revision 1.47.2.8: download - view: text, markup, annotated - select for diffs
Mon Nov 11 22:15:18 2002 UTC (22 years, 4 months ago) by nathanw
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.47.2.7: preferred, colored; next MAIN 1.48: preferred, colored
Changes since revision 1.47.2.7: +1 -0 lines
Catch up to -current

Revision 1.58: download - view: text, markup, annotated - select for diffs
Sat Nov 2 19:03:44 2002 UTC (22 years, 4 months ago) by itojun
Branches: MAIN
CVS tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Branch point for: ktrace-lwp
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +3 -2 lines
cleanup ipsec.h dependency.  commented by perry, sync w/kame

Revision 1.47.2.7: download - view: text, markup, annotated - select for diffs
Fri Oct 18 02:45:16 2002 UTC (22 years, 5 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.47.2.6: preferred, colored
Changes since revision 1.47.2.6: +3 -3 lines
Catch up to -current.

Revision 1.48.2.5: download - view: text, markup, annotated - select for diffs
Thu Oct 10 18:43:53 2002 UTC (22 years, 5 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.48.2.4: preferred, colored; branchpoint 1.48: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48.2.4: +3 -3 lines
sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed Sep 25 07:37:12 2002 UTC (22 years, 5 months ago) by itojun
Branches: MAIN
CVS tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +3 -3 lines
one too many whitespace

Revision 1.48.2.4: download - view: text, markup, annotated - select for diffs
Sun Jun 23 17:50:44 2002 UTC (22 years, 9 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.48.2.3: preferred, colored; branchpoint 1.48: preferred, colored
Changes since revision 1.48.2.3: +8 -8 lines
catch up with -current on kqueue branch

Revision 1.55.6.1: download - view: text, markup, annotated - select for diffs
Thu Jun 20 15:52:16 2002 UTC (22 years, 9 months ago) by gehenna
Branches: gehenna-devsw
Diff to: previous 1.55: preferred, colored; next MAIN 1.56: preferred, colored
Changes since revision 1.55: +8 -8 lines
catch up with -current.

Revision 1.47.2.6: download - view: text, markup, annotated - select for diffs
Thu Jun 20 03:48:36 2002 UTC (22 years, 9 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.47.2.5: preferred, colored
Changes since revision 1.47.2.5: +8 -8 lines
Catch up to -current.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Sun Jun 9 16:33:38 2002 UTC (22 years, 9 months ago) by itojun
Branches: MAIN
CVS tags: gehenna-devsw-base
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +8 -8 lines
whitespace

Revision 1.47.2.5: download - view: text, markup, annotated - select for diffs
Mon Apr 1 07:48:31 2002 UTC (22 years, 11 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.47.2.4: preferred, colored
Changes since revision 1.47.2.4: +2 -16 lines
Catch up to -current.
(CVS: It's not just a program. It's an adventure!)

Revision 1.48.2.3: download - view: text, markup, annotated - select for diffs
Sat Mar 16 16:02:12 2002 UTC (23 years ago) by jdolecek
Branches: kqueue
Diff to: previous 1.48.2.2: preferred, colored; branchpoint 1.48: preferred, colored
Changes since revision 1.48.2.2: +2 -16 lines
Catch up with -current.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Mon Mar 4 13:24:12 2002 UTC (23 years ago) by sommerfeld
Branches: MAIN
CVS tags: newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, eeh-devprop-base, eeh-devprop
Branch point for: netbsd-1-6, gehenna-devsw
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +2 -16 lines
The "gif*" tunnelling interface does everything ipip does.
Move usage example from ipip.4 to gif.4
Excise ipip and stitch up the scars.

Revision 1.48.2.2: download - view: text, markup, annotated - select for diffs
Thu Jan 10 20:02:42 2002 UTC (23 years, 2 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.48.2.1: preferred, colored; branchpoint 1.48: preferred, colored
Changes since revision 1.48.2.1: +16 -41 lines
Sync kqueue branch with -current.

Revision 1.47.2.4: download - view: text, markup, annotated - select for diffs
Tue Jan 8 00:34:03 2002 UTC (23 years, 2 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.47.2.3: preferred, colored
Changes since revision 1.47.2.3: +13 -41 lines
Catch up to -current.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Fri Dec 21 06:30:43 2001 UTC (23 years, 3 months ago) by itojun
Branches: MAIN
CVS tags: ifpoll-base
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +4 -4 lines
use radix table for inbound tunnel lookup (would increase performance
for machines with a lot of tunnels).
update route cache for IPvX-over-IPv6 tunnel on path MTU discovery.
snyc with kame

Revision 1.53: download - view: text, markup, annotated - select for diffs
Fri Dec 21 04:07:25 2001 UTC (23 years, 3 months ago) by itojun
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +11 -11 lines
call rip_ctlinput on icmp4 inputs

Revision 1.52: download - view: text, markup, annotated - select for diffs
Fri Dec 21 03:21:51 2001 UTC (23 years, 3 months ago) by itojun
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +2 -30 lines
move protosw fragment for gif/stf to their own source code.
reduce #ifdef in stf code.  sync with kame

Revision 1.47.2.3: download - view: text, markup, annotated - select for diffs
Wed Nov 14 19:17:45 2001 UTC (23 years, 4 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.47.2.2: preferred, colored
Changes since revision 1.47.2.2: +5 -2 lines
Catch up to -current.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Tue Nov 13 00:32:36 2001 UTC (23 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +4 -1 lines
add RCSIDs

Revision 1.49.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 12 21:19:23 2001 UTC (23 years, 4 months ago) by thorpej
Branches: thorpej-mips-cache
Diff to: previous 1.49: preferred, colored; next MAIN 1.50: preferred, colored
Changes since revision 1.49: +2 -2 lines
Sync the thorpej-mips-cache branch with -current.

Revision 1.50: download - view: text, markup, annotated - select for diffs
Tue Oct 30 06:41:10 2001 UTC (23 years, 4 months ago) by kml
Branches: MAIN
CVS tags: thorpej-mips-cache-base
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +2 -2 lines
Add in support for timing out IPv4 routes added due to redirects,
as discussed in tech-net several weeks ago.  It turned out that
KAME had already added this functionality to the IPv6 stack, so
I followed their example in adding the sysctl variables
net.inet.icmp.rediraccept and net.inet.icmp.redirtimeout.

Revision 1.48.4.1: download - view: text, markup, annotated - select for diffs
Mon Oct 1 12:47:40 2001 UTC (23 years, 5 months ago) by fvdl
Branches: thorpej-devvp
Diff to: previous 1.48: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48: +2 -2 lines
Catch up with -current.

Revision 1.47.2.2: download - view: text, markup, annotated - select for diffs
Fri Sep 21 22:36:47 2001 UTC (23 years, 6 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.47.2.1: preferred, colored
Changes since revision 1.47.2.1: +2 -2 lines
Catch up to -current.

Revision 1.48.2.1: download - view: text, markup, annotated - select for diffs
Thu Sep 13 01:16:22 2001 UTC (23 years, 6 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +2 -2 lines
Update the kqueue branch to HEAD.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Mon Sep 10 04:24:24 2001 UTC (23 years, 6 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej-devvp-base3, thorpej-devvp-base2, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +2 -2 lines
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.47.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 9 01:58:20 2001 UTC (23 years, 11 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +3 -3 lines
Catch up with -current.

Revision 1.33.2.3: download - view: text, markup, annotated - select for diffs
Tue Mar 27 15:32:29 2001 UTC (23 years, 11 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.33.2.2: preferred, colored; branchpoint 1.33: preferred, colored; next MAIN 1.34: preferred, colored
Changes since revision 1.33.2.2: +3 -3 lines
Sync with HEAD.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Wed Mar 21 19:22:28 2001 UTC (24 years ago) by thorpej
Branches: MAIN
CVS tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base
Branch point for: thorpej-devvp, kqueue
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +3 -3 lines
Add a protosw flag, PR_ABRTACPTDIS (Abort on Accept of Disconnected
Socket), and add it to the protocols that use that behavior (all
PR_LISTEN protocols except for PF_LOCAL stream sockets).

Revision 1.33.2.2: download - view: text, markup, annotated - select for diffs
Mon Mar 12 13:31:49 2001 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.33.2.1: preferred, colored; branchpoint 1.33: preferred, colored
Changes since revision 1.33.2.1: +19 -11 lines
Sync with HEAD.

Revision 1.39.4.2: download - view: text, markup, annotated - select for diffs
Sun Mar 11 21:09:55 2001 UTC (24 years ago) by he
Branches: netbsd-1-5
CVS tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Diff to: previous 1.39.4.1: preferred, colored; branchpoint 1.39: preferred, colored
Changes since revision 1.39.4.1: +10 -10 lines
Pull up revision 1.47 (via patch, requested by itojun):
  Ensure that we enforce inbound IPsec policy on all IP protocols,
  not just TCP, UDP and ICMP.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Thu Mar 1 16:31:38 2001 UTC (24 years ago) by itojun
Branches: MAIN
Branch point for: nathanw_sa
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +11 -11 lines
make sure to enforce inbound ipsec policy checking, for any protocols on top
of ip (check it when final header is visited).  sync with kame.
XXX kame team will need to re-check policy engine code

Revision 1.46: download - view: text, markup, annotated - select for diffs
Wed Feb 21 00:11:53 2001 UTC (24 years, 1 month ago) by itojun
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +2 -2 lines
need PR_ADDR|PR_ATOMIC for IPPROTO_EON.  fix typo.  from chopps, sync with kame

Revision 1.45: download - view: text, markup, annotated - select for diffs
Tue Feb 20 08:49:15 2001 UTC (24 years, 1 month ago) by itojun
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +10 -2 lines
ISO over IPv4/v6 by EON encapsulation.  from chopps, sync with kame.

Revision 1.33.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 20 18:10:23 2000 UTC (24 years, 4 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +43 -25 lines
Update thorpej_scsipi to -current as of a month ago

Revision 1.44: download - view: text, markup, annotated - select for diffs
Wed Oct 18 17:09:14 2000 UTC (24 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +3 -3 lines
Restructure the Path MTU Discovery code somewhat to avoid
entering rtentry's for hosts we're not actually communicating
with.

Do this by invoking the ctlinput for the protocol, which is
responsible for validating the ICMP message:
	* TCP -- Lookup the connection based on the address/port
	  pairs in the ICMP message.
	* AH/ESP -- Lookup the SA based on the SPI in the ICMP message.

If validation succeeds, ctlinput is responsible for calling
icmp_mtudisc().  icmp_mtudisc() then invokes callbacks registered
by protocols (such as TCP) which want to take some sort of special
action when a path's MTU changes.  For TCP, this is where we now
refresh cached routes and re-enter slow-start.

As a side-effect, this fixes the problem where TCP would not be
notified when a path's MTU changed if AH/ESP were being used.

XXX Note, this is only a fix for the IPv4 case.  For the IPv6
XXX case, we need to wait for the KAME folks.

Reviewed by sommerfeld@netbsd.org and itojun@netbsd.org.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Wed Oct 18 07:21:10 2000 UTC (24 years, 5 months ago) by itojun
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +1 -12 lines
move tcp syn cache parameters from in_proto.c to tcp_subr.c.
it makes more sense and helps INET6-only (INET-less) build.

Revision 1.39.4.1: download - view: text, markup, annotated - select for diffs
Wed Aug 16 01:22:22 2000 UTC (24 years, 7 months ago) by itojun
Branches: netbsd-1-5
CVS tags: netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +3 -3 lines
pullup (approved by releng-1-5)

switch from net.inet*.*.*ratelimit to net.inet*.*.ppslimit.

(tags are rough estimate - we had some try-and-error in main trunc)
sys/netinet/icmp6.h             1.9 -> 1.11
sys/netinet/icmp_var.h          1.15 -> 1.17
sys/netinet/in_proto.c          1.39 -> 1.42
sys/netinet/ip_icmp.c           1.50 -> 1.51, 1.52 -> 1.54
sys/netinet/tcp_input.c         1.111 -> 1.112, 1.115 -> 1.117
sys/netinet/tcp_usrreq.c        1.52 -> 1.53
sys/netinet/tcp_var.h           1.72 -> 1.75
sys/netinet6/icmp6.c            1.34 -> 1.35, 1.36 -> 1.38
sys/netinet6/in6_proto.c        1.17 -> 1.19

Revision 1.42: download - view: text, markup, annotated - select for diffs
Fri Jul 28 04:06:52 2000 UTC (24 years, 7 months ago) by itojun
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +1 -3 lines
nuke the following sysctl variables.  "ppsratelimit" should work better.
need to recompile sbin/sysctl after updating /usr/include.
	net.inet.tcp.rstratelimit
	net.inet.icmp.errratelimit
	net.inet6.icmp6.errratelimit

Revision 1.41: download - view: text, markup, annotated - select for diffs
Thu Jul 27 11:34:06 2000 UTC (24 years, 7 months ago) by itojun
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +3 -2 lines
implement net.inet.tcp.rstppslimit to limit TCP RSTs by packet-per-second
basis.  default: 100pps

set default value for net.inet.tcp.rstratelimit to 0 (disabled),
NOTE: it does not work right for smaller-than-1/hz interval.  maybe we should
nuke it, or make it impossible to set smaller-than-1/hz value.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Mon Jul 10 09:31:29 2000 UTC (24 years, 8 months ago) by itojun
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +3 -2 lines
implement net.inet.icmp.errppslimit.
make default value for net.inet.icmp.erratelimit to 0, as < 10ms value
does not do the right thing.

Revision 1.39: download - view: text, markup, annotated - select for diffs
Wed Apr 19 06:30:54 2000 UTC (24 years, 11 months ago) by itojun
Branches: MAIN
CVS tags: netbsd-1-5-base, netbsd-1-5-ALPHA2, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +37 -14 lines
introduce sys/netinet/ip_encap.c, to dispatch inbound packets
to protocol handlers, based on src/dst (for ip proto #4/41).
see comment in ip_encap.c for details of the problem we have.
there are too many protocol specs for ip proto #4/41.
backward compatibility with MROUTING case is now provided in ip_encap.c.

fix ipip to work with gif (using ip_encap.c).  sorry for breakage.

gif now uses ip_encap.c.

introduce stf pseudo interface (implements 6to4, another IPv6-over-IPv4 code
with ip proto #41).

Revision 1.38: download - view: text, markup, annotated - select for diffs
Thu Feb 17 10:59:35 2000 UTC (25 years, 1 month ago) by darrenr
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +3 -1 lines
Change the use of pfil hooks.  There is no longer a single list of all
pfil information, instead, struct protosw now contains a structure
which caontains list heads, etc.  The per-protosw pfil struct is passed
to pfil_hook_get(), along with an in/out flag to get the head of the
relevant filter list.  This has been done for only IPv4 and IPv6, at
present, with these patches only enabling filtering for IPPROTO_IP and
IPPROTO_IPV6, although it is possible to have tcp/udp, etc, dedicated
filters now also.  The ipfilter code has been updated to only filter
IPv4 packets - next major release of ipfilter is required for ipv6.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Tue Feb 15 19:54:11 2000 UTC (25 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +3 -1 lines
Add support for rate-limiting RSTs sent in response to no socket for
an incoming packet.  Default minimum interval is 10ms.  The interval
is changeable via the "net.inet.tcp.rstratelimit" sysctl variable.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Tue Feb 15 04:03:49 2000 UTC (25 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +3 -1 lines
Add ICMP error rate limiting, based on the same for ICMP6.

Note, we're reusing the previously unused slot for "MTU discovery" (which
was moved to the "net.inet.ip" branch of the sysctl tree quite some time
ago).

Revision 1.35: download - view: text, markup, annotated - select for diffs
Thu Feb 10 14:44:28 2000 UTC (25 years, 1 month ago) by itojun
Branches: MAIN
CVS tags: chs-ubc2-newbase
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +2 -2 lines
fix ip4 protosw.
gif interface and gre interface should be able to coexist.

Revision 1.33.8.1: download - view: text, markup, annotated - select for diffs
Mon Dec 27 18:36:14 1999 UTC (25 years, 2 months ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.33: preferred, colored; next MAIN 1.34: preferred, colored
Changes since revision 1.33: +5 -5 lines
Pull up to last week's -current.

Revision 1.34: download - view: text, markup, annotated - select for diffs
Mon Dec 13 15:17:20 1999 UTC (25 years, 3 months ago) by itojun
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +5 -5 lines
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.29.2.1.4.3: download - view: text, markup, annotated - select for diffs
Tue Nov 30 13:35:26 1999 UTC (25 years, 3 months ago) by itojun
Branches: kame
CVS tags: kame_141_19991130
Diff to: previous 1.29.2.1.4.2: preferred, colored; branchpoint 1.29.2.1: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29.2.1.4.2: +6 -5 lines
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.29.2.1.2.3: download - view: text, markup, annotated - select for diffs
Mon Aug 2 22:34:57 1999 UTC (25 years, 7 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.29.2.1.2.2: preferred, colored; branchpoint 1.29.2.1: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29.2.1.2.2: +2 -1 lines
Update from trunk.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Fri Jul 9 22:57:18 1999 UTC (25 years, 8 months ago) by thorpej
Branches: MAIN
CVS tags: fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -1 lines
defopt IPSEC and IPSEC_ESP (both into opt_ipsec.h).

Revision 1.29.2.1.4.2: download - view: text, markup, annotated - select for diffs
Tue Jul 6 11:02:44 1999 UTC (25 years, 8 months ago) by itojun
Branches: kame
CVS tags: kame_14_19990705
Diff to: previous 1.29.2.1.4.1: preferred, colored; branchpoint 1.29.2.1: preferred, colored
Changes since revision 1.29.2.1.4.1: +1 -5 lines
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.29.2.1.2.2: download - view: text, markup, annotated - select for diffs
Thu Jul 1 23:47:00 1999 UTC (25 years, 8 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.29.2.1.2.1: preferred, colored; branchpoint 1.29.2.1: preferred, colored
Changes since revision 1.29.2.1.2.1: +88 -3 lines
Sync w/ -current.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Thu Jul 1 08:12:50 1999 UTC (25 years, 8 months ago) by itojun
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +86 -1 lines
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.31: download - view: text, markup, annotated - select for diffs
Thu Jul 1 05:53:10 1999 UTC (25 years, 8 months ago) by darrenr
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +3 -3 lines
add PR_LISTEN to protocols which support listen(2)

Revision 1.29.2.1.4.1: download - view: text, markup, annotated - select for diffs
Mon Jun 28 06:36:59 1999 UTC (25 years, 8 months ago) by itojun
Branches: kame
CVS tags: kame_14_19990628
Diff to: previous 1.29.2.1: preferred, colored
Changes since revision 1.29.2.1: +90 -1 lines
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.29.2.1.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 21 01:27:48 1999 UTC (25 years, 9 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.29.2.1: preferred, colored
Changes since revision 1.29.2.1: +0 -0 lines
Sync w/ -current.

Revision 1.29.2.1: download - view: text, markup, annotated - select for diffs
Thu Apr 29 14:44:48 1999 UTC (25 years, 10 months ago) by perry
Branches: netbsd-1-4
CVS tags: netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001
Branch point for: kame, chs-ubc2
Diff to: previous 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29: +2 -3 lines
pullup 1.29->1.30 (thorpej)

Revision 1.30: download - view: text, markup, annotated - select for diffs
Thu Apr 29 03:54:22 1999 UTC (25 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -3 lines
Implement retransmit logic for the SYN cache engine.  Fixes a rare condition
where one side can think a connection exists, where the other side thinks
the connection was never established.

The original problem was first reported by Ty Sarna in PR #5909.  The
original fix I made to the code didn't cover all cases.  The problem this
fix addresses was reported by Christoph Badura via private e-mail.

Many thanks to Bill Sommerfeld for helping me to test this code, and
for finding a subtle bug.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Thu Jan 14 01:16:55 1999 UTC (26 years, 2 months ago) by thorpej
Branches: MAIN
CVS tags: netbsd-1-4-base
Branch point for: netbsd-1-4
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +2 -2 lines
Domains are associated with protocol families, not address families.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Mon Jan 11 21:28:28 1999 UTC (26 years, 2 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +11 -17 lines
Adjust for the new IP-IP input path.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Tue Dec 22 02:51:32 1998 UTC (26 years, 3 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +2 -2 lines
ipip_input() -> mrt_ipip_input().

Revision 1.26: download - view: text, markup, annotated - select for diffs
Wed Sep 30 05:59:28 1998 UTC (26 years, 5 months ago) by hwr
Branches: MAIN
CVS tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +7 -2 lines
Start supporting IPPROTO_MOBILE (55) encapsulation. This is yet
another tunneling protocol used by the Mobile-IP people. See RFC 2004
for this.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Sun Sep 13 20:27:48 1998 UTC (26 years, 6 months ago) by hwr
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +20 -1 lines
Add a gre tunnel pseudo network device. Gre = generic route encapsulation.
This device shows up like any other network interface and can be used to
tunnel L3 protocols as e.g. IP over IP.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Wed Jul 15 17:39:20 1998 UTC (26 years, 8 months ago) by thorpej
Branches: MAIN
CVS tags: eeh-paddr_t-base, eeh-paddr_t
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +1 -42 lines
Garbage collect `imp' and `hy'.  We don't have the rest of the code, and
it's not like anyone is ever going to be using either of them.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun Jul 5 06:49:17 1998 UTC (26 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -1 lines
defopt NS, NSIP.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Jul 5 04:37:42 1998 UTC (26 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +3 -2 lines
defopt ISO TPIP.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Sun Jul 5 01:06:49 1998 UTC (26 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +2 -1 lines
defopt EON.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Thu May 7 01:37:27 1998 UTC (26 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +1 -2 lines
Rework the syn cache code somewhat:
- Don't use home-grown queue manipulation.  Use <sys/queue.h> instead.  The
  data structures are a little larger, but we are otherwise wasting the
  memory chunk anyway (we're already a 64-byte malloc bucket).
- Fix a bug in the cache-is-full case: if the oldest element removed from
  the first non-empty bucket was the only element in the bucket, the
  bucket wouldn't be removed from the bucket cache, causing queue corruption
  later.
- Optimize the syn cache timers by using PRT timers rather than home-grown
  decrement-and-propagate timers.

This code is now a fair bit smaller, and significantly easier to read
and understand.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Mon Jan 12 03:02:50 1998 UTC (27 years, 2 months ago) by scottr
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +3 -1 lines
Use option header file for MROUTING

Revision 1.18: download - view: text, markup, annotated - select for diffs
Mon Jan 5 10:31:55 1998 UTC (27 years, 2 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -2 lines
Finishing merging 4.4BSD-Lite2 netinet.  At this point, the only changes
left were SCCS IDs and Copyright dates.

Revision 1.1.1.3 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon Jan 5 09:55:57 1998 UTC (27 years, 2 months ago) by thorpej
Branches: WFJ-920714, CSRG
CVS tags: lite-2
Diff to: previous 1.1.1.2: preferred, colored
Changes since revision 1.1.1.2: +3 -3 lines
Import sys/netinet from 4.4BSD-Lite2 for reference purposes.

Revision 1.1.1.2 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon Jan 5 09:54:05 1998 UTC (27 years, 2 months ago) by thorpej
Branches: WFJ-920714, CSRG
CVS tags: lite-1, date-03-may-96
Diff to: previous 1.1.1.1: preferred, colored
Changes since revision 1.1.1.1: +67 -42 lines
Import sys/netinet from 4.4BSD-Lite for reference purposes.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Wed Jul 23 21:26:46 1997 UTC (27 years, 8 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej-signal-base, thorpej-signal, netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +13 -1 lines
Pull SYN_cache_branch down into the main line.

Revision 1.16.8.1: download - view: text, markup, annotated - select for diffs
Wed May 14 17:02:00 1997 UTC (27 years, 10 months ago) by mellon
Branches: SYN_cache_branch
Diff to: previous 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16: +13 -1 lines
Add syn_cache variables

Revision 1.16: download - view: text, markup, annotated - select for diffs
Thu Oct 10 23:04:26 1996 UTC (28 years, 5 months ago) by christos
Branches: MAIN
CVS tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp, bouyer-scsipi, SYN_cache_cur_base
Branch point for: SYN_cache_branch
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -2 lines
- fix NSIP; it referenced non-existing functions.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Mon Sep 9 14:51:13 1996 UTC (28 years, 6 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +2 -2 lines
Add in_nullhost() and in_hosteq() macros, to hide some protocol
details.  Also, fix a bug in TCP wrt SYN+URG packets.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Feb 18 18:58:32 1996 UTC (29 years, 1 month ago) by christos
Branches: MAIN
CVS tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -2 lines
Fix PR/2095 options MROUTING did not compile.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Feb 13 23:42:09 1996 UTC (29 years, 1 month ago) by christos
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +7 -6 lines
netinet prototypes

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sat Sep 30 07:02:00 1995 UTC (29 years, 5 months ago) by thorpej
Branches: MAIN
CVS tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -2 lines
Implement tcp_sysctl().  Add a sysctl option to enable/disable RFC1323
extensions to TCP.  From John Kohl <jtk@kolvir.blrc.ma.us>.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Wed May 31 21:50:36 1995 UTC (29 years, 9 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +18 -7 lines
Integrate multicast 3.5 distribution, with several bugs fixed and general
cleanup.  This is a (working) snapshot of work in progress.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed May 31 06:08:27 1995 UTC (29 years, 9 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +2 -2 lines
Implement IGMP v2.  Based on the Multicast 3.5 distribution.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Wed Jun 29 06:38:09 1994 UTC (30 years, 8 months ago) by cgd
Branches: 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
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -2 lines
New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.8: download - view: text, markup, annotated - select for diffs
Fri May 13 06:06:11 1994 UTC (30 years, 10 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +64 -42 lines
Update to 4.4-Lite networking code, with a few local changes.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Wed Feb 2 05:59:00 1994 UTC (31 years, 1 month ago) by hpeyerl
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -6 lines
Multicast is no longer optional.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat Jan 8 21:21:42 1994 UTC (31 years, 2 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +3 -3 lines
Fix some inconsistent spacing; spaces at the end of lines, etc.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Sat Dec 18 00:41:54 1993 UTC (31 years, 3 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +8 -8 lines
Canonicalize all #includes.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Mon Dec 6 04:59:32 1993 UTC (31 years, 3 months ago) by hpeyerl
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +11 -1 lines
multicast support.
>From Chris Maeda, cmaeda@cs.washington.edu
These patches are derived from the IP Multicast patches for BSDI.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Thu May 20 03:50:08 1993 UTC (31 years, 10 months ago) by cgd
Branches: 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
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -1 lines
more rcsid additions and file header cleanups

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sat Apr 10 12:06:49 1993 UTC (31 years, 11 months ago) by glass
Branches: MAIN
CVS tags: netbsd-alpha-1, netbsd-0-8
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -2 lines
fixed to be compliant, subservient, and to take advantage of the newly
hacked config(8)

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Sun Mar 21 09:45:37 1993 UTC (32 years ago) by cgd
Branches: WFJ-920714, CSRG
CVS tags: patchkit-0-2-2, WFJ-386bsd-01
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
initial import of 386bsd-0.1 sources

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sun Mar 21 09:45:37 1993 UTC (32 years ago) by cgd
Branches: MAIN
Initial revision

Diff request

This form allows you to request diffs 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.

Log view options

CVSweb <webmaster@jp.NetBSD.org>