The NetBSD Project

CVS log for src/sys/netinet6/mld6.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.99.2.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:17 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.99.2.1: +10 -6 lines
Diff to previous 1.99.2.1 (colored) to branchpoint 1.99 (colored) next main 1.100 (colored) to selected 1.2.2.2 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.101 / (download) - annotate - [select for diffs], Wed Sep 25 09:53:38 2019 UTC (4 years, 6 months ago) by ozaki-r
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, 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, thorpej-altq-separation-base, thorpej-altq-separation, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, 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, 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, bouyer-sunxi-drm-base, bouyer-sunxi-drm, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache, HEAD
Changes since 1.100: +10 -6 lines
Diff to previous 1.100 (colored) to selected 1.2.2.2 (colored)

Make panic messages more informative

Revision 1.99.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:48 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.99: +3 -3 lines
Diff to previous 1.99 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.91.2.3 / (download) - annotate - [select for diffs], Wed Dec 26 14:02:05 2018 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.91.2.2: +3 -3 lines
Diff to previous 1.91.2.2 (colored) to branchpoint 1.91 (colored) next main 1.92 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.100 / (download) - annotate - [select for diffs], Sat Dec 22 14:28:57 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.99: +3 -3 lines
Diff to previous 1.99 (colored) to selected 1.2.2.2 (colored)

Replace M_ALIGN and MH_ALIGN by m_align.

