freebsd-dev/sys/netinet6
Luiz Otavio O Souza 338e227ac0 After the in_control() changes in r257692, an existing address is
(intentionally) deleted first and then completely added again (so all the
events, announces and hooks are given a chance to run).

This cause an issue with CARP where the existing CARP data structure is
removed together with the last address for a given VHID, which will cause
a subsequent fail when the address is later re-added.

This change fixes this issue by adding a new flag to keep the CARP data
structure when an address is not being removed.

There was an additional issue with IPv6 CARP addresses, where the CARP data
structure would never be removed after a change and lead to VHIDs which
cannot be destroyed.

Reviewed by:	glebius
Obtained from:	pfSense
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (Netgate)
2017-01-25 19:04:08 +00:00
..
dest6.c
frag6.c
icmp6.c Make ICMPv6 hard error handling for TCP consistent with the ICMPv4 2016-10-21 10:32:57 +00:00
icmp6.h
in6_cksum.c
in6_fib.c
in6_fib.h
in6_gif.c
in6_ifattach.c Lock the ND prefix list and add refcounting for prefixes. 2016-10-07 21:10:53 +00:00
in6_ifattach.h
in6_jail.c
in6_mcast.c
in6_pcb.c
in6_pcb.h
in6_pcbgroup.c
in6_proto.c Improve some of the sysctl descriptions added in r299827. 2017-01-16 19:35:19 +00:00
in6_rmx.c
in6_rss.c
in6_rss.h
in6_src.c
in6_var.h Add ip6_tryforward() - a run to completion forwarding implementation 2016-12-12 10:57:32 +00:00
in6.c After the in_control() changes in r257692, an existing address is 2017-01-25 19:04:08 +00:00
in6.h
ip6_ecn.h
ip6_fastfwd.c Add ip6_tryforward() - a run to completion forwarding implementation 2016-12-12 10:57:32 +00:00
ip6_forward.c
ip6_gre.c
ip6_id.c
ip6_input.c Add a new socket option SO_TS_CLOCK to pick from several different clock 2017-01-16 17:46:38 +00:00
ip6_ipsec.c
ip6_ipsec.h
ip6_mroute.c
ip6_mroute.h
ip6_output.c Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
ip6_var.h
ip6.h
ip6protosw.h
ip_fw_nat64.h
ip_fw_nptv6.h
mld6_var.h
mld6.c
mld6.h
nd6_nbr.c
nd6_rtr.c Remove a bogus KASSERT from nd6_prefix_unlink(). 2016-12-19 19:21:28 +00:00
nd6.c Release the ND6 list lock before making a prefix off-link in nd6_timer(). 2017-01-08 18:46:00 +00:00
nd6.h Lock the ND prefix list and add refcounting for prefixes. 2016-10-07 21:10:53 +00:00
pim6_var.h
pim6.h
raw_ip6.c
raw_ip6.h
route6.c
scope6_var.h
scope6.c
sctp6_usrreq.c Whitespace changes. 2016-12-26 11:06:41 +00:00
sctp6_var.h Whitespace changes. 2016-12-06 10:21:25 +00:00
send.c
send.h
tcp6_var.h
udp6_usrreq.c
udp6_var.h