Direct Server Return load balancing across Layer 3 boundaries
Fix problem with code assuming all IPv6 packets are TCP. Add explicit support for UDP. Bump version to 0.7.0.
|docs||Initial import of L3DSR sources from Yahoo!|
|freebsd||can't use userland library calls - duh; apply slightly modified patch…|
|linux||Fix problem with NICs that don't do TCP offloading including virtio_net.|
|yvipagent||Update yvipagent code to version 4.5.|
|README||Sync with internal tree, adding RHEL4, RHEL6, and Fedora 17 to boot.|
Direct Server Return (DSR) load balancing is a common way to distribute network traffic using an approach that currently requires the load balancer and all hosts behind the Virtual IP (VIP) to be within the same Layer 2 broadcast domain. This is a severe limitation that hinders scaling VIPs beyond a single contiguous subnet. To overcome this limitation, we present a method to perform DSR load balancing across Layer 3 boundaries (``L3DSR''), a solution that allows Yahoo! to serve up to ten times as many VIPs on a single hardware Load Balancer compared to other Layer 3 load balancing methods. In order to overcome Layer 2 limitations, we use the 6-bit Differentiated Services Code Point (DSCP) field of the IPv4 header used for packet classification to relay information to the server. The server inspects the header and rewrites the destination address based on the value of the DSCP field and according to its own mapping of DSCP values to destination addresses. L3DSR is currently supported by: - A10 AX3200 >= 2.2.5 - Brocade ADX Series >= 12.1d - Brocade/Foundry ServerIron 450 - M7 and JetCore blades - >= 12.2.01p - Citrix Netscaler running 8.x, 9.x - Radware Alteon 4408, 4416, 5412 - SW versions 27 and above - Radware AppDirector (All platforms) - 2.10 and above, requires the optional BWM license On the server, L3DSR is currently supported by: - FreeBSD >= 6.x - RHEL4 >= 4.7 (IPv4 only), RHEL5 >= 5.4 (IPv6 >= 5.9), RHEL6 >= 6.0, and Fedora 17 L3DSR was developed at Yahoo! Inc. If you have questions or comments, please contact: Jan Schaumann <firstname.lastname@example.org> (overall design), Carl Stanley <email@example.com> (LBs), Quentin Barnes <firstname.lastname@example.org> (iptables-daddr), or Ben Haga <email@example.com> (yvipagent).