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


Default branch: MAIN


Revision 1.131 / (download) - annotate - [select for diffs], Sat Sep 3 02:53:18 2022 UTC (19 months, 1 week ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, 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
Changes since 1.130: +2 -3 lines
Diff to previous 1.130 (colored)

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) - annotate - [select for diffs], Mon Jun 10 22:09:47 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.128: +4 -31 lines
Diff to previous 1.128 (colored) next main 1.129 (colored)

Sync with HEAD

Revision 1.126.2.4 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:56 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.126.2.3: +4 -11 lines
Diff to previous 1.126.2.3 (colored) to branchpoint 1.126 (colored) next main 1.127 (colored)

Ssync with HEAD

Revision 1.130 / (download) - annotate - [select for diffs], Fri Sep 14 05:09:51 2018 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, 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-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
Changes since 1.129: +4 -11 lines
Diff to previous 1.129 (colored)

Use non-variadic function pointer in protosw::pr_input.

Revision 1.126.2.3 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:44 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.126.2.2: +2 -22 lines
Diff to previous 1.126.2.2 (colored) to branchpoint 1.126 (colored)

Sync with HEAD

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

Revision 1.129 / (download) - annotate - [select for diffs], Tue Aug 14 14:49:14 2018 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0906
Changes since 1.128: +2 -22 lines
Diff to previous 1.128 (colored)

Retire EtherIP, we have L2TP instead.

Revision 1.126.2.2 / (download) - annotate - [select for diffs], Mon May 21 04:36:16 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.126.2.1: +2 -3 lines
Diff to previous 1.126.2.1 (colored) to branchpoint 1.126 (colored)

Sync with HEAD

Revision 1.128 / (download) - annotate - [select for diffs], Thu May 3 07:13:48 2018 UTC (5 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521
Branch point for: phil-wifi
Changes since 1.127: +2 -3 lines
Diff to previous 1.127 (colored)

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

Revision 1.123.4.3 / (download) - annotate - [select for diffs], Sat Mar 31 10:41:06 2018 UTC (6 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.123.4.2: +4 -4 lines
Diff to previous 1.123.4.2 (colored) to branchpoint 1.123 (colored) next main 1.124 (colored)

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) - annotate - [select for diffs], Thu Mar 15 09:12:06 2018 UTC (6 years, 1 month ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.126: +4 -4 lines
Diff to previous 1.126 (colored)

Synch with HEAD

Revision 1.127 / (download) - annotate - [select for diffs], Thu Mar 15 08:15:21 2018 UTC (6 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Changes since 1.126: +4 -4 lines
Diff to previous 1.126 (colored)

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) - annotate - [select for diffs], Mon Feb 5 08:38:06 2018 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base
Branch point for: pgoyette-compat
Changes since 1.125: +2 -4 lines
Diff to previous 1.125 (colored)

Declare icmperrppslim in ip_icmp.c, it shouldn't be used elsewhere.

Revision 1.103.2.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:04 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.103.2.2: +180 -32 lines
Diff to previous 1.103.2.2 (colored) to branchpoint 1.103 (colored) next main 1.104 (colored)

update from HEAD

Revision 1.123.4.2 / (download) - annotate - [select for diffs], Tue Oct 24 08:55:55 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.123.4.1: +2 -3 lines
Diff to previous 1.123.4.1 (colored) to branchpoint 1.123 (colored)

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) - annotate - [select for diffs], Sat Oct 21 19:43:54 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-8
Changes since 1.123: +35 -2 lines
Diff to previous 1.123 (colored)

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

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

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

Original outputs were organized like this:

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

New outputs are organized like this:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

It simplifies further changes.
---
Fix indentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

KEY_SA_UNREF is still key_freesav so no functional change for now.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A typical ussage of localcount_drain looks like this:

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

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

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

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

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

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

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

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

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

isr->saidx was modified accidentally in ipsec_nextisr.

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

Revision 1.125 / (download) - annotate - [select for diffs], Wed Sep 27 10:05:04 2017 UTC (6 years, 6 months ago) by ozaki-r
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.124: +35 -2 lines
Diff to previous 1.124 (colored)

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) - annotate - [select for diffs], Thu Sep 21 07:15:34 2017 UTC (6 years, 6 months ago) by ozaki-r
Branch: MAIN
Changes since 1.123: +2 -3 lines
Diff to previous 1.123 (colored)

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) - annotate - [select for diffs], Mon Aug 28 17:53:12 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.110.4.7: +71 -15 lines
Diff to previous 1.110.4.7 (colored) to branchpoint 1.110 (colored) next main 1.111 (colored)

Sync with HEAD

Revision 1.120.2.2 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:29 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.120.2.1: +51 -5 lines
Diff to previous 1.120.2.1 (colored) to branchpoint 1.120 (colored) next main 1.121 (colored)

Sync with HEAD

Revision 1.120.4.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:05 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.120: +71 -15 lines
Diff to previous 1.120 (colored) next main 1.121 (colored)

Sync with HEAD

Revision 1.123 / (download) - annotate - [select for diffs], Fri Apr 14 02:43:27 2017 UTC (7 years ago) by ozaki-r
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.122: +51 -5 lines
Diff to previous 1.122 (colored)

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) - annotate - [select for diffs], Mon Mar 20 06:57:50 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.120: +22 -12 lines
Diff to previous 1.120 (colored)

Sync with HEAD

Revision 1.122 / (download) - annotate - [select for diffs], Thu Feb 16 08:12:44 2017 UTC (7 years, 1 month ago) by knakahara
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq
Changes since 1.121: +12 -2 lines
Diff to previous 1.121 (colored)

add l2tp(4) L2TPv3 interface.

originally implemented by IIJ SEIL team.

Revision 1.121 / (download) - annotate - [select for diffs], Mon Feb 13 07:18:20 2017 UTC (7 years, 2 months ago) by ozaki-r
Branch: MAIN
Changes since 1.120: +12 -12 lines
Diff to previous 1.120 (colored)

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) - annotate - [select for diffs], Sun May 29 08:44:38 2016 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.110.4.6: +2 -3 lines
Diff to previous 1.110.4.6 (colored) to branchpoint 1.110 (colored)

Sync with HEAD

Revision 1.120 / (download) - annotate - [select for diffs], Tue Apr 26 08:44:44 2016 UTC (7 years, 11 months ago) by ozaki-r
Branch: 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
Changes since 1.119: +2 -3 lines
Diff to previous 1.119 (colored)

Sweep unnecessary route.h inclusions

