I am interested if anyone has successfully (verified not assumed) utilizing dynamic equal cost multipath routes using TCPIP and either gated or zebra on SLES7 (2.4.17) or similar Linux.
Please understand that alternate path routing utilizing dynamic routing via zebra and ospfd works fine - no complaints there. I have approx 20 hosts (z/OS, AIX zLinux) working over two gigabit networks and HIPERSOCKETS. My question is related to load balancing (either by session or by packet) over multiple equal cost routes which have been dynamically assigned by a routing daemon and RTNETLINK. (not via "ip route add equalize" etc.) I am also not referring to simple link bundling scenarios such as often described for home use over paired DSL routers etc., but routes over multiple LANs between multiple hosts (>2) for use in a production "High Availability" environment My experiences lead me to believe that although the kernel routing tables may indeed contain multiple equal cost routes for a given destination, that traffic (by session or packet) still takes only one route. This is verified using "ip route show" and "ip link show/netstat -i" while running tests of multiple ftp transfers, or using in-house tools. I found a reference to an updated equalize patch for the 2.4.18 kernel which suggests that the problem is due to the kernel routing cache only holding a single path to a destination. Thus even though advanced routing exists in iproute2 and in zebra, the old style cache wins out every time. The patch invalidates the cache entry forcing the routing tables to be used, but this incurs a performance penalty and extra storage consumption. Has anyone any experience with such a patch? So my guru colleagues, what does the future hold. Is anyone using more experimental kernel releases and maybe testing such a scenario as mine? Ciao Mark
