freebsd-dev/sys/netinet
Gleb Smirnoff 08b68b0e4c A major overhaul of the CARP implementation. The ip_carp.c was started
from scratch, copying needed functionality from the old implemenation
on demand, with a thorough review of all code. The main change is that
interface layer has been removed from the CARP. Now redundant addresses
are configured exactly on the interfaces, they run on.

The CARP configuration itself is, as before, configured and read via
SIOCSVH/SIOCGVH ioctls. A new prefix created with SIOCAIFADDR or
SIOCAIFADDR_IN6 may now be configured to a particular virtual host id,
which makes the prefix redundant.

ifconfig(8) semantics has been changed too: now one doesn't need
to clone carpXX interface, he/she should directly configure a vhid
on a Ethernet interface.

To supply vhid data from the kernel to an application the getifaddrs(8)
function had been changed to pass ifam_data with each address. [1]

The new implementation definitely closes all PRs related to carp(4)
being an interface, and may close several others. It also allows
to run a single redundant IP per interface.

Big thanks to Bjoern Zeeb for his help with inet6 part of patch, for
idea on using ifam_data and for several rounds of reviewing!

PR:		kern/117000, kern/126945, kern/126714, kern/120130, kern/117448
Reviewed by:	bz
Submitted by:	bz [1]
2011-12-16 12:16:56 +00:00
..
cc Staticize malloc types. 2011-04-13 11:28:46 +00:00
ipfw - add a missing "be" and "in" 2011-11-11 22:27:09 +00:00
khelp Use the full and proper company name for Swinburne University of Technology 2011-04-12 08:13:18 +00:00
libalias Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
accf_data.c
accf_dns.c
accf_http.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cc.h Use the full and proper company name for Swinburne University of Technology 2011-04-12 08:13:18 +00:00
icmp6.h - Implement RDNSS and DNSSL options (RFC 6106, IPv6 Router Advertisement 2011-06-06 03:06:43 +00:00
icmp_var.h
if_atm.c Bring back (most of) NATM to avoid further bitrot after r186119. 2010-12-15 22:58:45 +00:00
if_atm.h
if_ether.c A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
if_ether.h A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
igmp_var.h
igmp.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
igmp.h
in_cksum.c
in_debug.c Remove last remnants of classful addressing: 2011-10-15 16:28:06 +00:00
in_gif.c Update packet filter (pf) code to OpenBSD 4.5. 2011-06-28 11:57:25 +00:00
in_gif.h
in_mcast.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
in_pcb.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
in_pcb.h Cache SO_REUSEPORT socket option in inpcb-layer in order to avoid 2011-11-06 10:47:20 +00:00
in_pcbgroup.c Implement a CPU-affine TCP and UDP connection lookup data structure, 2011-06-06 12:55:02 +00:00
in_proto.c The socket API only specifies SCTP for SOCK_SEQPACKET and 2011-07-12 19:29:29 +00:00
in_rmx.c
in_systm.h
in_var.h A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
in.c A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
in.h Add support for IPv4 /31 prefixes, as described in RFC3021. 2011-10-15 18:41:25 +00:00
ip6.h
ip_carp.c A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
ip_carp.h A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
ip_divert.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ip_divert.h
ip_dummynet.h
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c
ip_fw.h Add support for IPv6 to ipfw fwd: 2011-08-20 17:05:11 +00:00
ip_gre.c
ip_gre.h
ip_icmp.c Update packet filter (pf) code to OpenBSD 4.5. 2011-06-28 11:57:25 +00:00
ip_icmp.h
ip_id.c
ip_input.c Remove last remnants of classful addressing: 2011-10-15 16:28:06 +00:00
ip_ipsec.c Correct comments and debug logging in ipsec to better match reality. 2011-06-08 03:02:11 +00:00
ip_ipsec.h
ip_mroute.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ip_mroute.h
ip_options.c
ip_options.h
ip_output.c Cache SO_REUSEPORT socket option in inpcb-layer in order to avoid 2011-11-06 10:47:20 +00:00
ip_var.h Add new rule actions "call" and "return" to ipfw. They make 2011-06-29 10:06:58 +00:00
ip.h
pim_var.h
pim.h
raw_ip.c Add back the IP header length to the total packet length field on 2011-10-07 13:43:01 +00:00
sctp_asconf.c Fix a typo introduced in 2011-09-15 12:20:52 +00:00
sctp_asconf.h 1) Typo correction in comments and one spacing change. 2011-02-05 12:12:51 +00:00
sctp_auth.c Add support for the newly added SCTP API. 2011-06-15 23:50:27 +00:00
sctp_auth.h Fix a locking issue showing up on Mac OS X when subscribing to 2011-05-08 09:11:59 +00:00
sctp_bsd_addr.c Cleanup the iterator code, remove code that is never executed. 2011-09-19 21:47:20 +00:00
sctp_bsd_addr.h 1) Typo correction in comments and one spacing change. 2011-02-05 12:12:51 +00:00
sctp_cc_functions.c The result of a joint work between rrs@ and myself at the IETF: 2011-08-03 20:21:00 +00:00
sctp_constants.h Fix a bug reported by Irene Ruengeler which resulted in not sending 2011-12-10 10:52:54 +00:00
sctp_crc32.c 1) Typo correction in comments and one spacing change. 2011-02-05 12:12:51 +00:00
sctp_crc32.h 1) Typo correction in comments and one spacing change. 2011-02-05 12:12:51 +00:00
sctp_dtrace_declare.h Tunes and fixes the new DC-CC to seem to hit the 2011-03-08 11:58:25 +00:00
sctp_dtrace_define.h Tunes and fixes the new DC-CC to seem to hit the 2011-03-08 11:58:25 +00:00
sctp_header.h Fix a warning reported by arundel@. 2011-11-27 17:51:13 +00:00
sctp_indata.c The result of a joint work between rrs@ and myself at the IETF: 2011-08-03 20:21:00 +00:00
sctp_indata.h Get rid of unused functions. 2011-05-29 18:41:06 +00:00
sctp_input.c The result of a joint work between rrs@ and myself at the IETF: 2011-08-03 20:21:00 +00:00
sctp_input.h Fix a locking issue showing up on Mac OS X when subscribing to 2011-05-08 09:11:59 +00:00
sctp_lock_bsd.h 1) Typo correction in comments and one spacing change. 2011-02-05 12:12:51 +00:00
sctp_os_bsd.h Remove some leftover debug code. 2011-04-30 11:22:30 +00:00
sctp_os.h 1) Typo correction in comments and one spacing change. 2011-02-05 12:12:51 +00:00
sctp_output.c Fix a warning reported by arundel@. 2011-11-27 17:51:13 +00:00
sctp_output.h The result of a joint work between rrs@ and myself at the IETF: 2011-08-03 20:21:00 +00:00
sctp_pcb.c Remove debug code. 2011-11-28 20:48:35 +00:00
sctp_pcb.h Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option. 2011-11-20 15:00:45 +00:00
sctp_peeloff.c Mfp4 CH=177274,177280,177284-177285,177297,177324-177325 2011-02-16 21:29:13 +00:00
sctp_peeloff.h 1) Typo correction in comments and one spacing change. 2011-02-05 12:12:51 +00:00
sctp_ss_functions.c Fix several bugs related to stream scheduling. 2011-02-13 13:53:28 +00:00
sctp_structs.h Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option. 2011-11-20 15:00:45 +00:00
sctp_sysctl.c Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option. 2011-11-20 15:00:45 +00:00
sctp_sysctl.h Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option. 2011-11-20 15:00:45 +00:00
sctp_timer.c The result of a joint work between rrs@ and myself at the IETF: 2011-08-03 20:21:00 +00:00
sctp_timer.h The result of a joint work between rrs@ and myself at the IETF: 2011-08-03 20:21:00 +00:00
sctp_uio.h Move up the address to the top of the sctp_udencaps structure 2011-11-24 10:58:48 +00:00
sctp_usrreq.c Fix a bug reported by Irene Ruengeler which resulted in not sending 2011-12-10 10:52:54 +00:00
sctp_var.h The result of a joint work between rrs@ and myself at the IETF: 2011-08-03 20:21:00 +00:00
sctp.h Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option. 2011-11-20 15:00:45 +00:00
sctputil.c Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option. 2011-11-20 15:00:45 +00:00
sctputil.h Get rid of unused functions. 2011-05-29 18:41:06 +00:00
siftr.c Decompose the current single inpcbinfo lock into two locks: 2011-05-30 09:43:55 +00:00
tcp_debug.c
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
tcp_hostcache.h
tcp_input.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
tcp_lro.c Don't allow lro->len to exceed 65535, as this will result in overflow 2011-07-05 18:43:54 +00:00
tcp_lro.h Trim extra spaces before tabs. 2011-01-07 21:40:34 +00:00
tcp_offload.c
tcp_offload.h Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
tcp_output.c Restore sysctl names for tcp_sendspace/tcp_recvspace. 2011-11-02 20:58:47 +00:00
tcp_reass.c Plug a TCP reassembly UMA zone leak introduced in r226113 by only using the 2011-11-27 02:32:08 +00:00
tcp_sack.c Covers values if (BYTES_THIS_ACK(tp, th) / tp->t_maxseg) value is from 2011-03-28 19:03:56 +00:00
tcp_seq.h
tcp_subr.c Unbreak no-INET kernels after r223839 adding the needed #ifdef INET. 2011-07-14 13:44:48 +00:00
tcp_syncache.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
tcp_syncache.h Add spares to the network stack for FreeBSD-9: 2011-07-17 21:15:20 +00:00
tcp_timer.c Make sure the inp wasn't dropped when rexmt let go of the inp and 2011-10-12 19:52:23 +00:00
tcp_timer.h
tcp_timewait.c Oops, fix order of sequence numbers in KASSERT()'s to catch negative 2011-05-14 14:41:40 +00:00
tcp_usrreq.c Move the tcp_sendspace and tcp_recvspace sysctl's from 2011-10-16 20:18:39 +00:00
tcp_var.h Remove the ss_fltsz and ss_fltsz_local sysctl's which have 2011-10-16 20:06:44 +00:00
tcp.h Add missing #includes. 2011-10-21 12:58:34 +00:00
tcpip.h
toedev.h
udp_usrreq.c Add support for IPv6 to ipfw fwd: 2011-08-20 17:05:11 +00:00
udp_var.h Forward declare mbuf and inpcb. 2011-10-16 10:58:00 +00:00
udp.h Trim extra spaces before tabs. 2011-01-07 21:40:34 +00:00