Revision 1.110.4.6 / (download) - annotate - [select for diffs], Fri Apr 22 15:44:17 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.110.4.5: +2 -3 lines
Diff to previous 1.110.4.5 (colored) to branchpoint 1.110 (colored)

Sync with HEAD

Revision 1.119 / (download) - annotate - [select for diffs], Mon Apr 11 08:56:16 2016 UTC (8 years ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422
Changes since 1.118: +2 -3 lines
Diff to previous 1.118 (colored)

Sweep unncessary radix.h inclusions

Revision 1.110.4.5 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:33 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.110.4.4: +5 -16 lines
Diff to previous 1.110.4.4 (colored) to branchpoint 1.110 (colored)

Sync with HEAD

Revision 1.118 / (download) - annotate - [select for diffs], Thu Jan 21 15:41:30 2016 UTC (8 years, 2 months ago) by riastradh
Branch: MAIN
CVS Tags: nick-nhusb-base-20160319
Changes since 1.117: +43 -108 lines
Diff to previous 1.117 (colored)

Revert previous: ran cvs commit when I meant cvs diff.  Sorry!

Hit up-arrow one too few times.

Revision 1.117 / (download) - annotate - [select for diffs], Thu Jan 21 15:27:48 2016 UTC (8 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.116: +110 -45 lines
Diff to previous 1.116 (colored)

Give proper prototype to ip_output.

Revision 1.116 / (download) - annotate - [select for diffs], Wed Jan 20 21:43:59 2016 UTC (8 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.115: +2 -13 lines
Diff to previous 1.115 (colored)

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) - annotate - [select for diffs], Sun Dec 27 12:10:07 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.110.4.3: +49 -2 lines
Diff to previous 1.110.4.3 (colored) to branchpoint 1.110 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.115 / (download) - annotate - [select for diffs], Tue Oct 13 21:28:35 2015 UTC (8 years, 6 months ago) by rjs
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226
Changes since 1.114: +49 -2 lines
Diff to previous 1.114 (colored)

Add core networking support for SCTP.

Revision 1.110.4.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:11 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.110.4.2: +4 -7 lines
Diff to previous 1.110.4.2 (colored) to branchpoint 1.110 (colored)

Sync with HEAD

Revision 1.114 / (download) - annotate - [select for diffs], Mon Aug 31 08:05:20 2015 UTC (8 years, 7 months ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.113: +2 -7 lines
Diff to previous 1.113 (colored)

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) - annotate - [select for diffs], Mon Aug 24 22:21:26 2015 UTC (8 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.112: +4 -2 lines
Diff to previous 1.112 (colored)

sprinkle _KERNEL_OPT

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

Sync with HEAD

Revision 1.112 / (download) - annotate - [select for diffs], Sat May 2 14:41:32 2015 UTC (8 years, 11 months ago) by roy
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.111: +5 -2 lines
Diff to previous 1.111 (colored)

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) - annotate - [select for diffs], Mon Apr 6 15:18:23 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.110: +28 -2 lines
Diff to previous 1.110 (colored)

Sync with HEAD

Revision 1.111 / (download) - annotate - [select for diffs], Tue Feb 10 19:11:52 2015 UTC (9 years, 2 months ago) by rjs
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.110: +28 -2 lines
Diff to previous 1.110 (colored)

Add DCCP protocol support from KAME.

Revision 1.103.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:35 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.103.2.1: +15 -24 lines
Diff to previous 1.103.2.1 (colored) to branchpoint 1.103 (colored)

Rebase to HEAD as of a few days ago.

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

Rebase.

Revision 1.110 / (download) - annotate - [select for diffs], Thu Jun 5 23:48:16 2014 UTC (9 years, 10 months ago) by rmind
Branch: 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
Changes since 1.109: +4 -6 lines
Diff to previous 1.109 (colored)

- 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) - annotate - [select for diffs], Thu May 22 11:41:09 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.101.4.1: +8 -77 lines
Diff to previous 1.101.4.1 (colored) to branchpoint 1.101 (colored) next main 1.102 (colored)

sync with head.

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

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

Revision 1.106.2.3 / (download) - annotate - [select for diffs], Sun May 18 17:46:13 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.106.2.2: +3 -3 lines
Diff to previous 1.106.2.2 (colored) to branchpoint 1.106 (colored) next main 1.107 (colored)

sync with head

Revision 1.109 / (download) - annotate - [select for diffs], Sun May 18 14:46:16 2014 UTC (9 years, 10 months ago) by rmind
Branch: MAIN
CVS Tags: rmind-smpnet-nbase, rmind-smpnet-base
Changes since 1.108: +15 -22 lines
Diff to previous 1.108 (colored)

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) - annotate - [select for diffs], Thu Mar 20 20:44:15 2014 UTC (10 years ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Branch point for: tls-earlyentropy
Changes since 1.107: +3 -2 lines
Diff to previous 1.107 (colored)

need compat header.

Revision 1.107 / (download) - annotate - [select for diffs], Thu Jan 2 18:29:01 2014 UTC (10 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.106: +2 -3 lines
Diff to previous 1.106 (colored)

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

Revision 1.106.2.2 / (download) - annotate - [select for diffs], Wed Aug 28 15:21:48 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.106.2.1: +14 -22 lines
Diff to previous 1.106.2.1 (colored) to branchpoint 1.106 (colored)

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) - annotate - [select for diffs], Wed Jul 17 03:16:31 2013 UTC (10 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.106: +3 -2 lines
Diff to previous 1.106 (colored)

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

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

resync from head

Revision 1.106 / (download) - annotate - [select for diffs], Wed Jun 5 19:01:26 2013 UTC (10 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.105: +7 -7 lines
Diff to previous 1.105 (colored)

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

Revision 1.105 / (download) - annotate - [select for diffs], Sat Mar 2 02:42:22 2013 UTC (11 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: khorben-n900, agc-symver-base, agc-symver
Changes since 1.104: +2 -5 lines
Diff to previous 1.104 (colored)

Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.

Revision 1.104 / (download) - annotate - [select for diffs], Fri Mar 1 18:25:58 2013 UTC (11 years, 1 month ago) by joerg
Branch: MAIN
Changes since 1.103: +2 -68 lines
Diff to previous 1.103 (colored)

Retire OSI network stack. OK core@

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

sync with head

Revision 1.101.8.2 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:43 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.101.8.1: +3 -39 lines
Diff to previous 1.101.8.1 (colored) to branchpoint 1.101 (colored) next main 1.102 (colored)

sync to latest -current.

Revision 1.103 / (download) - annotate - [select for diffs], Thu Mar 22 20:34:38 2012 UTC (12 years ago) by drochner
Branch: 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
Changes since 1.102: +3 -39 lines
Diff to previous 1.102 (colored)

remove KAME IPSEC, replaced by FAST_IPSEC

Revision 1.101.8.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:39 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.101: +7 -7 lines
Diff to previous 1.101 (colored)

merge to -current.

Revision 1.102 / (download) - annotate - [select for diffs], Mon Dec 19 11:59:56 2011 UTC (12 years, 3 months ago) by drochner
Branch: MAIN
CVS Tags: netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-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
Changes since 1.101: +7 -7 lines
Diff to previous 1.101 (colored)

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

Revision 1.99.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:55 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.99: +7 -5 lines
Diff to previous 1.99 (colored) next main 1.100 (colored)

Sync with HEAD.

Revision 1.99.4.2 / (download) - annotate - [select for diffs], Tue May 31 03:05:07 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.99.4.1: +4 -2 lines
Diff to previous 1.99.4.1 (colored) to branchpoint 1.99 (colored) next main 1.100 (colored)

sync with head

Revision 1.101 / (download) - annotate - [select for diffs], Tue May 3 17:44:31 2011 UTC (12 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, rmind-uvmplock-nbase, rmind-uvmplock-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.100: +6 -4 lines
Diff to previous 1.100 (colored)

*_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) - annotate - [select for diffs], Thu Apr 21 01:42:14 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.99: +3 -3 lines
Diff to previous 1.99 (colored)

sync with head

Revision 1.100 / (download) - annotate - [select for diffs], Thu Mar 31 19:40:52 2011 UTC (13 years ago) by dyoung
Branch: MAIN
Changes since 1.99: +3 -3 lines
Diff to previous 1.99 (colored)

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) - annotate - [select for diffs], Thu Mar 11 15:04:28 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.94.2.2: +3 -2 lines
Diff to previous 1.94.2.2 (colored) to branchpoint 1.94 (colored) next main 1.95 (colored)

sync with head

Revision 1.99 / (download) - annotate - [select for diffs], Wed Sep 16 15:23:05 2009 UTC (14 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-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
Changes since 1.98: +3 -2 lines
Diff to previous 1.98 (colored)

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) - annotate - [select for diffs], Wed Sep 16 13:38:02 2009 UTC (14 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.94.2.1: +19 -2 lines
Diff to previous 1.94.2.1 (colored) to branchpoint 1.94 (colored)

sync with head

Revision 1.98 / (download) - annotate - [select for diffs], Mon Sep 14 10:36:50 2009 UTC (14 years, 7 months ago) by degroote
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8
Changes since 1.97: +19 -2 lines
Diff to previous 1.97 (colored)

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) - annotate - [select for diffs], Wed May 13 17:22:28 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.96: +3 -2 lines
Diff to previous 1.96 (colored) next main 1.97 (colored)

Sync with HEAD.

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

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

sync with head.

Revision 1.94.10.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:33:38 2009 UTC (15 years, 1 month ago) by skrll
Branch: nick-hppapmap
Changes since 1.94.10.1: +4 -2 lines
Diff to previous 1.94.10.1 (colored) to branchpoint 1.94 (colored) next main 1.95 (colored)

Sync with HEAD.

Revision 1.97 / (download) - annotate - [select for diffs], Sat Feb 28 18:31:12 2009 UTC (15 years, 1 month ago) by pooka
Branch: 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
Changes since 1.96: +3 -2 lines
Diff to previous 1.96 (colored)

include opt_gateway

Revision 1.96 / (download) - annotate - [select for diffs], Sun Feb 1 17:04:11 2009 UTC (15 years, 2 months ago) by pooka
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.95: +3 -2 lines
Diff to previous 1.95 (colored)

Init ipflow pool dynamically instead of using a linkset.

Revision 1.94.10.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:13 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.94: +4 -3 lines
Diff to previous 1.94 (colored)

Sync with HEAD.

Revision 1.91.18.2 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:32 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.91.18.1: +2 -1 lines
Diff to previous 1.91.18.1 (colored) to branchpoint 1.91 (colored) next main 1.92 (colored)

Sync with HEAD.

Revision 1.94.8.1 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:26 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.94: +4 -3 lines
Diff to previous 1.94 (colored) next main 1.95 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.95 / (download) - annotate - [select for diffs], Tue Nov 25 18:28:05 2008 UTC (15 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.94: +4 -3 lines
Diff to previous 1.94 (colored)

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) - annotate - [select for diffs], Mon Jun 2 13:24:24 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.91: +60 -2 lines
Diff to previous 1.91 (colored)

Sync with HEAD.

Revision 1.92.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:28 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.92: +59 -2 lines
Diff to previous 1.92 (colored) next main 1.93 (colored)

sync with head.

Revision 1.94 / (download) - annotate - [select for diffs], Thu Apr 24 11:38:37 2008 UTC (15 years, 11 months ago) by ad
Branch: 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
Changes since 1.93: +56 -2 lines
Diff to previous 1.93 (colored)

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) - annotate - [select for diffs], Wed Apr 23 06:09:04 2008 UTC (15 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.92: +5 -2 lines
Diff to previous 1.92 (colored)

Make IPSEC and FAST_IPSEC stats per-cpu.  Use <net/net_stats.h> and
netstat_sysctl().

Revision 1.92 / (download) - annotate - [select for diffs], Tue Apr 15 16:02:03 2008 UTC (16 years ago) by thorpej
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.91: +3 -2 lines
Diff to previous 1.91 (colored)

Make IGMP stats per-cpu.

Revision 1.87.8.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:33:47 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.87: +44 -33 lines
Diff to previous 1.87 (colored) next main 1.88 (colored)

sync with HEAD

Revision 1.69.2.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:07 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.2.3: +45 -29 lines
Diff to previous 1.69.2.3 (colored) to branchpoint 1.69 (colored) next main 1.70 (colored)

sync with head.

Revision 1.83.2.3 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:48 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.83.2.2: +44 -33 lines
Diff to previous 1.83.2.2 (colored) to branchpoint 1.83 (colored) next main 1.84 (colored)

Sync with head.

Revision 1.87.6.3 / (download) - annotate - [select for diffs], Sun Oct 7 13:25:09 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.87.6.2: +2 -29 lines
Diff to previous 1.87.6.2 (colored) to branchpoint 1.87 (colored) next main 1.88 (colored)

Sync with HEAD.

Revision 1.90.2.1 / (download) - annotate - [select for diffs], Sat Oct 6 15:29:02 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.90: +2 -29 lines
Diff to previous 1.90 (colored) next main 1.91 (colored)

sync with head.

Revision 1.91 / (download) - annotate - [select for diffs], Fri Oct 5 03:28:13 2007 UTC (16 years, 6 months ago) by dyoung
Branch: 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
Changes since 1.90: +2 -29 lines
Diff to previous 1.90 (colored)

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) - annotate - [select for diffs], Tue Oct 2 18:29:18 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.87.6.1: +45 -2 lines
Diff to previous 1.87.6.1 (colored) to branchpoint 1.87 (colored)

Sync with HEAD.

Revision 1.90 / (download) - annotate - [select for diffs], Wed Sep 19 18:52:55 2007 UTC (16 years, 6 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-x86pmap-base
Branch point for: yamt-x86pmap
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (colored)

Don't use INADDR_ANY to initialize a const struct, because INADDR_ANY
is not necessarily const.

Revision 1.89 / (download) - annotate - [select for diffs], Wed Sep 19 04:33:43 2007 UTC (16 years, 6 months ago) by dyoung
Branch: MAIN
Changes since 1.88: +45 -2 lines
Diff to previous 1.88 (colored)

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) - annotate - [select for diffs], Mon Sep 3 16:49:02 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.87: +2 -7 lines
Diff to previous 1.87 (colored)

Sync with HEAD.

Revision 1.69.2.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:42:48 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.2.2: +235 -111 lines
Diff to previous 1.69.2.2 (colored) to branchpoint 1.69 (colored)

sync with head.

Revision 1.87.2.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:23:43 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.87: +2 -7 lines
Diff to previous 1.87 (colored) next main 1.88 (colored)

Sync with HEAD.

Revision 1.88 / (download) - annotate - [select for diffs], Thu Aug 30 02:17:37 2007 UTC (16 years, 7 months ago) by dyoung
Branch: MAIN
CVS Tags: nick-csl-alignment-base5
Changes since 1.87: +2 -7 lines
Diff to previous 1.87 (colored)

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) - annotate - [select for diffs], Sun Jul 15 13:27:56 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.83.2.1: +3 -3 lines
Diff to previous 1.83.2.1 (colored) to branchpoint 1.83 (colored)

Sync with head.

Revision 1.83.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:11:21 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.83: +33 -7 lines
Diff to previous 1.83 (colored) next main 1.84 (colored)

Sync with head.

Revision 1.87 / (download) - annotate - [select for diffs], Wed Jun 13 21:08:29 2007 UTC (16 years, 10 months ago) by dyoung
Branch: 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
Changes since 1.86: +3 -3 lines
Diff to previous 1.86 (colored)

Use __arraycount().

Revision 1.83.2.1 / (download) - annotate - [select for diffs], Fri Jun 8 14:17:45 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.83: +32 -6 lines
Diff to previous 1.83 (colored)

Sync with head.

Revision 1.80.2.2 / (download) - annotate - [select for diffs], Mon May 7 10:55:58 2007 UTC (16 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.80.2.1: +32 -6 lines
Diff to previous 1.80.2.1 (colored) to branchpoint 1.80 (colored) next main 1.81 (colored)

sync with head.

Revision 1.86 / (download) - annotate - [select for diffs], Sun May 6 02:56:37 2007 UTC (16 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.85: +4 -2 lines
Diff to previous 1.85 (colored)

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) - annotate - [select for diffs], Wed May 2 22:39:03 2007 UTC (16 years, 11 months ago) by dyoung
Branch: MAIN
Changes since 1.84: +2 -3 lines
Diff to previous 1.84 (colored)

Remove obsolete files netinet/in_route.[ch].

Revision 1.84 / (download) - annotate - [select for diffs], Wed May 2 20:40:24 2007 UTC (16 years, 11 months ago) by dyoung
Branch: MAIN
Changes since 1.83: +30 -5 lines
Diff to previous 1.83 (colored)

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

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

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

DETAILS

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

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

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

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

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

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

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

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

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

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

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

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Mon Mar 12 05:59:36 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.80: +209 -106 lines
Diff to previous 1.80 (colored)

Sync with HEAD.

Revision 1.83 / (download) - annotate - [select for diffs], Mon Mar 5 00:50:53 2007 UTC (17 years, 1 month ago) by liamjfoy
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.82: +8 -2 lines
Diff to previous 1.82 (colored)

Move ipflow_slowtimo from ip_slowtimo and into in_proto.c

ok matt@

Revision 1.82 / (download) - annotate - [select for diffs], Sun Mar 4 23:53:36 2007 UTC (17 years, 1 month ago) by liamjfoy
Branch: MAIN
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored)

inet6domain -> inetdomain

thanks simon

Revision 1.81 / (download) - annotate - [select for diffs], Sun Mar 4 20:17:05 2007 UTC (17 years, 1 month ago) by liamjfoy
Branch: MAIN
Changes since 1.80: +203 -106 lines
Diff to previous 1.80 (colored)

Initialize protocol switch with structure initializers.

ok christos@

Revision 1.76.2.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:14 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.76.2.1: +27 -16 lines
Diff to previous 1.76.2.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)

