Messages in this thread | | | Date | Wed, 29 Mar 2000 17:04:04 +0200 | From | Andi Kleen <> | Subject | Re: iproute and 2.3 question |
| |
On Wed, Mar 29, 2000 at 12:28:01PM +0200, fooler wrote: > Andi Kleen wrote: > > > > > It has not been integrated, because equalization on the routing cache > > layer does not work well (not fine grained enough or too slow) > > > > hello andi, > > can you explain it further?
Linux has a routing cache that caches routing table lookups. This is called the destination cache. A destination cache entry is tied to a specific destination, which means only a single neighbour on a multipath route. To use multipath routing for load balancing requires dropping the destination entry after every use, so that another neighbour in the multipath could be looked up (the destination cache knows nothing about multipaths, that is all encapsulated in the FIB or routing table)
Dropping them all the time does not work well and is slow. It is also not finegrained enough (because the decision occurs to early) to get an even load balancing
Multipath routing is only useful for failover when a device is down in Linux.
For load balancing you can use the existing eql, teql and bonding devices, which work at a lower layer and avoid these problems.
-Andi
-- This is like TV. I don't like TV.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |