freebsd_amp_hwpstate/sys/netinet6
Bruce M Simpson ec002fee99 Implement reference counting for ifmultiaddr, in_multi, and in6_multi
structures. Detect when ifnet instances are detached from the network
stack and perform appropriate cleanup to prevent memory leaks.

This has been implemented in such a way as to be backwards ABI compatible.
Kernel consumers are changed to use if_delmulti_ifma(); in_delmulti()
is unable to detect interface removal by design, as it performs searches
on structures which are removed with the interface.

With this architectural change, the panics FreeBSD users have experienced
with carp and pfsync should be resolved.

Obtained from:	p4 branch bms_netdev
Reviewed by:	andre
Sponsored by:	Garance A Drosehn
Idea from:	NetBSD
MFC after:	1 month
2007-03-20 00:36:10 +00:00
..
ah.h
ah6.h
ah_aesxcbcmac.c
ah_aesxcbcmac.h
ah_core.c MFC after: 3 days 2007-02-05 11:05:41 +00:00
ah_input.c
ah_output.c
dest6.c
esp.h
esp6.h
esp_aesctr.c Marked these as packed correctly 2007-01-12 07:20:25 +00:00
esp_aesctr.h
esp_core.c
esp_input.c
esp_output.c
esp_rijndael.c
esp_rijndael.h
frag6.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
icmp6.c In the ICMP6 path to handle FQDN 'who-are-you' queries, check that the 2007-02-10 12:25:19 +00:00
icmp6.h
in6.c Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. 2007-02-24 11:38:47 +00:00
in6.h
in6_cksum.c Marked these as packed correctly 2007-01-12 07:20:25 +00:00
in6_gif.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
in6_gif.h
in6_ifattach.c
in6_ifattach.h
in6_pcb.c
in6_pcb.h
in6_proto.c Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. 2007-02-24 11:38:47 +00:00
in6_rmx.c
in6_src.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
in6_var.h MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
ip6.h
ip6_ecn.h
ip6_forward.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
ip6_id.c
ip6_input.c Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. 2007-02-24 11:38:47 +00:00
ip6_mroute.c Add comments about common idioms for cleanup pass at a later date. 2007-02-28 21:58:37 +00:00
ip6_mroute.h Remove code which would never be used, viz a viz Quality-of-Service; 2007-02-28 20:32:25 +00:00
ip6_output.c
ip6_var.h Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. 2007-02-24 11:38:47 +00:00
ip6protosw.h
ipcomp.h
ipcomp6.h
ipcomp_core.c
ipcomp_input.c
ipcomp_output.c
ipsec.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
ipsec.h
ipsec6.h
mld6.c Implement reference counting for ifmultiaddr, in_multi, and in6_multi 2007-03-20 00:36:10 +00:00
mld6_var.h
nd6.c ng_iface requiers neighbor cache as well. 2007-02-03 09:34:36 +00:00
nd6.h
nd6_nbr.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
nd6_rtr.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
pim6.h
pim6_var.h
raw_ip6.c Fix tinderbox. ip6_mrouter should be defined in raw_ip6.c as it is 2007-02-24 21:09:35 +00:00
raw_ip6.h
route6.c
scope6.c MFp4: 92972, 98913 + one more change 2006-12-12 12:17:58 +00:00
scope6_var.h
sctp6_usrreq.c - errno -> becomes error in sctp_output.c and sctputil.c 2007-03-19 06:53:02 +00:00
sctp6_var.h - errno -> becomes error in sctp_output.c and sctputil.c 2007-03-19 06:53:02 +00:00
tcp6_var.h
udp6_output.c
udp6_usrreq.c Rename two identically named log_in_vain variables: tcp_input.c's static 2007-02-20 10:20:03 +00:00
udp6_var.h