Sync with head.

Revision 1.69.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:50:33 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69.2.1: +48 -37 lines
Diff to previous 1.69.2.1 (colored) to branchpoint 1.69 (colored)

sync with head.

Revision 1.76.4.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:10 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.76.4.1: +31 -12 lines
Diff to previous 1.76.4.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)

sync with head.

Revision 1.80 / (download) - annotate - [select for diffs], Sat Dec 9 05:33:04 2006 UTC (17 years, 4 months ago) by dyoung
Branch: 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
Changes since 1.79: +19 -12 lines
Diff to previous 1.79 (colored)

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) - annotate - [select for diffs], Thu Nov 23 04:07:07 2006 UTC (17 years, 4 months ago) by rpaulo
Branch: 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
Changes since 1.78: +10 -6 lines
Diff to previous 1.78 (colored)

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) - annotate - [select for diffs], Sat Nov 18 21:39:36 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.76: +12 -4 lines
Diff to previous 1.76 (colored)

Sync with head.

Revision 1.78 / (download) - annotate - [select for diffs], Mon Nov 13 05:13:42 2006 UTC (17 years, 5 months ago) by dyoung
Branch: MAIN
Changes since 1.77: +11 -3 lines
Diff to previous 1.77 (colored)

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) - annotate - [select for diffs], Sun Oct 22 06:07:28 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.76: +3 -3 lines
Diff to previous 1.76 (colored)

