1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-23 07:31:31 +00:00
freebsd/sys/netinet
Qing Li c7ea0aa648 One of the advantages of enabling ECMP (a.k.a RADIX_MPATH) is to
allow for connection load balancing across interfaces. Currently
the address alias handling method is colliding with the ECMP code.
For example, when two interfaces are configured on the same prefix,
only one prefix route is installed. So connection load balancing
among the available interfaces is not possible.

The other advantage of ECMP is for failover. The issue with the
current code, is that the interface link-state is not reflected
in the route entry. For example, if there are two interfaces on
the same prefix, the cable on one interface is unplugged, new and
existing connections should switch over to the other interface.
This is not done today and packets go into a black hole.

Also, there is a small bug in the kernel where deleting ECMP routes
in the userland will always return an error even though the command
is successfully executed.

MFC after:	5 days
2010-03-09 01:11:45 +00:00
..
ipfw cosmetic changes and C++ compatibility 2010-03-08 11:27:39 +00:00
libalias
accf_data.c
accf_dns.c
accf_http.c
icmp6.h
icmp_var.h
if_atm.c
if_atm.h
if_ether.c
if_ether.h
igmp_var.h
igmp.c
igmp.h
in_cksum.c
in_gif.c
in_gif.h
in_mcast.c
in_pcb.c Add ip4.saddrsel/ip4.nosaddrsel (and equivalent for ip6) to control 2010-01-17 12:57:11 +00:00
in_pcb.h Wrap use of rw_try_upgrade() on pcbinfo with macro INP_INFO_TRY_UPGRADE() 2010-03-06 21:24:11 +00:00
in_proto.c Split up ip_drain() into an outer lock and iterator part and 2010-02-20 19:59:52 +00:00
in_rmx.c
in_systm.h
in_var.h
in.c One of the advantages of enabling ECMP (a.k.a RADIX_MPATH) is to 2010-03-09 01:11:45 +00:00
in.h
ip6.h
ip_carp.c
ip_carp.h
ip_divert.c Remove unnecessary locking of divcbinfo lock from div_output(): this has not 2010-03-06 22:04:45 +00:00
ip_divert.h
ip_dummynet.h Bring in the most recent version of ipfw and dummynet, developed 2010-03-02 17:40:48 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c
ip_fw.h Bring in the most recent version of ipfw and dummynet, developed 2010-03-02 17:40:48 +00:00
ip_gre.c The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-01 17:05:46 +00:00
ip_gre.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-01 17:05:46 +00:00
ip_icmp.c
ip_icmp.h
ip_id.c
ip_input.c Split up ip_drain() into an outer lock and iterator part and 2010-02-20 19:59:52 +00:00
ip_ipsec.c
ip_ipsec.h
ip_mroute.c No need to include security/mac/mac_framework.h here. 2010-02-18 22:26:01 +00:00
ip_mroute.h
ip_options.c No need to include security/mac/mac_framework.h here. 2010-02-18 22:26:01 +00:00
ip_options.h
ip_output.c One of the advantages of enabling ECMP (a.k.a RADIX_MPATH) is to 2010-03-09 01:11:45 +00:00
ip_var.h Split up ip_drain() into an outer lock and iterator part and 2010-02-20 19:59:52 +00:00
ip.h use u_char instead of u_int for short bitfields. 2010-02-01 14:13:44 +00:00
pim_var.h
pim.h
raw_ip.c
sctp_asconf.c
sctp_asconf.h
sctp_auth.c Get rid of support of an old version of the SCTP-AUTH draft. 2010-01-16 20:04:17 +00:00
sctp_auth.h Use [] instead of [0] for flexible arrays. 2010-01-22 07:53:41 +00:00
sctp_bsd_addr.c
sctp_bsd_addr.h
sctp_cc_functions.c
sctp_cc_functions.h
sctp_constants.h Remove strange APPLE define that leaked 2010-01-17 19:17:16 +00:00
sctp_crc32.c
sctp_crc32.h
sctp_header.h Add missing SCTP_PACKED. Spotted by Irene Ruengeler. 2010-02-13 21:38:15 +00:00
sctp_indata.c Use uint32_t instead of u_long. 2010-02-18 13:46:54 +00:00
sctp_indata.h Get rid of a lot of duplicated code for NR-SACK handle. 2010-01-17 21:00:28 +00:00
sctp_input.c Fix handling of SHUTDOWN-ACK chunk in COOKIE_WAIT and COOKIE_ECHOED. 2010-02-20 20:30:40 +00:00
sctp_input.h
sctp_lock_bsd.h
sctp_os_bsd.h Get rid of support of an old version of the SCTP-AUTH draft. 2010-01-16 20:04:17 +00:00
sctp_os.h
sctp_output.c Fix handling of SHUTDOWN-ACK chunk in COOKIE_WAIT and COOKIE_ECHOED. 2010-02-20 20:30:40 +00:00
sctp_output.h Fix handling of SHUTDOWN-ACK chunk in COOKIE_WAIT and COOKIE_ECHOED. 2010-02-20 20:30:40 +00:00
sctp_pcb.c Get rid of support of an old version of the SCTP-AUTH draft. 2010-01-16 20:04:17 +00:00
sctp_pcb.h
sctp_peeloff.c
sctp_peeloff.h
sctp_structs.h Get rid of a lot of duplicated code for NR-SACK handle. 2010-01-17 21:00:28 +00:00
sctp_sysctl.c More leaked ifdefs for APPLE and its mobility stuff. 2010-01-17 19:24:30 +00:00
sctp_sysctl.h
sctp_timer.c
sctp_timer.h
sctp_uio.h Use [] instead of [0] for flexible arrays. 2010-01-22 07:53:41 +00:00
sctp_usrreq.c * Fix another u_long -> uint32_t issue. 2010-02-19 18:00:38 +00:00
sctp_var.h
sctp.h
sctputil.c * Fix another u_long -> uint32_t issue. 2010-02-19 18:00:38 +00:00
sctputil.h
tcp_debug.c
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c Properly free resources when destroying the TCP hostcache while 2010-02-09 21:31:53 +00:00
tcp_hostcache.h
tcp_input.c Wrap use of rw_try_upgrade() on pcbinfo with macro INP_INFO_TRY_UPGRADE() 2010-03-06 21:24:11 +00:00
tcp_lro.c
tcp_lro.h
tcp_offload.c
tcp_offload.h
tcp_output.c
tcp_reass.c Destroy TCP UMA zones (empty or not) upon network stack teardown 2010-03-07 15:58:44 +00:00
tcp_sack.c
tcp_seq.h
tcp_subr.c Destroy TCP UMA zones (empty or not) upon network stack teardown 2010-03-07 15:58:44 +00:00
tcp_syncache.c Upon virtual network stack teardown properly release the TCP syncache 2010-02-20 21:45:04 +00:00
tcp_syncache.h
tcp_timer.c Locking the tcbinfo structure should not be necessary in tcp_timer_delack(), 2010-03-07 14:23:44 +00:00
tcp_timer.h
tcp_timewait.c Destroy TCP UMA zones (empty or not) upon network stack teardown 2010-03-07 15:58:44 +00:00
tcp_usrreq.c Add a comment to tcp_usr_accept() to indicate why it is we acquire the 2010-03-06 21:38:31 +00:00
tcp_var.h Destroy TCP UMA zones (empty or not) upon network stack teardown 2010-03-07 15:58:44 +00:00
tcp.h use u_char instead of u_int for short bitfields. 2010-02-01 14:13:44 +00:00
tcpip.h
toedev.h
udp_usrreq.c Make udp_set_kernel_tunneling() less forgiving when its invariants are 2010-03-07 10:47:47 +00:00
udp_var.h
udp.h