Date: Fri, 2 Apr 2010 05:02:50 +0000 (UTC) From: Qing Li <qingli@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/net flowtable.c radix.c radix_mpath.c route.c route.h src/sys/netinet in.c ip_output.c Message-ID: <201004020503.o3253aZT086435@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
qingli 2010-04-02 05:02:50 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_8)
sys/net flowtable.c radix.c radix_mpath.c route.c
route.h
sys/netinet in.c ip_output.c
Log:
SVN rev 206067 on 2010-04-02 05:02:50Z by qingli
MFC 204902
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.
Revision Changes Path
1.15.2.13 +2 -1 src/sys/net/flowtable.c
1.42.2.3 +2 -0 src/sys/net/radix.c
1.10.2.2 +2 -1 src/sys/net/radix_mpath.c
1.167.2.7 +30 -8 src/sys/net/route.c
1.85.2.3 +2 -0 src/sys/net/route.h
1.143.2.14 +8 -0 src/sys/netinet/in.c
1.314.2.8 +5 -1 src/sys/netinet/ip_output.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004020503.o3253aZT086435>