sync with head

Revision 1.77 / (download) - annotate - [select for diffs], Tue Oct 10 21:49:14 2006 UTC (17 years, 6 months ago) by dogcow
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.76: +3 -3 lines
Diff to previous 1.76 (colored)

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) - annotate - [select for diffs], Thu Sep 14 12:31:55 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.71.8.2: +2 -15 lines
Diff to previous 1.71.8.2 (colored) to branchpoint 1.71 (colored) next main 1.72 (colored)

sync with head.

Revision 1.71.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:58:47 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.71: +36 -32 lines
Diff to previous 1.71 (colored) next main 1.72 (colored)

sync with head

Revision 1.76 / (download) - annotate - [select for diffs], Thu Sep 7 02:40:33 2006 UTC (17 years, 7 months ago) by dogcow
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.75: +2 -15 lines
Diff to previous 1.75 (colored)

remove more vestiges of CCITT, LLC, HDLC, NS, and NSIP.

Revision 1.71.8.2 / (download) - annotate - [select for diffs], Sun Sep 3 15:25:42 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.71.8.1: +25 -20 lines
Diff to previous 1.71.8.1 (colored) to branchpoint 1.71 (colored)

sync with head.

Revision 1.75 / (download) - annotate - [select for diffs], Wed Aug 30 17:05:30 2006 UTC (17 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8
Changes since 1.74: +5 -3 lines
Diff to previous 1.74 (colored)

add missing initializers

Revision 1.74 / (download) - annotate - [select for diffs], Mon Aug 28 02:53:03 2006 UTC (17 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.73: +15 -16 lines
Diff to previous 1.73 (colored)

Remove excess initializer.

Revision 1.73 / (download) - annotate - [select for diffs], Fri Aug 25 19:33:50 2006 UTC (17 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.72: +10 -6 lines
Diff to previous 1.72 (colored)

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) - annotate - [select for diffs], Wed Jun 21 15:11:01 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.69: +17 -5 lines
Diff to previous 1.69 (colored)

sync with head.

Revision 1.71.6.1 / (download) - annotate - [select for diffs], Thu Jun 1 22:38:46 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.71: +14 -2 lines
Diff to previous 1.71 (colored) next main 1.72 (colored)

Sync with head.

Revision 1.71.12.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:44 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.71: +14 -2 lines
Diff to previous 1.71 (colored) next main 1.72 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.71.8.1 / (download) - annotate - [select for diffs], Wed May 24 10:59:03 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.71: +14 -2 lines
Diff to previous 1.71 (colored)

sync with head.

Revision 1.72 / (download) - annotate - [select for diffs], Thu May 18 09:05:51 2006 UTC (17 years, 11 months ago) by liamjfoy
Branch: 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
Changes since 1.71: +14 -2 lines
Diff to previous 1.71 (colored)

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) - annotate - [select for diffs], Sun Dec 11 12:24:57 2005 UTC (18 years, 4 months ago) by christos
Branch: 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
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored)