Revision 1.91.2.2 / (download) - annotate - [select for diffs], Mon Jun 25 07:26:07 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.91.2.1: +46 -23 lines
Diff to previous 1.91.2.1 (colored) to branchpoint 1.91 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.89.2.2 / (download) - annotate - [select for diffs], Thu Jun 7 17:48:31 2018 UTC (5 years, 10 months 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
Changes since 1.89.2.1: +46 -23 lines
Diff to previous 1.89.2.1 (colored) to branchpoint 1.89 (colored) next main 1.90 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by ozaki-r in ticket #842):

	sys/netinet6/mld6.c: revision 1.93-1.99
	sys/netinet6/in6_var.h: revision 1.99,1.100
	sys/netinet6/in6.c: revision 1.267,1.268
	sys/netinet6/nd6.c: revision 1.249

Don't hold softnet_lock in mld_timeo
Then we can get rid of remaining abuses of mutex_owned(softnet_lock).

Release in6_multilock on callout_halt of mld_timeo to avoid a deadlock
Improve atomicity of in6_leavegroup and in6_delmulti

Avoid NULL pointer dereference on imm->i6mm_maddr

Make a refcount decrement and a removal from a list of an item atomic
in6m_refcount of an in6m can be incremented if the in6m is on the list
(if_multiaddrs) in in6_addmulti or mld_input.  So we must avoid such an
increment when we try to destroy an in6m.  To this end we must make
an in6m_refcount decrement and a removal of an in6m from if_multiaddrs
atomic.

Make a deletion of in6m in nd6_rtrequest atomic

Move LIST_REMOVE
mld_stoptimer releases in6_multilock temporarily, so we must LIST_REMOVE first.

Avoid double LIST_REMOVE which corrupts lists
Mark in6m as used for non-DIAGNOSTIC builds.

Revision 1.99 / (download) - annotate - [select for diffs], Tue May 29 04:39:26 2018 UTC (5 years, 10 months ago) by ozaki-r
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.98: +8 -7 lines
Diff to previous 1.98 (colored) to selected 1.2.2.2 (colored)

Avoid double LIST_REMOVE which corrupts lists

Revision 1.98 / (download) - annotate - [select for diffs], Tue May 29 04:38:59 2018 UTC (5 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.97: +3 -3 lines
Diff to previous 1.97 (colored) to selected 1.2.2.2 (colored)

Move LIST_REMOVE

mld_stoptimer releases in6_multilock temporarily, so we must LIST_REMOVE first.

Revision 1.97 / (download) - annotate - [select for diffs], Tue May 29 04:38:29 2018 UTC (5 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.96: +15 -2 lines
Diff to previous 1.96 (colored) to selected 1.2.2.2 (colored)

Make a deletion of in6m in nd6_rtrequest atomic

Revision 1.96 / (download) - annotate - [select for diffs], Tue May 29 04:37:58 2018 UTC (5 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.95: +10 -7 lines
Diff to previous 1.95 (colored) to selected 1.2.2.2 (colored)

Make a refcount decrement and a removal from a list of an item atomic

in6m_refcount of an in6m can be incremented if the in6m is on the list
(if_multiaddrs) in in6_addmulti or mld_input.  So we must avoid such an
increment when we try to destroy an in6m.  To this end we must make
an in6m_refcount decrement and a removal of an in6m from if_multiaddrs
atomic.

Revision 1.95 / (download) - annotate - [select for diffs], Tue May 29 04:36:47 2018 UTC (5 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.94: +16 -7 lines
Diff to previous 1.94 (colored) to selected 1.2.2.2 (colored)

Improve atomicity of in6_leavegroup and in6_delmulti

Revision 1.94 / (download) - annotate - [select for diffs], Tue May 29 04:36:15 2018 UTC (5 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.93: +4 -2 lines
Diff to previous 1.93 (colored) to selected 1.2.2.2 (colored)

Release in6_multilock on callout_halt of mld_timeo to avoid a deadlock

Revision 1.93 / (download) - annotate - [select for diffs], Tue May 29 04:35:28 2018 UTC (5 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.92: +7 -12 lines
Diff to previous 1.92 (colored) to selected 1.2.2.2 (colored)

Don't hold softnet_lock in mld_timeo

Then we can get rid of remaining abuses of mutex_owned(softnet_lock).

Revision 1.91.2.1 / (download) - annotate - [select for diffs], Wed May 2 07:20:23 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.91: +2 -5 lines
Diff to previous 1.91 (colored) to selected 1.2.2.2 (colored)

Synch with HEAD

Revision 1.92 / (download) - annotate - [select for diffs], Tue May 1 07:21:39 2018 UTC (5 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0521, pgoyette-compat-0502
Changes since 1.91: +2 -5 lines
Diff to previous 1.91 (colored) to selected 1.2.2.2 (colored)

Remove now unused net_osdep.h includes, the other BSDs did the same.

Revision 1.91 / (download) - annotate - [select for diffs], Thu Feb 1 07:49:19 2018 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.90: +21 -25 lines
Diff to previous 1.90 (colored) to selected 1.2.2.2 (colored)

Style, and remove the 'len' argument from mld_allocbuf(), it is misleading,
we only want a static struct. Beyond that no functional change.

Revision 1.89.2.1 / (download) - annotate - [select for diffs], Tue Jan 2 10:20:34 2018 UTC (6 years, 3 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-0-RC1
Changes since 1.89: +4 -12 lines
Diff to previous 1.89 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by ozaki-r in ticket #456):
	sys/arch/arm/sunxi/sunxi_emac.c: 1.9
	sys/dev/ic/dwc_gmac.c: 1.43-1.44
	sys/dev/pci/if_iwm.c: 1.75
	sys/dev/pci/if_wm.c: 1.543
	sys/dev/pci/ixgbe/ixgbe.c: 1.112
	sys/dev/pci/ixgbe/ixv.c: 1.74
	sys/kern/sys_socket.c: 1.75
	sys/net/agr/if_agr.c: 1.43
	sys/net/bpf.c: 1.219
	sys/net/if.c: 1.397, 1.399, 1.401-1.403, 1.406-1.410, 1.412-1.416
	sys/net/if.h: 1.242-1.247, 1.250, 1.252-1.257
	sys/net/if_bridge.c: 1.140 via patch, 1.142-1.146
	sys/net/if_etherip.c: 1.40
	sys/net/if_ethersubr.c: 1.243, 1.246
	sys/net/if_faith.c: 1.57
	sys/net/if_gif.c: 1.132
	sys/net/if_l2tp.c: 1.15, 1.17
	sys/net/if_loop.c: 1.98-1.101
	sys/net/if_media.c: 1.35
	sys/net/if_pppoe.c: 1.131-1.132
	sys/net/if_spppsubr.c: 1.176-1.177
	sys/net/if_tun.c: 1.142
	sys/net/if_vlan.c: 1.107, 1.109, 1.114-1.121
	sys/net/npf/npf_ifaddr.c: 1.3
	sys/net/npf/npf_os.c: 1.8-1.9
	sys/net/rtsock.c: 1.230
	sys/netcan/if_canloop.c: 1.3-1.5
	sys/netinet/if_arp.c: 1.255
	sys/netinet/igmp.c: 1.65
	sys/netinet/in.c: 1.210-1.211
	sys/netinet/in_pcb.c: 1.180
	sys/netinet/ip_carp.c: 1.92, 1.94
	sys/netinet/ip_flow.c: 1.81
	sys/netinet/ip_input.c: 1.362
	sys/netinet/ip_mroute.c: 1.147
	sys/netinet/ip_output.c: 1.283, 1.285, 1.287
	sys/netinet6/frag6.c: 1.61
	sys/netinet6/in6.c: 1.251, 1.255
	sys/netinet6/in6_pcb.c: 1.162
	sys/netinet6/ip6_flow.c: 1.35
	sys/netinet6/ip6_input.c: 1.183
	sys/netinet6/ip6_output.c: 1.196
	sys/netinet6/mld6.c: 1.90
	sys/netinet6/nd6.c: 1.239-1.240
	sys/netinet6/nd6_nbr.c: 1.139
	sys/netinet6/nd6_rtr.c: 1.136
	sys/netipsec/ipsec_output.c: 1.65
	sys/rump/net/lib/libnetinet/netinet_component.c: 1.9-1.10
kmem_intr_free kmem_intr_[z]alloced memory
the underlying pools are the same but api-wise those should match
Unify IFEF_*_MPSAFE into IFEF_MPSAFE
There are already two flags for if_output and if_start, however, it seems such
MPSAFE flags are eventually needed for all if_XXX operations. Having discrete
flags for each operation is wasteful of if_extflags bits. So let's unify
the flags into one: IFEF_MPSAFE.
Fortunately IFEF_*_MPSAFE flags have never been included in any releases, so
we can change them without breaking backward compatibility of the releases
(though the kernel version of -current should be bumped).
Note that if an interface have both MP-safe and non-MP-safe operations at a
time, we have to set the IFEF_MPSAFE flag and let callees of non-MP-safe
opeartions take the kernel lock.
Proposed on tech-kern@ and tech-net@
Provide macros for softnet_lock and KERNEL_LOCK hiding NET_MPSAFE switch
It reduces C&P codes such as "#ifndef NET_MPSAFE KERNEL_LOCK(1, NULL); ..."
scattered all over the source code and makes it easy to identify remaining
KERNEL_LOCK and/or softnet_lock that are held even if NET_MPSAFE.
No functional change
Hold KERNEL_LOCK on if_ioctl selectively based on IFEF_MPSAFE
If IFEF_MPSAFE is set, hold the lock and otherwise don't hold.
This change requires additions of KERNEL_LOCK to subsequence functions from
if_ioctl such as ifmedia_ioctl and ifioctl_common to protect non-MP-safe
components.
Proposed on tech-kern@ and tech-net@
Ensure to hold if_ioctl_lock when calling if_flags_set
Fix locking against myself on ifpromisc
vlan_unconfig_locked could be called with holding if_ioctl_lock.
Ensure to not turn on IFF_RUNNING of an interface until its initialization completes
And ensure to turn off it before destruction as per IFF_RUNNING's description
"resource allocated". (The description is a bit doubtful though, I believe the
change is still proper.)
Ensure to hold if_ioctl_lock on if_up and if_down
One exception for if_down is if_detach; in the case the lock isn't needed
because it's guaranteed that no other one can access ifp at that point.
Make if_link_queue MP-safe if IFEF_MPSAFE
if_link_queue is a queue to store events of link state changes, which is
used to pass events from (typically) an interrupt handler to
if_link_state_change softint. The queue was protected by KERNEL_LOCK so far,
but if IFEF_MPSAFE is enabled, it becomes unsafe because (perhaps) an interrupt
handler of an interface with IFEF_MPSAFE doesn't take KERNEL_LOCK. Protect it
by a spin mutex.
Additionally with this change KERNEL_LOCK of if_link_state_change softint is
omitted if NET_MPSAFE is enabled.
Note that the spin mutex is now ifp->if_snd.ifq_lock as well as the case of
if_timer (see the comment).
Use IFADDR_WRITER_FOREACH instead of IFADDR_READER_FOREACH
At that point no other one modifies the list so IFADDR_READER_FOREACH
is unnecessary. Use of IFADDR_READER_FOREACH is harmless in general though,
if we try to detect contract violations of pserialize, using it violates
the contract. So avoid using it makes life easy.
Ensure to call if_addr_init with holding if_ioctl_lock
Get rid of outdated comments
Fix build of kernels without ether
By throwing out if_enable_vlan_mtu and if_disable_vlan_mtu that
created a unnecessary dependency from if.c to if_ethersubr.c.
PR kern/52790
Rename IFNET_LOCK to IFNET_GLOBAL_LOCK
IFNET_LOCK will be used in another lock, if_ioctl_lock (might be renamed then).
Wrap if_ioctl_lock with IFNET_* macros (NFC)
Also if_ioctl_lock perhaps needs to be renamed to something because it's now
not just for ioctl...
Reorder some destruction routines in if_detach
- Destroy if_ioctl_lock at the end of the if_detach because it's used in various
  destruction routines
- Move psref_target_destroy after pr_purgeif because we want to use psref in
  pr_purgeif (otherwise destruction procedures can be tricky)
Ensure to call if_mcast_op with holding IFNET_LOCK
Note that CARP doesn't deal with IFNET_LOCK yet.
Remove IFNET_GLOBAL_LOCK where it's unnecessary because IFNET_LOCK is held
Describe which lock is used to protect each member variable of struct ifnet
Requested by skrll@
Write a guideline for converting an interface to IFEF_MPSAFE
Requested by skrll@
Note that IFNET_LOCK must not be held in softint
Don't set IFEF_MPSAFE unless NET_MPSAFE at this point
Because recent investigations show that interfaces with IFEF_MPSAFE need to
follow additional restrictions to work with the flag safely. We should enable it
on an interface by default only if the interface surely satisfies the
restrictions, which are described in if.h.
Note that enabling IFEF_MPSAFE solely gains a few benefit on performance because
the network stack is still serialized by the big kernel locks by default.

Revision 1.55.8.2 / (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.55.8.1: +324 -279 lines
Diff to previous 1.55.8.1 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored) to selected 1.2.2.2 (colored)

update from HEAD

Revision 1.90 / (download) - annotate - [select for diffs], Fri Nov 17 07:37:12 2017 UTC (6 years, 5 months ago) by ozaki-r
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.89: +4 -12 lines
Diff to previous 1.89 (colored) to selected 1.2.2.2 (colored)

Provide macros for softnet_lock and KERNEL_LOCK hiding NET_MPSAFE switch

It reduces C&P codes such as "#ifndef NET_MPSAFE KERNEL_LOCK(1, NULL); ..."
scattered all over the source code and makes it easy to identify remaining
KERNEL_LOCK and/or softnet_lock that are held even if NET_MPSAFE.

No functional change

Revision 1.61.2.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.61.2.7: +257 -283 lines
Diff to previous 1.61.2.7 (colored) to branchpoint 1.61 (colored) next main 1.62 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.88.4.1 / (download) - annotate - [select for diffs], Fri May 19 00:22:58 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.88: +2 -3 lines
Diff to previous 1.88 (colored) next main 1.89 (colored) to selected 1.2.2.2 (colored)

Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)

Revision 1.89 / (download) - annotate - [select for diffs], Sat May 13 20:13:26 2017 UTC (6 years, 11 months ago) by kardel
Branch: MAIN
CVS Tags: prg-localcount2-base3, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: netbsd-8
Changes since 1.88: +2 -3 lines
Diff to previous 1.88 (colored) to selected 1.2.2.2 (colored)

avoid a double ifa_release() and thus a panic when e. g. running ifmcstat

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:06 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.77: +261 -283 lines
Diff to previous 1.77 (colored) next main 1.78 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.72.2.4 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:51 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.72.2.3: +263 -285 lines
Diff to previous 1.72.2.3 (colored) to branchpoint 1.72 (colored) next main 1.73 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.88 / (download) - annotate - [select for diffs], Thu Mar 2 09:48:20 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
CVS Tags: prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: prg-localcount2
Changes since 1.87: +22 -4 lines
Diff to previous 1.87 (colored) to selected 1.2.2.2 (colored)

Plug a race condition on accessing i6mm_maddr

Revision 1.87 / (download) - annotate - [select for diffs], Thu Mar 2 09:16:46 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
Changes since 1.86: +16 -2 lines
Diff to previous 1.86 (colored) to selected 1.2.2.2 (colored)

Fix racy in6m_sol

Relook up the entry instead of reusing it, which makes locking simple.

Revision 1.86 / (download) - annotate - [select for diffs], Thu Mar 2 05:27:39 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
Changes since 1.85: +3 -13 lines
Diff to previous 1.85 (colored) to selected 1.2.2.2 (colored)

Protect ia6_memberships by in6_ifaddr_lock

Revision 1.85 / (download) - annotate - [select for diffs], Wed Mar 1 09:09:37 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
Changes since 1.84: +181 -69 lines
Diff to previous 1.84 (colored) to selected 1.2.2.2 (colored)

Make IPv6 multicast MP-safe partially

To complete the task, we need to make users of IPv6 multicast MP-safe, for
example socket/PCB and CARP.

Revision 1.84 / (download) - annotate - [select for diffs], Wed Mar 1 08:54:12 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
Changes since 1.83: +12 -2 lines
Diff to previous 1.83 (colored) to selected 1.2.2.2 (colored)

Provide in6_multi_group

Use it when checking if we belong to the group, instead of in6_lookup_multi.

No functional change.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Feb 23 07:57:10 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
Changes since 1.82: +55 -226 lines
Diff to previous 1.82 (colored) to selected 1.2.2.2 (colored)

Remove mkludge stuffs

For unknown reasons, IPv6 multicast addresses are linked to a first
IPv6 address assigned to an interface. Due to the design, when removing
a first address having multicast addresses, we need to save them to
somewhere and later restore them once a new IPv6 address is activated.
mkludge stuffs support the operations.

This change links multicast addresses to an interface directly and
throws the kludge away.

Note that as usual some obsolete member variables remain for kvm(3)
users. And also sysctl net.inet6.multicast_kludge remains to avoid
breaking old ifmcstat.

TODO: currently ifnet has a list of in6_multi but obviously the list
should be protocol independent. Provide a common structure (if_multi
or something) to handle in6_multi and in_multi together as well as
ifaddr does for in_ifaddr and in6_ifaddr.

Revision 1.82 / (download) - annotate - [select for diffs], Wed Feb 22 07:46:00 2017 UTC (7 years, 1 month ago) by ozaki-r
Branch: MAIN
Changes since 1.81: +4 -4 lines
Diff to previous 1.81 (colored) to selected 1.2.2.2 (colored)

Stop using useless IN6_*_MULTI macros

Revision 1.81 / (download) - annotate - [select for diffs], Tue Feb 7 02:38:08 2017 UTC (7 years, 2 months ago) by ozaki-r
Branch: MAIN
Changes since 1.80: +4 -2 lines
Diff to previous 1.80 (colored) to selected 1.2.2.2 (colored)

Add missing NULL checks for m_get_rcvif

Revision 1.61.2.7 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:59 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.61.2.6: +13 -10 lines
Diff to previous 1.61.2.6 (colored) to branchpoint 1.61 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.80 / (download) - annotate - [select for diffs], Tue Jan 24 07:09:25 2017 UTC (7 years, 2 months ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20170204
Changes since 1.79: +7 -7 lines
Diff to previous 1.79 (colored) to selected 1.2.2.2 (colored)

Tweak softnet_lock and NET_MPSAFE

- Don't hold softnet_lock in some functions if NET_MPSAFE
- Add softnet_lock to sysctl_net_inet_icmp_redirtimeout
- Add softnet_lock to expire_upcalls of ip_mroute.c
- Restore softnet_lock for in{,6}_pcbpurgeif{,0} if NET_MPSAFE
- Mark some softnet_lock for future work

Revision 1.79 / (download) - annotate - [select for diffs], Mon Jan 16 15:44:47 2017 UTC (7 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored) to selected 1.2.2.2 (colored)

ip6_sprintf -> IN6_PRINT so that we pass the size.

Revision 1.78 / (download) - annotate - [select for diffs], Mon Jan 16 07:33:36 2017 UTC (7 years, 3 months ago) by ryo
Branch: MAIN
Changes since 1.77: +6 -3 lines
Diff to previous 1.77 (colored) to selected 1.2.2.2 (colored)

Make ip6_sprintf(), in_fmtaddr(), lla_snprintf() and icmp6_redirect_diag() mpsafe.

Reviewed by ozaki-r@

Revision 1.77 / (download) - annotate - [select for diffs], Wed Jan 11 13:08:29 2017 UTC (7 years, 3 months ago) by ozaki-r
Branch: MAIN
CVS Tags: bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.76: +2 -3 lines
Diff to previous 1.76 (colored) to selected 1.2.2.2 (colored)

Get rid of unnecessary header inclusions

Revision 1.76 / (download) - annotate - [select for diffs], Tue Jan 10 05:42:34 2017 UTC (7 years, 3 months ago) by ozaki-r
Branch: MAIN
Changes since 1.75: +4 -3 lines
Diff to previous 1.75 (colored) to selected 1.2.2.2 (colored)

Enable some sysctl knobs on rump kernels for ifmcstat

Revision 1.72.2.3 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:51 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.72.2.2: +7 -2 lines
Diff to previous 1.72.2.2 (colored) to branchpoint 1.72 (colored) to selected 1.2.2.2 (colored)

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

Revision 1.61.2.6 / (download) - annotate - [select for diffs], Mon Dec 5 10:55:28 2016 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.61.2.5: +7 -2 lines
Diff to previous 1.61.2.5 (colored) to branchpoint 1.61 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.75 / (download) - annotate - [select for diffs], Fri Nov 18 06:50:04 2016 UTC (7 years, 5 months ago) by knakahara
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20161204
Changes since 1.74: +7 -2 lines
Diff to previous 1.74 (colored) to selected 1.2.2.2 (colored)

fix: "ifconfig destory" can stalls when "ifconfig" is done parallel.
This problem occurs only if NET_MPSAFE on.

ifconfig destroy side:
    kernel entry point is ifioctl => if_clone_destroy.
    pr_purgeif() acquires softnet_lock, and then ifa_remove() calls
    pserialize_perform() holding softnet_lock.
ifconfig side:
    kernel entry point is socreate.
    pr_attach()(udp_attach_wrapper()) calls sosetlock(). In this call path,
    sosetlock() try to acquire softnet_lock.
These can cause dead lock.

Revision 1.61.2.5 / (download) - annotate - [select for diffs], Wed Oct 5 20:56:09 2016 UTC (7 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.61.2.4: +55 -9 lines
Diff to previous 1.61.2.4 (colored) to branchpoint 1.61 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.72.2.2 / (download) - annotate - [select for diffs], Sat Aug 6 00:19:10 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.72.2.1: +51 -9 lines
Diff to previous 1.72.2.1 (colored) to branchpoint 1.72 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.74 / (download) - annotate - [select for diffs], Mon Aug 1 03:15:31 2016 UTC (7 years, 8 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104, pgoyette-localcount-20160806, nick-nhusb-base-20161004, localcount-20160914
Changes since 1.73: +51 -9 lines
Diff to previous 1.73 (colored) to selected 1.2.2.2 (colored)

Apply pserialize and psref to struct ifaddr and its variants

This change makes struct ifaddr and its variants (in_ifaddr and in6_ifaddr)
MP-safe by using pserialize and psref. At this moment, pserialize_perform
and psref_target_destroy are disabled because (1) we don't need them
because of softnet_lock (2) they cause a deadlock because of softnet_lock.
So we'll enable them when we remove softnet_lock in the future.

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Tue Jul 26 03:24:23 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.72: +6 -2 lines
Diff to previous 1.72 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.73 / (download) - annotate - [select for diffs], Wed Jul 20 07:37:51 2016 UTC (7 years, 9 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-20160726
Changes since 1.72: +6 -2 lines
Diff to previous 1.72 (colored) to selected 1.2.2.2 (colored)

Apply pserialize to some iterations of IP address lists

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

Sync with HEAD

Revision 1.72 / (download) - annotate - [select for diffs], Fri Jul 8 04:33:30 2016 UTC (7 years, 9 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-base, nick-nhusb-base-20160907
Branch point for: pgoyette-localcount
Changes since 1.71: +5 -5 lines
Diff to previous 1.71 (colored) to selected 1.2.2.2 (colored)

Replace macros to get an IP address with proper inline functions

The inline functions are more friendly for applying psz/psref;
they consist of only simple interations.

Revision 1.71 / (download) - annotate - [select for diffs], Thu Jul 7 09:32:03 2016 UTC (7 years, 9 months ago) by ozaki-r
Branch: MAIN
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (colored) to selected 1.2.2.2 (colored)

Switch the address list of intefaces to pslist(9)

As usual, we leave the old list to avoid breaking kvm(3) users.

Revision 1.70 / (download) - annotate - [select for diffs], Mon Jul 4 06:48:14 2016 UTC (7 years, 9 months ago) by ozaki-r
Branch: MAIN
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (colored) to selected 1.2.2.2 (colored)

Use pslist(9) for the global in6_ifaddr list

psz and psref will be applied in another commit.

No functional change intended.

Revision 1.69 / (download) - annotate - [select for diffs], Wed Jun 22 07:48:17 2016 UTC (7 years, 9 months ago) by ozaki-r
Branch: MAIN
Changes since 1.68: +2 -6 lines
Diff to previous 1.68 (colored) to selected 1.2.2.2 (colored)

Remove unnecessary NULL checks of ifa->ifa_addr

If it's NULL, it should be a bug. There many IFADDR_FOREACH that don't do
NULL check. If it can be NULL, they should fire already.

Revision 1.68 / (download) - annotate - [select for diffs], Tue Jun 21 03:28:27 2016 UTC (7 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored) to selected 1.2.2.2 (colored)

Replace ifp of ip_moptions and ip6_moptions with if_index

The motivation is the same as the mbuf's rcvif case; avoid having a pointer
of an ifnet object in ip_moptions and ip6_moptions, which is not MP-safe.

ip_moptions and ip6_moptions can be stored in a PCB for inet or inet6
that's life time is different from ifnet one and so an ifnet object can be
disappeared anytime we get it via them. Thus we need to look up an ifnet
object by if_index every time for safe.

Revision 1.67 / (download) - annotate - [select for diffs], Thu Jun 16 03:03:33 2016 UTC (7 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.66: +13 -4 lines
Diff to previous 1.66 (colored) to selected 1.2.2.2 (colored)

Use if_get_byindex instead of if_byindex for MP-safe

Revision 1.66 / (download) - annotate - [select for diffs], Fri Jun 10 13:31:44 2016 UTC (7 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.65: +11 -8 lines
Diff to previous 1.65 (colored) to selected 1.2.2.2 (colored)

Avoid storing a pointer of an interface in a mbuf

Having a pointer of an interface in a mbuf isn't safe if we remove big
kernel locks; an interface object (ifnet) can be destroyed anytime in any
packet processing and accessing such object via a pointer is racy. Instead
we have to get an object from the interface collection (ifindex2ifnet) via
an interface index (if_index) that is stored to a mbuf instead of an
pointer.

The change provides two APIs: m_{get,put}_rcvif_psref that use psref(9)
for sleep-able critical sections and m_{get,put}_rcvif that use
pserialize(9) for other critical sections. The change also adds another
API called m_get_rcvif_NOMPSAFE, that is NOT MP-safe and for transition
moratorium, i.e., it is intended to be used for places where are not
planned to be MP-ified soon.

The change adds some overhead due to psref to performance sensitive paths,
however the overhead is not serious, 2% down at worst.

Proposed on tech-kern and tech-net.

Revision 1.65 / (download) - annotate - [select for diffs], Fri Jun 10 13:27:16 2016 UTC (7 years, 10 months ago) by ozaki-r
Branch: MAIN
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) to selected 1.2.2.2 (colored)

Introduce m_set_rcvif and m_reset_rcvif

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

No functional change.

Revision 1.61.2.3 / (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.61.2.2: +7 -4 lines
Diff to previous 1.61.2.2 (colored) to branchpoint 1.61 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.59.2.2.2.1 / (download) - annotate - [select for diffs], Wed Nov 18 08:34:49 2015 UTC (8 years, 5 months ago) by msaitoh
Branch: netbsd-7-0
CVS Tags: netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE
Changes since 1.59.2.2: +7 -4 lines
Diff to previous 1.59.2.2 (colored) next main 1.59.2.3 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by joerg in ticket #1035):
	sys/netinet6/mld6.c: revision 1.64
Ensure that the callout of the multicast address is valid before
hooking it up.

Revision 1.59.2.3 / (download) - annotate - [select for diffs], Wed Nov 18 08:33:08 2015 UTC (8 years, 5 months ago) by msaitoh
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1
Changes since 1.59.2.2: +7 -4 lines
Diff to previous 1.59.2.2 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by joerg in ticket #1035):
	sys/netinet6/mld6.c: revision 1.64
Ensure that the callout of the multicast address is valid before
hooking it up.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Nov 12 15:01:06 2015 UTC (8 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Changes since 1.63: +7 -4 lines
Diff to previous 1.63 (colored) to selected 1.2.2.2 (colored)

Ensure that the callout of the multicast address is valid before
hooking it up.

Revision 1.61.2.2 / (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.61.2.1: +8 -6 lines
Diff to previous 1.61.2.1 (colored) to branchpoint 1.61 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.63 / (download) - annotate - [select for diffs], Mon Aug 24 22:21:27 2015 UTC (8 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.62: +4 -2 lines
Diff to previous 1.62 (colored) to selected 1.2.2.2 (colored)

sprinkle _KERNEL_OPT

Revision 1.61.2.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.61: +3 -2 lines
Diff to previous 1.61 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.59.2.2 / (download) - annotate - [select for diffs], Fri Jan 23 09:27:15 2015 UTC (9 years, 2 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1
Branch point for: netbsd-7-0
Changes since 1.59.2.1: +3 -2 lines
Diff to previous 1.59.2.1 (colored) to branchpoint 1.59 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by pettai in ticket #441):
	sys/netinet6/ip6_var.h: revision 1.64
	sys/netinet6/in6.h: revision 1.82
	sys/netinet6/in6_src.c: revision 1.56
	sys/netinet6/mld6.c: revision 1.62
	sys/netinet6/ip6_input.c: revision 1.150
	sys/netinet6/ip6_output.c: revision 1.161
Add net.inet6.ip6.prefer_tempaddr sysctl knob so that we can prefer
IPv6 temporary addresses as the source address.
Fixes PR kern/47100 based on a patch by Dieter Roelants.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Jan 20 21:27:36 2015 UTC (9 years, 3 months ago) by roy
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606, nick-nhusb-base-20150406
Changes since 1.61: +3 -2 lines
Diff to previous 1.61 (colored) to selected 1.2.2.2 (colored)

Add net.inet6.ip6.prefer_tempaddr sysctl knob so that we can prefer
IPv6 temporary addresses as the source address.

Fixes PR kern/47100 based on a patch by Dieter Roelants.

Revision 1.59.2.1 / (download) - annotate - [select for diffs], Mon Dec 29 17:33:49 2014 UTC (9 years, 3 months ago) by martin
Branch: netbsd-7
Changes since 1.59: +13 -2 lines
Diff to previous 1.59 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by ozaki-r in ticket #360):
	sys/netinet6/mld6.c: revision 1.61
Ensure callout isn't running and pending before callout_destroy
Call callout_halt before callout_destroy. And also let callout (mld_timeo)
not call callout_schedule when we already called callout_halt.
This fixes PR 47881.

Revision 1.55.4.1 / (download) - annotate - [select for diffs], Mon Dec 29 15:45:44 2014 UTC (9 years, 3 months ago) by martin
Branch: netbsd-6
Changes since 1.55: +13 -2 lines
Diff to previous 1.55 (colored) next main 1.56 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by ozaki-r in ticket #1224):
	sys/netinet6/mld6.c: revision 1.61
Ensure callout isn't running and pending before callout_destroy
Call callout_halt before callout_destroy. And also let callout (mld_timeo)
not call callout_schedule when we already called callout_halt.
This fixes PR 47881.

Revision 1.61 / (download) - annotate - [select for diffs], Wed Nov 12 03:24:25 2014 UTC (9 years, 5 months ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.60: +13 -2 lines
Diff to previous 1.60 (colored) to selected 1.2.2.2 (colored)

Ensure callout isn't running and pending before callout_destroy

Call callout_halt before callout_destroy. And also let callout (mld_timeo)
not call callout_schedule when we already called callout_halt.

This fixes PR 47881.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Sep 9 20:16:12 2014 UTC (9 years, 7 months ago) by rmind
Branch: MAIN
Changes since 1.59: +9 -9 lines
Diff to previous 1.59 (colored) to selected 1.2.2.2 (colored)

Eliminate IFAREF() and IFAFREE() macros in favour of functions.

Revision 1.55.8.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:36 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.55: +152 -3 lines
Diff to previous 1.55 (colored) to selected 1.2.2.2 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.55.22.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:30 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.55: +152 -3 lines
Diff to previous 1.55 (colored) next main 1.56 (colored) to selected 1.2.2.2 (colored)

Rebase.

Revision 1.59 / (download) - annotate - [select for diffs], Sat Jul 26 22:21:16 2014 UTC (9 years, 8 months ago) by joerg
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base
Branch point for: netbsd-7
Changes since 1.58: +8 -2 lines
Diff to previous 1.58 (colored) to selected 1.2.2.2 (colored)

PR 49036: net.inet6 has not been created when the sysctl constructor
for net.inet6.multicast is run.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Jul 25 07:12:55 2014 UTC (9 years, 8 months ago) by ozaki-r
Branch: MAIN
Changes since 1.57: +4 -4 lines
Diff to previous 1.57 (colored) to selected 1.2.2.2 (colored)

Use IFADDR_FOREACH for iterating if_addrlist of ifnet

Revision 1.57 / (download) - annotate - [select for diffs], Tue Jun 10 09:38:30 2014 UTC (9 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.56: +145 -2 lines
Diff to previous 1.56 (colored) to selected 1.2.2.2 (colored)

Introduce new sysctls for obtaining interface-specific addresses:
- net.sdl for the active link-layer adddress (the MAC)
- net.ether.multicast for the Ethernet multicast addresses
- net.inet6.multicast for the IPv6 multicast groups
- net.inet6.multicast_kludge for temporarily removed multicast groups

Use this sysctls for replacing the kmem grovelling in ifmcstat(8).

Revision 1.56 / (download) - annotate - [select for diffs], Mon Jun 2 11:02:20 2014 UTC (9 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored) to selected 1.2.2.2 (colored)

Use explicit initializer.

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:45 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.54: +5 -4 lines
Diff to previous 1.54 (colored) next main 1.55 (colored) to selected 1.2.2.2 (colored)

sync with head

Revision 1.55 / (download) - annotate - [select for diffs], Sat Nov 19 22:51:29 2011 UTC (12 years, 5 months ago) by tls
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, 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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, agc-symver-base, agc-symver
Branch point for: tls-maxphys, tls-earlyentropy, netbsd-6
Changes since 1.54: +5 -4 lines
Diff to previous 1.54 (colored) to selected 1.2.2.2 (colored)

First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>.  This change includes
the following:

	An initial cleanup and minor reorganization of the entropy pool
	code in sys/dev/rnd.c and sys/dev/rndpool.c.  Several bugs are
	fixed.  Some effort is made to accumulate entropy more quickly at
	boot time.

	A generic interface, "rndsink", is added, for stream generators to
	request that they be re-keyed with good quality entropy from the pool
	as soon as it is available.

	The arc4random()/arc4randbytes() implementation in libkern is
	adjusted to use the rndsink interface for rekeying, which helps
	address the problem of low-quality keys at boot time.

	An implementation of the FIPS 140-2 statistical tests for random
	number generator quality is provided (libkern/rngtest.c).  This
	is based on Greg Rose's implementation from Qualcomm.

	A new random stream generator, nist_ctr_drbg, is provided.  It is
	based on an implementation of the NIST SP800-90 CTR_DRBG by
	Henric Jungheim.  This generator users AES in a modified counter
	mode to generate a backtracking-resistant random stream.

	An abstraction layer, "cprng", is provided for in-kernel consumers
	of randomness.  The arc4random/arc4randbytes API is deprecated for
	in-kernel use.  It is replaced by "cprng_strong".  The current
	cprng_fast implementation wraps the existing arc4random
	implementation.  The current cprng_strong implementation wraps the
	new CTR_DRBG implementation.  Both interfaces are rekeyed from
	the entropy pool automatically at intervals justifiable from best
	current cryptographic practice.

	In some quick tests, cprng_fast() is about the same speed as
	the old arc4randbytes(), and cprng_strong() is about 20% faster
	than rnd_extract_data().  Performance is expected to improve.

	The AES code in src/crypto/rijndael is no longer an optional
	kernel component, as it is required by cprng_strong, which is
	not an optional kernel component.

	The entropy pool output is subjected to the rngtest tests at
	startup time; if it fails, the system will reboot.  There is
	approximately a 3/10000 chance of a false positive from these
	tests.  Entropy pool _input_ from hardware random numbers is
	subjected to the rngtest tests at attach time, as well as the
	FIPS continuous-output test, to detect bad or stuck hardware
	RNGs; if any are detected, they are detached, but the system
	continues to run.

	A problem with rndctl(8) is fixed -- datastructures with
	pointers in arrays are no longer passed to userspace (this
	was not a security problem, but rather a major issue for
	compat32).  A new kernel will require a new rndctl.

	The sysctl kern.arandom() and kern.urandom() nodes are hooked
	up to the new generators, but the /dev/*random pseudodevices
	are not, yet.

	Manual pages for the new kernel interfaces are forthcoming.

Revision 1.54 / (download) - annotate - [select for diffs], Wed Oct 19 01:53:07 2011 UTC (12 years, 6 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.53: +8 -8 lines
Diff to previous 1.53 (colored) to selected 1.2.2.2 (colored)

Use if_addr_init() and if_mcast_op() instead of ifp->if_ioctl().

Revision 1.53 / (download) - annotate - [select for diffs], Wed Aug 31 18:31:03 2011 UTC (12 years, 7 months ago) by plunky
Branch: MAIN
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored) to selected 1.2.2.2 (colored)

NULL does not need a cast

Revision 1.51.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:00 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored) next main 1.52 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.51.4.1 / (download) - annotate - [select for diffs], Tue May 31 03:05:09 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored) next main 1.52 (colored) to selected 1.2.2.2 (colored)

sync with head

Revision 1.52 / (download) - annotate - [select for diffs], Thu Apr 21 06:58:31 2011 UTC (13 years ago) by dholland
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored) to selected 1.2.2.2 (colored)

Prune dead assignment, from Henning Petersen in PR 44890.

Revision 1.45.2.2 / (download) - annotate - [select for diffs], Wed Aug 19 18:48:25 2009 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.45.2.1: +6 -9 lines
Diff to previous 1.45.2.1 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Aug 4 22:04:23 2009 UTC (14 years, 8 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, 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.50: +6 -9 lines
Diff to previous 1.50 (colored) to selected 1.2.2.2 (colored)

Use malloc(...|M_ZERO) instead of malloc(...) followed by memset(,0,).

Revision 1.48.4.1 / (download) - annotate - [select for diffs], Wed May 13 17:22:29 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored) next main 1.49 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

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

Revision 1.45.2.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:19 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.45: +10 -15 lines
Diff to previous 1.45 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.47.2.2 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:24 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.47.2.1: +3 -3 lines
Diff to previous 1.47.2.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.50 / (download) - annotate - [select for diffs], Sat Apr 18 14:58:05 2009 UTC (15 years ago) by tsutsui
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend-base
Changes since 1.49: +3 -3 lines
Diff to previous 1.49 (colored) to selected 1.2.2.2 (colored)

Remove extra whitespace added by a stupid tool.
XXX: more in src/sys/arch

Revision 1.49 / (download) - annotate - [select for diffs], Wed Mar 18 17:06:52 2009 UTC (15 years, 1 month ago) by cegger
Branch: MAIN
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored) to selected 1.2.2.2 (colored)

bcopy -> memcpy

Revision 1.47.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:14 2009 UTC (15 years, 3 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.47: +3 -6 lines
Diff to previous 1.47 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.41.18.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:33 2009 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.41.18.3: +1 -4 lines
Diff to previous 1.41.18.3 (colored) to branchpoint 1.41 (colored) next main 1.42 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.46.4.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:27 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.46.4.1: +3 -6 lines
Diff to previous 1.46.4.1 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored) to selected 1.2.2.2 (colored)

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

Revision 1.48 / (download) - annotate - [select for diffs], Fri Nov 7 00:20:18 2008 UTC (15 years, 5 months ago) by dyoung
Branch: MAIN
CVS Tags: nick-hppapmap-base2, mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: jym-xensuspend
Changes since 1.47: +3 -6 lines
Diff to previous 1.47 (colored) to selected 1.2.2.2 (colored)

*** Summary ***

When a link-layer address changes (e.g., ifconfig ex0 link
02:de:ad:be:ef:02 active), send a gratuitous ARP and/or a Neighbor
Advertisement to update the network-/link-layer address bindings
on our LAN peers.

Refuse a change of ethernet address to the address 00:00:00:00:00:00
or to any multicast/broadcast address.  (Thanks matt@.)

Reorder ifnet ioctl operations so that driver ioctls may inherit
the functions of their "class"---ether_ioctl(), fddi_ioctl(), et
cetera---and the class ioctls may inherit from the generic ioctl,
ifioctl_common(), but both driver- and class-ioctls may override
the generic behavior.  Make network drivers share more code.

Distinguish a "factory" link-layer address from others for the
purposes of both protecting that address from deletion and computing
EUI64.

Return consistent, appropriate error codes from network drivers.

Improve readability.  KNF.

*** Details ***

In if_attach(), always initialize the interface ioctl routine,
ifnet->if_ioctl, if the driver has not already initialized it.
Delete if_ioctl == NULL tests everywhere else, because it cannot
happen.

In the ioctl routines of network interfaces, inherit common ioctl
behaviors by calling either ifioctl_common() or whichever ioctl
routine is appropriate for the class of interface---e.g., ether_ioctl()
for ethernets.

Stop (ab)using SIOCSIFADDR and start to use SIOCINITIFADDR.  In
the user->kernel interface, SIOCSIFADDR's argument was an ifreq,
but on the protocol->ifnet interface, SIOCSIFADDR's argument was
an ifaddr.  That was confusing, and it would work against me as I
make it possible for a network interface to overload most ioctls.
On the protocol->ifnet interface, replace SIOCSIFADDR with
SIOCINITIFADDR.  In ifioctl(), return EPERM if userland tries to
invoke SIOCINITIFADDR.

In ifioctl(), give the interface the first shot at handling most
interface ioctls, and give the protocol the second shot, instead
of the other way around. Finally, let compatibility code (COMPAT_OSOCK)
take a shot.

Pull device initialization out of switch statements under
SIOCINITIFADDR.  For example, pull ..._init() out of any switch
statement that looks like this:

        switch (...->sa_family) {
        case ...:
                ..._init();
                ...
                break;
        ...
        default:
                ..._init();
                ...
                break;
        }

Rewrite many if-else clauses that handle all permutations of IFF_UP
and IFF_RUNNING to use a switch statement,

        switch (x & (IFF_UP|IFF_RUNNING)) {
        case 0:
                ...
                break;
        case IFF_RUNNING:
                ...
                break;
        case IFF_UP:
                ...
                break;
        case IFF_UP|IFF_RUNNING:
                ...
                break;
        }

unifdef lots of code containing #ifdef FreeBSD, #ifdef NetBSD, and
#ifdef SIOCSIFMTU, especially in fwip(4) and in ndis(4).

In ipw(4), remove an if_set_sadl() call that is out of place.

In nfe(4), reuse the jumbo MTU logic in ether_ioctl().

Let ethernets register a callback for setting h/w state such as
promiscuous mode and the multicast filter in accord with a change
in the if_flags: ether_set_ifflags_cb() registers a callback that
returns ENETRESET if the caller should reset the ethernet by calling
if_init(), 0 on success, != 0 on failure.  Pull common code from
ex(4), gem(4), nfe(4), sip(4), tlp(4), vge(4) into ether_ioctl(),
and register if_flags callbacks for those drivers.

Return ENOTTY instead of EINVAL for inappropriate ioctls.  In
zyd(4), use ENXIO instead of ENOTTY to indicate that the device is
not any longer attached.

Add to if_set_sadl() a boolean 'factory' argument that indicates
whether a link-layer address was assigned by the factory or some
other source.  In a comment, recommend using the factory address
for generating an EUI64, and update in6_get_hw_ifid() to prefer a
factory address to any other link-layer address.

Add a routing message, RTM_LLINFO_UPD, that tells protocols to
update the binding of network-layer addresses to link-layer addresses.
Implement this message in IPv4 and IPv6 by sending a gratuitous
ARP or a neighbor advertisement, respectively.  Generate RTM_LLINFO_UPD
messages on a change of an interface's link-layer address.

In ether_ioctl(), do not let SIOCALIFADDR set a link-layer address
that is broadcast/multicast or equal to 00:00:00:00:00:00.

Make ether_ioctl() call ifioctl_common() to handle ioctls that it
does not understand.

In gif(4), initialize if_softc and use it, instead of assuming that
the gif_softc and ifp overlap.

Let ifioctl_common() handle SIOCGIFADDR.

Sprinkle rtcache_invariants(), which checks on DIAGNOSTIC kernels
that certain invariants on a struct route are satisfied.

In agr(4), rewrite agr_ioctl_filter() to be a bit more explicit
about the ioctls that we do not allow on an agr(4) member interface.

bzero -> memset.  Delete unnecessary casts to void *.  Use
sockaddr_in_init() and sockaddr_in6_init().  Compare pointers with
NULL instead of "testing truth".  Replace some instances of (type
*)0 with NULL.  Change some K&R prototypes to ANSI C, and join
lines.

Revision 1.46.4.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:52 2008 UTC (15 years, 6 months ago) by haad
Branch: haad-dm
Changes since 1.46: +7 -7 lines
Diff to previous 1.46 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.41.18.3 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:59 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.41.18.2: +5 -5 lines
Diff to previous 1.41.18.2 (colored) to branchpoint 1.41 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.45.4.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:37:01 2008 UTC (15 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.45.4.1: +7 -7 lines
Diff to previous 1.45.4.1 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored) to selected 1.2.2.2 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.36.8.1 / (download) - annotate - [select for diffs], Thu Sep 4 08:46:51 2008 UTC (15 years, 7 months ago) by skrll
Branch: wrstuden-fixsa
Changes since 1.36: +7 -7 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.2.2.2 (colored)

Sync with netbsd-4.

Revision 1.36.12.1 / (download) - annotate - [select for diffs], Sat Aug 23 17:03:31 2008 UTC (15 years, 7 months ago) by bouyer
Branch: netbsd-4-0
CVS Tags: netbsd-4-0-1-RELEASE
Changes since 1.36: +7 -7 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by adrianp in ticket #1187):
	sys/netinet6/mld6.c: revision 1.47
Fix from matt@ for malformed ICMPv6 MLD query (CVE-2008-2464).

Revision 1.36.2.1 / (download) - annotate - [select for diffs], Sat Aug 23 17:02:31 2008 UTC (15 years, 7 months ago) by bouyer
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base
Changes since 1.36: +7 -7 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.2.2.2 (colored)

Pull up following revision(s) (requested by adrianp in ticket #1187):
	sys/netinet6/mld6.c: revision 1.47
Fix from matt@ for malformed ICMPv6 MLD query (CVE-2008-2464).

Revision 1.47 / (download) - annotate - [select for diffs], Fri Aug 22 17:11:39 2008 UTC (15 years, 8 months ago) by adrianp
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, 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, haad-dm-base1
Branch point for: nick-hppapmap
Changes since 1.46: +7 -7 lines
Diff to previous 1.46 (colored) to selected 1.2.2.2 (colored)

Fix from matt@ for malformed ICMPv6 MLD query (CVE-2008-2464).

Revision 1.45.4.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:59 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.45: +4 -6 lines
Diff to previous 1.45 (colored) to selected 1.2.2.2 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.44.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:48 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.44.2.1: +4 -6 lines
Diff to previous 1.44.2.1 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored) to selected 1.2.2.2 (colored)

sync with head

Revision 1.41.18.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:27 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.41.18.1: +12 -9 lines
Diff to previous 1.41.18.1 (colored) to branchpoint 1.41 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.46 / (download) - annotate - [select for diffs], Thu May 22 01:06:40 2008 UTC (15 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl
Branch point for: haad-dm
Changes since 1.45: +4 -6 lines
Diff to previous 1.45 (colored) to selected 1.2.2.2 (colored)

Don't cast to void * unnecessarily.

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:35 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.44: +9 -5 lines
Diff to previous 1.44 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Apr 24 11:38:38 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2, yamt-nfs-mp-base, hpcarm-cleanup-nbase
Branch point for: yamt-nfs-mp, wrstuden-revivesa
Changes since 1.44: +9 -5 lines
Diff to previous 1.44 (colored) to selected 1.2.2.2 (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.44 / (download) - annotate - [select for diffs], Tue Apr 15 03:57:04 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.43: +5 -4 lines
Diff to previous 1.43 (colored) to selected 1.2.2.2 (colored)

Make ip6 and icmp6 stats per-cpu.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Apr 8 15:04:35 2008 UTC (16 years ago) by thorpej
Branch: MAIN
Changes since 1.42: +4 -4 lines
Diff to previous 1.42 (colored) to selected 1.2.2.2 (colored)

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

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

Revision 1.41.18.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:09 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.41.14.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:24 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored) next main 1.42 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.39.8.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:07 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.39.8.1: +3 -3 lines
Diff to previous 1.39.8.1 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored) to selected 1.2.2.2 (colored)

sync with HEAD

Revision 1.27.4.5 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:42 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.4.4: +3 -3 lines
Diff to previous 1.27.4.4 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.42 / (download) - annotate - [select for diffs], Wed Feb 27 19:40:56 2008 UTC (16 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, ad-socklock-base1
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored) to selected 1.2.2.2 (colored)

Convert to ansi definitions from old-style definitons.
Remember that func() is not ansi, func(void) is.

Revision 1.39.8.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:34:07 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.39: +11 -28 lines
Diff to previous 1.39 (colored) to selected 1.2.2.2 (colored)

sync with HEAD

Revision 1.27.4.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:14 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.4.3: +9 -20 lines
Diff to previous 1.27.4.3 (colored) to branchpoint 1.27 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.39.6.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:49:09 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.39.6.1: +9 -20 lines
Diff to previous 1.39.6.1 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.37.2.4 / (download) - annotate - [select for diffs], Tue Oct 23 20:17:22 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.37.2.3: +9 -20 lines
Diff to previous 1.37.2.3 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored) to selected 1.2.2.2 (colored)

Sync with head.

Revision 1.40.2.1 / (download) - annotate - [select for diffs], Thu Oct 18 08:33:13 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.40: +9 -20 lines
Diff to previous 1.40 (colored) next main 1.41 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.41 / (download) - annotate - [select for diffs], Tue Oct 16 20:31:33 2007 UTC (16 years, 6 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, mjf-devfs, matt-armv6-base, 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
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.40: +9 -20 lines
Diff to previous 1.40 (colored) to selected 1.2.2.2 (colored)

Inline callout_t in struct in6_multi. This fixes a number of possible
memory leaks. Explicitly destroy the callout before freeing it.
Use callout_setfunc/callout_schedule instead of repeating it for
callout_reset.

Bump NetBSD version to 4.99.34 for kvm users.

Revision 1.37.2.3 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:56 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.37.2.2: +4 -10 lines
Diff to previous 1.37.2.2 (colored) to branchpoint 1.37 (colored) to selected 1.2.2.2 (colored)

Sync with head.

Revision 1.39.6.1 / (download) - annotate - [select for diffs], Mon Sep 3 16:49:08 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.39: +4 -10 lines
Diff to previous 1.39 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.27.4.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:43:40 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.4.2: +27 -54 lines
Diff to previous 1.27.4.2 (colored) to branchpoint 1.27 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:23:48 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.39: +4 -10 lines
Diff to previous 1.39 (colored) next main 1.40 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.40 / (download) - annotate - [select for diffs], Fri Aug 31 21:40:41 2007 UTC (16 years, 7 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, vmlocking-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap
Changes since 1.39: +4 -10 lines
Diff to previous 1.39 (colored) to selected 1.2.2.2 (colored)

Use sockaddr_in6_init().

Revision 1.37.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:11:47 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.37: +22 -43 lines
Diff to previous 1.37 (colored) next main 1.38 (colored) to selected 1.2.2.2 (colored)

Sync with head.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Jul 9 21:11:13 2007 UTC (16 years, 9 months ago) by ad
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.38: +3 -3 lines
Diff to previous 1.38 (colored) to selected 1.2.2.2 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.37.2.2 / (download) - annotate - [select for diffs], Sun Jul 1 21:50:53 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.37.2.1: +3 -3 lines
Diff to previous 1.37.2.1 (colored) to branchpoint 1.37 (colored) to selected 1.2.2.2 (colored)

Adapt to callout API change.

Revision 1.37.2.1 / (download) - annotate - [select for diffs], Fri Jun 8 14:17:57 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.37: +21 -42 lines
Diff to previous 1.37 (colored) to selected 1.2.2.2 (colored)

Sync with head.

Revision 1.38 / (download) - annotate - [select for diffs], Wed May 23 17:15:03 2007 UTC (16 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.37: +21 -42 lines
Diff to previous 1.37 (colored) to selected 1.2.2.2 (colored)

Ansify + add a few comments, from Karl Sjödahl

Revision 1.36.4.1 / (download) - annotate - [select for diffs], Mon Mar 12 05:59:59 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.36: +5 -5 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Mar 4 06:03:27 2007 UTC (17 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.36: +5 -5 lines
Diff to previous 1.36 (colored) to selected 1.2.2.2 (colored)

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

Revision 1.32.12.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:15 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.32.12.1: +43 -43 lines
Diff to previous 1.32.12.1 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored) to selected 1.2.2.2 (colored)

Sync with head.

Revision 1.27.4.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:50:39 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.4.1: +45 -48 lines
Diff to previous 1.27.4.1 (colored) to branchpoint 1.27 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.32.14.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:16 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.32.14.1: +44 -44 lines
Diff to previous 1.32.14.1 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Nov 29 03:05:12 2006 UTC (17 years, 4 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, wrstuden-fixsa-base-1, post-newlock2-merge, newlock2-nbase, newlock2-base, 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, matt-nb4-arm-base, matt-nb4-arm, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, wrstuden-fixsa, netbsd-4-0, netbsd-4
Changes since 1.35: +18 -19 lines
Diff to previous 1.35 (colored) to selected 1.2.2.2 (colored)

Fix a spelling error.

Annotate a memory leak.

When copying one multicast address list to another, IFAREF before IFAFREE
to protect against using an ifaddr after (accidentally) freeing it.

LIST_REMOVE() a multicast address from its old list before
LIST_INSERT_HEAD() on its new list.

Do not count on in6_delmulti() removing its multicast-record argument
from the multicast address list that the record belongs to, because
clearly that is not what it (always) does.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Nov 20 04:26:22 2006 UTC (17 years, 5 months ago) by dyoung
Branch: MAIN
Changes since 1.34: +40 -39 lines
Diff to previous 1.34 (colored) to selected 1.2.2.2 (colored)

Cosmetic: use LIST_ macros.  Shorten some staircases.

Defensive programming: set an in6_multi's ifaddr reference to NULL
after releasing it, to protect against reuse.

Revision 1.32.12.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:37 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.32: +4 -7 lines
Diff to previous 1.32 (colored) to selected 1.2.2.2 (colored)

Sync with head.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:45 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.33: +3 -3 lines
Diff to previous 1.33 (colored) to selected 1.2.2.2 (colored)

__unused removal on arguments; approved by core.

Revision 1.32.14.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:35 2006 UTC (17 years, 6 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.32: +4 -7 lines
Diff to previous 1.32 (colored) to selected 1.2.2.2 (colored)

sync with head

Revision 1.33 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:39 2006 UTC (17 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.32: +4 -7 lines
Diff to previous 1.32 (colored) to selected 1.2.2.2 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:58:55 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.29: +553 -134 lines
Diff to previous 1.29 (colored) next main 1.30 (colored) to selected 1.2.2.2 (colored)

sync with head

Revision 1.27.4.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:11:09 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27: +602 -170 lines
Diff to previous 1.27 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.29.4.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:12 2006 UTC (18 years ago) by simonb
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.29: +553 -134 lines
Diff to previous 1.29 (colored) next main 1.30 (colored) to selected 1.2.2.2 (colored)

Sync with head.

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Mon Mar 13 09:07:39 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.30: +552 -133 lines
Diff to previous 1.30 (colored) next main 1.31 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.32 / (download) - annotate - [select for diffs], Mon Mar 6 20:33:52 2006 UTC (18 years, 1 month ago) by rpaulo
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, peter-altq-base, peter-altq, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.31: +8 -8 lines
Diff to previous 1.31 (colored) to selected 1.2.2.2 (colored)

Rename local variables called delay that shadow the delay() decl.
Pointed out by Robert Swindells.

Revision 1.31 / (download) - annotate - [select for diffs], Sun Mar 5 23:47:08 2006 UTC (18 years, 1 month ago) by rpaulo
Branch: MAIN
Changes since 1.30: +552 -133 lines
Diff to previous 1.30 (colored) to selected 1.2.2.2 (colored)

NDP-related improvements:
        RFC4191
	- supports host-side router-preference

	RFC3542
	- if DAD fails on a interface, disables IPv6 operation on the
          interface
	- don't advertise MLD report before DAD finishes

	Others
	- fixes integer overflow for valid and preferred lifetimes
	- improves timer granularity for MLD, using callout-timer.
	- reflects rtadvd's IPv6 host variable information into kernel
	  (router only)
	- adds a sysctl option to enable/disable pMTUd for multicast
          packets
	- performs NUD on PPP/GRE interface by default
	- Redirect works regardless of ip6_accept_rtadv
	- removes RFC1885-related code

From the KAME project via SUZUKI Shinsuke.
Reviewed by core.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Mar 3 14:07:06 2006 UTC (18 years, 1 month ago) by rpaulo
Branch: MAIN
CVS Tags: yamt-pdpolicy-base
Branch point for: yamt-pdpolicy
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored) to selected 1.2.2.2 (colored)

Fix typos in comments.

From: the KAME project via SUZUKI Shinsuke.

Revision 1.28.2.1 / (download) - annotate - [select for diffs], Wed Feb 1 14:52:42 2006 UTC (18 years, 2 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.28: +54 -41 lines
Diff to previous 1.28 (colored) next main 1.29 (colored) to selected 1.2.2.2 (colored)

sync with head.

Revision 1.29 / (download) - annotate - [select for diffs], Sat Jan 21 00:15:36 2006 UTC (18 years, 3 months ago) by rpaulo
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5
Branch point for: simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.28: +54 -41 lines
Diff to previous 1.28 (colored) to selected 1.2.2.2 (colored)

Better support of IPv6 scoped addresses.

- most of the kernel code will not care about the actual encoding of
  scope zone IDs and won't touch "s6_addr16[1]" directly.
- similarly, most of the kernel code will not care about link-local
  scoped addresses as a special case.
- scope boundary check will be stricter.  For example, the current
  *BSD code allows a packet with src=::1 and dst=(some global IPv6
  address) to be sent outside of the node, if the application do:
    s = socket(AF_INET6);
    bind(s, "::1");
    sendto(s, some_global_IPv6_addr);
  This is clearly wrong, since ::1 is only meaningful within a single
  node, but the current implementation of the *BSD kernel cannot
  reject this attempt.
- and, while there, don't try to remove the ff02::/32 interface route
  entry in in6_ifdetach() as it's already gone.

This also includes some level of support for the standard source
address selection algorithm defined in RFC3484, which will be
completed on in the future.

From the KAME project via JINMEI Tatuya.
Approved by core@.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:02 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored) to selected 1.2.2.2 (colored)

merge ktrace-lwp.

Revision 1.26.8.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:34 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored) next main 1.27 (colored) to selected 1.2.2.2 (colored)

sync with -current

Revision 1.26.10.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:36:41 2005 UTC (19 years, 1 month ago) by yamt
Branch: yamt-km
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored) next main 1.27 (colored) to selected 1.2.2.2 (colored)

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

Revision 1.22.2.4 / (download) - annotate - [select for diffs], Fri Mar 4 16:53:31 2005 UTC (19 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.22.2.3: +3 -3 lines
Diff to previous 1.22.2.3 (colored) next main 1.23 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.27 / (download) - annotate - [select for diffs], Sat Feb 26 22:45:12 2005 UTC (19 years, 1 month ago) by perry
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, yamt-km-base4, yamt-km-base3, thorpej-vnode-attr-base, thorpej-vnode-attr, netbsd-3-base, 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, netbsd-3, ktrace-lwp-base, kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored) to selected 1.2.2.2 (colored)

nuke trailing whitespace

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

Fix the sync with head I botched.

Revision 1.22.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:55:15 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.22.2.1: +0 -0 lines
Diff to previous 1.22.2.1 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:55:14 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.22: +37 -7 lines
Diff to previous 1.22 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD

Revision 1.26 / (download) - annotate - [select for diffs], Sun Mar 28 08:28:50 2004 UTC (20 years ago) by christos
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, 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, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.25: +2 -5 lines
Diff to previous 1.25 (colored) to selected 1.2.2.2 (colored)

no need for splsoftnet, because the caller does it already.

Revision 1.18.10.1 / (download) - annotate - [select for diffs], Thu Oct 2 20:21:48 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.18: +30 -19 lines
Diff to previous 1.18 (colored) next main 1.19 (colored) to selected 1.2.2.2 (colored)

Pull up revision 1.22 via patch (requested by itojun in ticket #1491):
- sync up MLD declaration with RFC3542 (s/MLD6/MLD/)
part of advanced API update (RFC2292 -> 3542).

Revision 1.25 / (download) - annotate - [select for diffs], Fri Aug 22 21:53:09 2003 UTC (20 years, 8 months ago) by itojun
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored) to selected 1.2.2.2 (colored)

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

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

Revision 1.24 / (download) - annotate - [select for diffs], Fri Aug 22 20:20:10 2003 UTC (20 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.23: +4 -3 lines
Diff to previous 1.23 (colored) to selected 1.2.2.2 (colored)

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

In preparation for fast-ipsec.  Reviewed by itojun.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Aug 7 16:33:29 2003 UTC (20 years, 8 months ago) by agc
Branch: MAIN
Changes since 1.22: +35 -3 lines
Diff to previous 1.22 (colored) to selected 1.2.2.2 (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.22 / (download) - annotate - [select for diffs], Fri Jun 6 08:13:44 2003 UTC (20 years, 10 months ago) by itojun
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.21: +76 -77 lines
Diff to previous 1.21 (colored) to selected 1.2.2.2 (colored)

- sync up MLD declaration with RFC3542 (s/MLD6/MLD/)
- routing header declaration with RFC3542
  (note: sizeof(ip6_rthdr0) has changed!)
  also, sync up with RFC2460 routing header definition (no "strict" source
  routing mode any more)

part of advanced API update (RFC2292 -> 3542).

Revision 1.21 / (download) - annotate - [select for diffs], Wed May 14 06:47:43 2003 UTC (20 years, 11 months ago) by itojun
Branch: MAIN
Changes since 1.20: +2 -7 lines
Diff to previous 1.20 (colored) to selected 1.2.2.2 (colored)

always use PULLDOWN_TEST codepath.

Revision 1.13.4.2 / (download) - annotate - [select for diffs], Sun Jun 23 17:51:19 2002 UTC (21 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.13.4.1: +31 -20 lines
Diff to previous 1.13.4.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.2.2.2 (colored)

catch up with -current on kqueue branch

Revision 1.18.8.1 / (download) - annotate - [select for diffs], Thu Jun 20 15:52:50 2002 UTC (21 years, 10 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.18: +31 -20 lines
Diff to previous 1.18 (colored) next main 1.19 (colored) to selected 1.2.2.2 (colored)

catch up with -current.

Revision 1.13.2.6 / (download) - annotate - [select for diffs], Thu Jun 20 03:49:27 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.13.2.5: +31 -20 lines
Diff to previous 1.13.2.5 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.2.2.2 (colored)

Catch up to -current.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Jun 9 14:43:13 2002 UTC (21 years, 10 months ago) by itojun
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, fvdl_fs64_base
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored) to selected 1.2.2.2 (colored)

whitespace cleanup

Revision 1.19 / (download) - annotate - [select for diffs], Sat Jun 8 21:22:34 2002 UTC (21 years, 10 months ago) by itojun
Branch: MAIN
Changes since 1.18: +30 -19 lines
Diff to previous 1.18 (colored) to selected 1.2.2.2 (colored)

sync with latest KAME in6_ifaddr/prefix/default router manipulation.
behavior changes:
- two iocts used by ndp(8) are now obsolete (backward compat provided).
  use sysctl path instead.
- lo0 does not get ::1 automatically.  it will get ::1 when lo0 comes up.

Revision 1.13.2.5 / (download) - annotate - [select for diffs], Thu Feb 28 04:15:14 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.13.2.4: +2 -2 lines
Diff to previous 1.13.2.4 (colored) to branchpoint 1.13 (colored) to selected 1.2.2.2 (colored)

Catch up to -current.

Revision 1.13.2.4 / (download) - annotate - [select for diffs], Fri Jan 11 23:39:46 2002 UTC (22 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.13.2.3: +6 -2 lines
Diff to previous 1.13.2.3 (colored) to branchpoint 1.13 (colored) to selected 1.2.2.2 (colored)

More catchup.

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Thu Jan 10 20:03:26 2002 UTC (22 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.13: +23 -18 lines
Diff to previous 1.13 (colored) to selected 1.2.2.2 (colored)

Sync kqueue branch with -current.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 8 04:37:32 2002 UTC (22 years, 3 months ago) by itojun
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, ifpoll-base, eeh-devprop-base, eeh-devprop
Branch point for: netbsd-1-6, gehenna-devsw
Changes since 1.17: +6 -2 lines
Diff to previous 1.17 (colored) to selected 1.2.2.2 (colored)

do not log() in per-packet input path.  sync w/kame

Revision 1.13.2.3 / (download) - annotate - [select for diffs], Tue Jan 8 00:34:23 2002 UTC (22 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.13.2.2: +4 -4 lines
Diff to previous 1.13.2.2 (colored) to branchpoint 1.13 (colored) to selected 1.2.2.2 (colored)

Catch up to -current.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Dec 18 03:04:04 2001 UTC (22 years, 4 months ago) by itojun
Branch: MAIN
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored) to selected 1.2.2.2 (colored)

reduce white space/cosmetic diffs w/kame.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Wed Nov 14 19:18:13 2001 UTC (22 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.13.2.1: +4 -1 lines
Diff to previous 1.13.2.1 (colored) to branchpoint 1.13 (colored) to selected 1.2.2.2 (colored)

Catch up to -current.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Nov 13 00:57:04 2001 UTC (22 years, 5 months ago) by lukem
Branch: MAIN
Changes since 1.15: +4 -1 lines
Diff to previous 1.15 (colored) to selected 1.2.2.2 (colored)

add RCSIDs

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Oct 22 20:42:04 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.13: +15 -17 lines
Diff to previous 1.13 (colored) to selected 1.2.2.2 (colored)

Catch up to -current.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Oct 18 09:09:26 2001 UTC (22 years, 6 months ago) by itojun
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache
Changes since 1.14: +13 -16 lines
Diff to previous 1.14 (colored) to selected 1.2.2.2 (colored)

simplify per-if stats.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Oct 16 06:24:45 2001 UTC (22 years, 6 months ago) by itojun
Branch: MAIN
Changes since 1.13: +3 -2 lines
Diff to previous 1.13 (colored) to selected 1.2.2.2 (colored)

more whitespace/comment sync with kame

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:27 2001 UTC (23 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.6.2.1: +22 -19 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.2.2.2 (colored)

Sync with HEAD.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Feb 10 04:14:29 2001 UTC (23 years, 2 months ago) by itojun
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: nathanw_sa, kqueue
Changes since 1.12: +22 -19 lines
Diff to previous 1.12 (colored) to selected 1.2.2.2 (colored)

to sync with kame better, (1) remove register declaration for variables,
(2) sync whitespaces, (3) update comments. (4) bring in some of portability
and logging enhancements.  no functional changes here.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:10:56 2000 UTC (23 years, 5 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.6: +121 -94 lines
Diff to previous 1.6 (colored) to selected 1.2.2.2 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.12 / (download) - annotate - [select for diffs], Wed Mar 1 12:49:48 2000 UTC (24 years, 1 month ago) by itojun
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.11: +1 -5 lines
Diff to previous 1.11 (colored) to selected 1.2.2.2 (colored)

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

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

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

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

this will bump kernel version.

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

Revision 1.11 / (download) - annotate - [select for diffs], Sat Feb 26 08:39:20 2000 UTC (24 years, 1 month ago) by itojun
Branch: MAIN
Changes since 1.10: +47 -31 lines
Diff to previous 1.10 (colored) to selected 1.2.2.2 (colored)

bring in recent KAME changes (only important and stable ones, as usual).
- remove net.inet6.ip6.nd6_proxyall.  introduce proxy NDP code works
  just like "arp -s".
- revise source address selection.
  be more careful about use of yet-to-be-valid addresses as source.
- as router, transmit ICMP6_DST_UNREACH_BEYONDSCOPE against out-of-scope
  packet forwarding attempt.
- path MTU discovery takes care of routing header properly.
- be more strict about mbuf chain parsing.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Feb 6 12:49:47 2000 UTC (24 years, 2 months ago) by itojun
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored) to selected 1.2.2.2 (colored)

fix include pathname for better rfc2292 compliance.

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jan 6 15:46:10 2000 UTC (24 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.8: +1 -33 lines
Diff to previous 1.8 (colored) to selected 1.2.2.2 (colored)

remove extra portability #ifdef (like #ifdef __FreeBSD__) in KAME IPv6/IPsec
code, from netbsd-current repository.
#ifdef'ed version is always available from ftp.kame.net.

XXX please do not make too many diff-unfriendly changes, we'll need to take
bunch of diffs on upgrade...

Revision 1.6.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:27 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.6: +147 -100 lines
Diff to previous 1.6 (colored) next main 1.7 (colored) to selected 1.2.2.2 (colored)

Pull up to last week's -current.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Dec 15 06:28:44 1999 UTC (24 years, 4 months ago) by itojun
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.7: +3 -2 lines
Diff to previous 1.7 (colored) to selected 1.2.2.2 (colored)

do not overwrite traffic class field when we write IPv6 version field.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Dec 13 15:17:23 1999 UTC (24 years, 4 months ago) by itojun
Branch: MAIN
Changes since 1.6: +145 -99 lines
Diff to previous 1.6 (colored) to selected 1.2.2.2 (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.1.2.3 / (download) - annotate - [select for diffs], Tue Nov 30 13:35:58 1999 UTC (24 years, 4 months ago) by itojun
Branch: kame
CVS Tags: kame_141_19991130
Changes since 1.1.2.2: +147 -98 lines
Diff to previous 1.1.2.2 (colored) next main 1.2 (colored) to selected 1.2.2.2 (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.2.2.3 / (download) - annotate - [select for diffs], Mon Aug 2 22:36:06 1999 UTC (24 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.2.2.2: +7 -2 lines
Diff to previous 1.2.2.2 (colored) next main 1.3 (colored)

Update from trunk.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Jul 31 18:41:17 1999 UTC (24 years, 8 months ago) by itojun
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.5: +3 -1 lines
Diff to previous 1.5 (colored) to selected 1.2.2.2 (colored)

sync with recent KAME.
- loosen ipsec restriction on packet diredtion.
- revise icmp6 redirect handling on IsRouter bit.
- tcp/udp notification processing (link-local address case)
- cosmetic fixes (better code share across *BSD).

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jul 9 22:57:29 1999 UTC (24 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored) to selected 1.2.2.2 (colored)

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

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Tue Jul 6 11:03:02 1999 UTC (24 years, 9 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990705
Changes since 1.1.2.1: +2 -2 lines
Diff to previous 1.1.2.1 (colored) to selected 1.2.2.2 (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.4 / (download) - annotate - [select for diffs], Sun Jul 4 02:01:15 1999 UTC (24 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored) to selected 1.2.2.2 (colored)

s/splnet/splsoftnet/ in IPv6/IPsec part.
hope I made no mistake (the kernel works fine but I need a regress test)

Suggested by: thorpej

Revision 1.3 / (download) - annotate - [select for diffs], Sat Jul 3 21:30:19 1999 UTC (24 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.2: +2 -0 lines
Diff to previous 1.2 (colored) to selected 1.2.2.2 (colored)

RCS ID police.

Revision 1.2.2.2 / (download) - annotate - [selected], Thu Jul 1 23:48:29 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.2.2.1: +435 -0 lines
Diff to previous 1.2.2.1 (colored)

Sync w/ -current.

Revision 1.2.2.1, Thu Jul 1 08:12:57 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.2: +0 -435 lines
FILE REMOVED

file mld6.c was added on branch chs-ubc2 on 1999-07-01 23:48:29 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jul 1 08:12:57 1999 UTC (24 years, 9 months ago) by itojun
Branch: MAIN
Branch point for: chs-ubc2
Changes since 1.1: +435 -0 lines
Diff to previous 1.1 (colored) to selected 1.2.2.2 (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.1.2.1 / (download) - annotate - [select for diffs], Mon Jun 28 06:37:06 1999 UTC (24 years, 9 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990628
Changes since 1.1: +435 -0 lines
Diff to previous 1.1 (colored) to selected 1.2.2.2 (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.1, Mon Jun 28 06:37:06 1999 UTC (24 years, 9 months ago) by itojun
Branch: MAIN
Branch point for: kame
FILE REMOVED

file mld6.c was initially added on branch kame.

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>