merge ktrace-lwp.

Revision 1.58.6.7 / (download) - annotate - [select for diffs], Thu Nov 10 14:11:07 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.58.6.6: +6 -5 lines
Diff to previous 1.58.6.6 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored)

Sync with HEAD. Here we go again...

Revision 1.68.4.1 / (download) - annotate - [select for diffs], Mon Aug 15 19:05:04 2005 UTC (18 years, 8 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.68: +5 -5 lines
Diff to previous 1.68 (colored) next main 1.69 (colored)

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) - annotate - [select for diffs], Tue Jul 19 12:58:24 2005 UTC (18 years, 8 months ago) by gdt
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.69: +5 -5 lines
Diff to previous 1.69 (colored)

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) - annotate - [select for diffs], Fri Apr 29 11:29:33 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.65: +16 -4 lines
Diff to previous 1.65 (colored) next main 1.66 (colored)

sync with -current

Revision 1.69 / (download) - annotate - [select for diffs], Fri Apr 29 10:39:09 2005 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.68: +3 -2 lines
Diff to previous 1.68 (colored)

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) - annotate - [select for diffs], Tue Feb 15 21:33:39 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.58.6.5: +3 -3 lines
Diff to previous 1.58.6.5 (colored) to branchpoint 1.58 (colored)

Sync with HEAD.

Revision 1.66.2.1 / (download) - annotate - [select for diffs], Sat Feb 12 18:17:54 2005 UTC (19 years, 2 months ago) by yamt
Branch: yamt-km
Changes since 1.66: +12 -3 lines
Diff to previous 1.66 (colored) next main 1.67 (colored)

sync with head.

Revision 1.68 / (download) - annotate - [select for diffs], Sat Feb 12 12:31:07 2005 UTC (19 years, 2 months ago) by manu
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored)

Add support for IPsec Network Address Translator traversal (NAT-T), as
described by RFC 3947 and 3948.

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

Sync with HEAD.

Revision 1.67 / (download) - annotate - [select for diffs], Mon Jan 31 23:49:36 2005 UTC (19 years, 2 months ago) by kim
Branch: MAIN
Changes since 1.66: +11 -2 lines
Diff to previous 1.66 (colored)

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) - annotate - [select for diffs], Mon Jan 24 08:35:53 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.58.6.3: +5 -3 lines
Diff to previous 1.58.6.3 (colored) to branchpoint 1.58 (colored)

Sync with HEAD.

Revision 1.66 / (download) - annotate - [select for diffs], Sun Jan 23 18:41:57 2005 UTC (19 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: yamt-km-base
Branch point for: yamt-km
Changes since 1.65: +5 -3 lines
Diff to previous 1.65 (colored)

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) - annotate - [select for diffs], Tue Sep 21 13:37:11 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.58.6.2: +2 -2 lines
Diff to previous 1.58.6.2 (colored) to branchpoint 1.58 (colored)

Fix the sync with head I botched.

Revision 1.58.6.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:54:53 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.58.6.1: +13 -2 lines
Diff to previous 1.58.6.1 (colored) to branchpoint 1.58 (colored)

Sync with HEAD.

Revision 1.65 / (download) - annotate - [select for diffs], Sat Sep 4 23:30:07 2004 UTC (19 years, 7 months ago) by manu
Branch: MAIN
CVS Tags: kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: kent-audio2
Changes since 1.64: +13 -2 lines
Diff to previous 1.64 (colored)

IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@

Revision 1.58.6.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:54:36 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.58: +39 -21 lines
Diff to previous 1.58 (colored)

Sync with HEAD

Revision 1.64 / (download) - annotate - [select for diffs], Sun Apr 25 16:42:42 2004 UTC (19 years, 11 months ago) by simonb
Branch: MAIN
CVS Tags: BEFORE-IPF413
Changes since 1.63: +3 -3 lines
Diff to previous 1.63 (colored)

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) - annotate - [select for diffs], Thu Apr 22 01:01:41 2004 UTC (19 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.62: +3 -5 lines
Diff to previous 1.62 (colored)

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) - annotate - [select for diffs], Tue Apr 20 20:25:32 2004 UTC (19 years, 11 months ago) by jmc
Branch: netbsd-1-5
Changes since 1.39.4.3: +2 -1 lines
Diff to previous 1.39.4.3 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored)

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) - annotate - [select for diffs], Thu Dec 4 19:38:24 2003 UTC (20 years, 4 months ago) by atatat
Branch: 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
Changes since 1.61: +12 -12 lines
Diff to previous 1.61 (colored)

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) - annotate - [select for diffs], Sat Oct 4 09:44:12 2003 UTC (20 years, 6 months ago) by tron
Branch: 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
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored) next main 1.56 (colored)

Pull up revision 1.60 (requested by itojun in ticket #1409):
enforce ipsec policy on raw wildcard.

Revision 1.39.4.3 / (download) - annotate - [select for diffs], Tue Sep 9 10:33:32 2003 UTC (20 years, 7 months ago) by msaitoh
Branch: netbsd-1-5
Changes since 1.39.4.2: +2 -2 lines
Diff to previous 1.39.4.2 (colored) to branchpoint 1.39 (colored)

Pull up rev. 1.60 via patch (requested by itojun in ticket #68):
 enforce ipsec policy on raw wildcard.

Revision 1.61 / (download) - annotate - [select for diffs], Fri Aug 15 03:42:01 2003 UTC (20 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.60: +28 -4 lines
Diff to previous 1.60 (colored)

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

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

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

Revision 1.60 / (download) - annotate - [select for diffs], Thu Aug 14 07:57:40 2003 UTC (20 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

enforce ipsec policy on raw wildcard.

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

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

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

Revision 1.47.2.8 / (download) - annotate - [select for diffs], Mon Nov 11 22:15:18 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.47.2.7: +1 -0 lines
Diff to previous 1.47.2.7 (colored) next main 1.48 (colored)

Catch up to -current

Revision 1.58 / (download) - annotate - [select for diffs], Sat Nov 2 19:03:44 2002 UTC (21 years, 5 months ago) by itojun
Branch: 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
Changes since 1.57: +3 -2 lines
Diff to previous 1.57 (colored)

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

Revision 1.47.2.7 / (download) - annotate - [select for diffs], Fri Oct 18 02:45:16 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.47.2.6: +3 -3 lines
Diff to previous 1.47.2.6 (colored)

Catch up to -current.

Revision 1.48.2.5 / (download) - annotate - [select for diffs], Thu Oct 10 18:43:53 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.48.2.4: +3 -3 lines
Diff to previous 1.48.2.4 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored)

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

Revision 1.57 / (download) - annotate - [select for diffs], Wed Sep 25 07:37:12 2002 UTC (21 years, 6 months ago) by itojun
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

one too many whitespace

Revision 1.48.2.4 / (download) - annotate - [select for diffs], Sun Jun 23 17:50:44 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.48.2.3: +8 -8 lines
Diff to previous 1.48.2.3 (colored) to branchpoint 1.48 (colored)

catch up with -current on kqueue branch

Revision 1.55.6.1 / (download) - annotate - [select for diffs], Thu Jun 20 15:52:16 2002 UTC (21 years, 9 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.55: +8 -8 lines
Diff to previous 1.55 (colored) next main 1.56 (colored)

catch up with -current.

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

Catch up to -current.

Revision 1.56 / (download) - annotate - [select for diffs], Sun Jun 9 16:33:38 2002 UTC (21 years, 10 months ago) by itojun
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.55: +8 -8 lines
Diff to previous 1.55 (colored)

whitespace

Revision 1.47.2.5 / (download) - annotate - [select for diffs], Mon Apr 1 07:48:31 2002 UTC (22 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.47.2.4: +2 -16 lines
Diff to previous 1.47.2.4 (colored)

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

Revision 1.48.2.3 / (download) - annotate - [select for diffs], Sat Mar 16 16:02:12 2002 UTC (22 years, 1 month ago) by jdolecek
Branch: kqueue
Changes since 1.48.2.2: +2 -16 lines
Diff to previous 1.48.2.2 (colored) to branchpoint 1.48 (colored)

Catch up with -current.

Revision 1.55 / (download) - annotate - [select for diffs], Mon Mar 4 13:24:12 2002 UTC (22 years, 1 month ago) by sommerfeld
Branch: 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
Changes since 1.54: +2 -16 lines
Diff to previous 1.54 (colored)

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) - annotate - [select for diffs], Thu Jan 10 20:02:42 2002 UTC (22 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.48.2.1: +16 -41 lines
Diff to previous 1.48.2.1 (colored) to branchpoint 1.48 (colored)

Sync kqueue branch with -current.

Revision 1.47.2.4 / (download) - annotate - [select for diffs], Tue Jan 8 00:34:03 2002 UTC (22 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.47.2.3: +13 -41 lines
Diff to previous 1.47.2.3 (colored)

Catch up to -current.

Revision 1.54 / (download) - annotate - [select for diffs], Fri Dec 21 06:30:43 2001 UTC (22 years, 3 months ago) by itojun
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored)

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) - annotate - [select for diffs], Fri Dec 21 04:07:25 2001 UTC (22 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.52: +11 -11 lines
Diff to previous 1.52 (colored)

call rip_ctlinput on icmp4 inputs

Revision 1.52 / (download) - annotate - [select for diffs], Fri Dec 21 03:21:51 2001 UTC (22 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.51: +2 -30 lines
Diff to previous 1.51 (colored)

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) - annotate - [select for diffs], Wed Nov 14 19:17:45 2001 UTC (22 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.47.2.2: +5 -2 lines
Diff to previous 1.47.2.2 (colored)

Catch up to -current.

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

add RCSIDs

Revision 1.49.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:23 2001 UTC (22 years, 5 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored) next main 1.50 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Oct 30 06:41:10 2001 UTC (22 years, 5 months ago) by kml
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)

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) - annotate - [select for diffs], Mon Oct 1 12:47:40 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Catch up with -current.

Revision 1.47.2.2 / (download) - annotate - [select for diffs], Fri Sep 21 22:36:47 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.47.2.1: +2 -2 lines
Diff to previous 1.47.2.1 (colored)

Catch up to -current.

Revision 1.48.2.1 / (download) - annotate - [select for diffs], Thu Sep 13 01:16:22 2001 UTC (22 years, 7 months ago) by thorpej
Branch: kqueue
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored)

Update the kqueue branch to HEAD.

Revision 1.49 / (download) - annotate - [select for diffs], Mon Sep 10 04:24:24 2001 UTC (22 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored)

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

Revision 1.47.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:58:20 2001 UTC (23 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.47: +3 -3 lines
Diff to previous 1.47 (colored)

Catch up with -current.

Revision 1.33.2.3 / (download) - annotate - [select for diffs], Tue Mar 27 15:32:29 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.33.2.2: +3 -3 lines
Diff to previous 1.33.2.2 (colored) to branchpoint 1.33 (colored) next main 1.34 (colored)

Sync with HEAD.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Mar 21 19:22:28 2001 UTC (23 years ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base
Branch point for: thorpej-devvp, kqueue
Changes since 1.47: +3 -3 lines
Diff to previous 1.47 (colored)

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) - annotate - [select for diffs], Mon Mar 12 13:31:49 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.33.2.1: +19 -11 lines
Diff to previous 1.33.2.1 (colored) to branchpoint 1.33 (colored)

Sync with HEAD.

Revision 1.39.4.2 / (download) - annotate - [select for diffs], Sun Mar 11 21:09:55 2001 UTC (23 years, 1 month ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.39.4.1: +10 -10 lines
Diff to previous 1.39.4.1 (colored) to branchpoint 1.39 (colored)

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) - annotate - [select for diffs], Thu Mar 1 16:31:38 2001 UTC (23 years, 1 month ago) by itojun
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.46: +11 -11 lines
Diff to previous 1.46 (colored)

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) - annotate - [select for diffs], Wed Feb 21 00:11:53 2001 UTC (23 years, 1 month ago) by itojun
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)

need PR_ADDR|PR_ATOMIC for IPPROTO_EON.  fix typo.  from chopps, sync with kame

Revision 1.45 / (download) - annotate - [select for diffs], Tue Feb 20 08:49:15 2001 UTC (23 years, 1 month ago) by itojun
Branch: MAIN
Changes since 1.44: +10 -2 lines
Diff to previous 1.44 (colored)

ISO over IPv4/v6 by EON encapsulation.  from chopps, sync with kame.

Revision 1.33.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:10:23 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.33: +43 -25 lines
Diff to previous 1.33 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.44 / (download) - annotate - [select for diffs], Wed Oct 18 17:09:14 2000 UTC (23 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.43: +3 -3 lines
Diff to previous 1.43 (colored)

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) - annotate - [select for diffs], Wed Oct 18 07:21:10 2000 UTC (23 years, 6 months ago) by itojun
Branch: MAIN
Changes since 1.42: +1 -12 lines
Diff to previous 1.42 (colored)

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) - annotate - [select for diffs], Wed Aug 16 01:22:22 2000 UTC (23 years, 8 months ago) by itojun
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored)

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) - annotate - [select for diffs], Fri Jul 28 04:06:52 2000 UTC (23 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.41: +1 -3 lines
Diff to previous 1.41 (colored)

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) - annotate - [select for diffs], Thu Jul 27 11:34:06 2000 UTC (23 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.40: +3 -2 lines
Diff to previous 1.40 (colored)

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) - annotate - [select for diffs], Mon Jul 10 09:31:29 2000 UTC (23 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.39: +3 -2 lines
Diff to previous 1.39 (colored)

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) - annotate - [select for diffs], Wed Apr 19 06:30:54 2000 UTC (24 years ago) by itojun
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-ALPHA2, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.38: +37 -14 lines
Diff to previous 1.38 (colored)

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) - annotate - [select for diffs], Thu Feb 17 10:59:35 2000 UTC (24 years, 2 months ago) by darrenr
Branch: MAIN
Changes since 1.37: +3 -1 lines
Diff to previous 1.37 (colored)

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) - annotate - [select for diffs], Tue Feb 15 19:54:11 2000 UTC (24 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.36: +3 -1 lines
Diff to previous 1.36 (colored)

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) - annotate - [select for diffs], Tue Feb 15 04:03:49 2000 UTC (24 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.35: +3 -1 lines
Diff to previous 1.35 (colored)

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) - annotate - [select for diffs], Thu Feb 10 14:44:28 2000 UTC (24 years, 2 months ago) by itojun
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)

fix ip4 protosw.
gif interface and gre interface should be able to coexist.

Revision 1.33.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:14 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.33: +5 -5 lines
Diff to previous 1.33 (colored) next main 1.34 (colored)

Pull up to last week's -current.

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

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

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

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

Revision 1.29.2.1.4.3 / (download) - annotate - [select for diffs], Tue Nov 30 13:35:26 1999 UTC (24 years, 4 months ago) by itojun
Branch: kame
CVS Tags: kame_141_19991130
Changes since 1.29.2.1.4.2: +6 -5 lines
Diff to previous 1.29.2.1.4.2 (colored) to branchpoint 1.29.2.1 (colored) next main 1.30 (colored)

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

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

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

Revision 1.29.2.1.2.3 / (download) - annotate - [select for diffs], Mon Aug 2 22:34:57 1999 UTC (24 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.29.2.1.2.2: +2 -1 lines
Diff to previous 1.29.2.1.2.2 (colored) to branchpoint 1.29.2.1 (colored) next main 1.30 (colored)

Update from trunk.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Jul 9 22:57:18 1999 UTC (24 years, 9 months ago) by thorpej
Branch: 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
Changes since 1.32: +2 -1 lines
Diff to previous 1.32 (colored)

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

Revision 1.29.2.1.4.2 / (download) - annotate - [select for diffs], Tue Jul 6 11:02:44 1999 UTC (24 years, 9 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990705
Changes since 1.29.2.1.4.1: +1 -5 lines
Diff to previous 1.29.2.1.4.1 (colored) to branchpoint 1.29.2.1 (colored)

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

Revision 1.29.2.1.2.2 / (download) - annotate - [select for diffs], Thu Jul 1 23:47:00 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.29.2.1.2.1: +88 -3 lines
Diff to previous 1.29.2.1.2.1 (colored) to branchpoint 1.29.2.1 (colored)

Sync w/ -current.

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

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

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

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

Revision 1.31 / (download) - annotate - [select for diffs], Thu Jul 1 05:53:10 1999 UTC (24 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored)

add PR_LISTEN to protocols which support listen(2)

Revision 1.29.2.1.4.1 / (download) - annotate - [select for diffs], Mon Jun 28 06:36:59 1999 UTC (24 years, 9 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990628
Changes since 1.29.2.1: +90 -1 lines
Diff to previous 1.29.2.1 (colored)

KAME/NetBSD 1.4 SNAP kit, dated 19990628.

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

Revision 1.29.2.1.2.1 / (download) - annotate - [select for diffs], Mon Jun 21 01:27:48 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.29.2.1: +0 -0 lines
Diff to previous 1.29.2.1 (colored)

Sync w/ -current.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Thu Apr 29 14:44:48 1999 UTC (24 years, 11 months ago) by perry
Branch: 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
Changes since 1.29: +2 -3 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

pullup 1.29->1.30 (thorpej)

Revision 1.30 / (download) - annotate - [select for diffs], Thu Apr 29 03:54:22 1999 UTC (24 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.29: +2 -3 lines
Diff to previous 1.29 (colored)

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) - annotate - [select for diffs], Thu Jan 14 01:16:55 1999 UTC (25 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-4-base
Branch point for: netbsd-1-4
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

Domains are associated with protocol families, not address families.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jan 11 21:28:28 1999 UTC (25 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.27: +11 -17 lines
Diff to previous 1.27 (colored)

Adjust for the new IP-IP input path.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Dec 22 02:51:32 1998 UTC (25 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

ipip_input() -> mrt_ipip_input().

Revision 1.26 / (download) - annotate - [select for diffs], Wed Sep 30 05:59:28 1998 UTC (25 years, 6 months ago) by hwr
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Changes since 1.25: +7 -2 lines
Diff to previous 1.25 (colored)

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) - annotate - [select for diffs], Sun Sep 13 20:27:48 1998 UTC (25 years, 7 months ago) by hwr
Branch: MAIN
Changes since 1.24: +20 -1 lines
Diff to previous 1.24 (colored)

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) - annotate - [select for diffs], Wed Jul 15 17:39:20 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.23: +1 -42 lines
Diff to previous 1.23 (colored)

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) - annotate - [select for diffs], Sun Jul 5 06:49:17 1998 UTC (25 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.22: +2 -1 lines
Diff to previous 1.22 (colored)

defopt NS, NSIP.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Jul 5 04:37:42 1998 UTC (25 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.21: +3 -2 lines
Diff to previous 1.21 (colored)

defopt ISO TPIP.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Jul 5 01:06:49 1998 UTC (25 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.20: +2 -1 lines
Diff to previous 1.20 (colored)

defopt EON.

Revision 1.20 / (download) - annotate - [select for diffs], Thu May 7 01:37:27 1998 UTC (25 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.19: +1 -2 lines
Diff to previous 1.19 (colored)

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) - annotate - [select for diffs], Mon Jan 12 03:02:50 1998 UTC (26 years, 3 months ago) by scottr
Branch: MAIN
Changes since 1.18: +3 -1 lines
Diff to previous 1.18 (colored)

Use option header file for MROUTING

Revision 1.18 / (download) - annotate - [select for diffs], Mon Jan 5 10:31:55 1998 UTC (26 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

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

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

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

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

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

Revision 1.17 / (download) - annotate - [select for diffs], Wed Jul 23 21:26:46 1997 UTC (26 years, 8 months ago) by thorpej
Branch: 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
Changes since 1.16: +13 -1 lines
Diff to previous 1.16 (colored)

Pull SYN_cache_branch down into the main line.

Revision 1.16.8.1 / (download) - annotate - [select for diffs], Wed May 14 17:02:00 1997 UTC (26 years, 11 months ago) by mellon
Branch: SYN_cache_branch
Changes since 1.16: +13 -1 lines
Diff to previous 1.16 (colored) next main 1.17 (colored)

Add syn_cache variables

Revision 1.16 / (download) - annotate - [select for diffs], Thu Oct 10 23:04:26 1996 UTC (27 years, 6 months ago) by christos
Branch: 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
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

- fix NSIP; it referenced non-existing functions.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Sep 9 14:51:13 1996 UTC (27 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

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) - annotate - [select for diffs], Sun Feb 18 18:58:32 1996 UTC (28 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Fix PR/2095 options MROUTING did not compile.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Feb 13 23:42:09 1996 UTC (28 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.12: +7 -6 lines
Diff to previous 1.12 (colored)

netinet prototypes

Revision 1.12 / (download) - annotate - [select for diffs], Sat Sep 30 07:02:00 1995 UTC (28 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

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) - annotate - [select for diffs], Wed May 31 21:50:36 1995 UTC (28 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.10: +18 -7 lines
Diff to previous 1.10 (colored)

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) - annotate - [select for diffs], Wed May 31 06:08:27 1995 UTC (28 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

Implement IGMP v2.  Based on the Multicast 3.5 distribution.

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

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

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

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

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 2 05:59:00 1994 UTC (30 years, 2 months ago) by hpeyerl
Branch: MAIN
Changes since 1.6: +2 -6 lines
Diff to previous 1.6 (colored)

Multicast is no longer optional.

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

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

Revision 1.5 / (download) - annotate - [select for diffs], Sat Dec 18 00:41:54 1993 UTC (30 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.4: +8 -8 lines
Diff to previous 1.4 (colored)

Canonicalize all #includes.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Dec 6 04:59:32 1993 UTC (30 years, 4 months ago) by hpeyerl
Branch: MAIN
Changes since 1.3: +11 -1 lines
Diff to previous 1.3 (colored)

multicast support.
>From Chris Maeda, cmaeda@cs.washington.edu
These patches are derived from the IP Multicast patches for BSDI.

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

more rcsid additions and file header cleanups

Revision 1.2 / (download) - annotate - [select for diffs], Sat Apr 10 12:06:49 1993 UTC (31 years ago) by glass
Branch: MAIN
CVS Tags: netbsd-alpha-1, netbsd-0-8
Changes since 1.1: +1 -2 lines
Diff to previous 1.1 (colored)

fixed to be compliant, subservient, and to take advantage of the newly
hacked config(8)

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

initial import of 386bsd-0.1 sources

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (31 years, 1 month ago) by cgd
Branch: MAIN

Initial revision

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




CVSweb <webmaster@jp.NetBSD.org>