I understand the concept of multipath in routing but dont know how the 'equalize' option affects routing. From what I read, multipath specifies a list of interfaces (nexthops) to use for a given route. Whenever a route is looked up in the FIB, each interface (nexthop) is used according the 'weight' assigned to it during the route setup. By default the weights are assigned a value of 1 which results in each of the interface being used approximately equally.
I read that 'equalize' option is suppossed to distribute the load on a per-packet basis. But the stock kernel does not seem to do it. I read the equalize patch provided by Patrick McHardy, <kaber@xxxxxxxxx> at http://trash.net/~kaber/. This does achieve the per-packet load-balancing.
I wanted to know what does the 'equalize' option do in the kernel without this patch. Can anyone help me with this?
Without the patch the kernel does nothing. An exact desciption how it works is included
in the patch. Please make sure you understand the problems of per-packet loadbalancing
before using it. If both lines have different rtt's tcp will get very confused by constantly
arriving out-of-order packets, the performance may be even worse than with just one
line. For ethernet bonding may be more appropriate. BTW, the patch was not written by
me, i only adapted it to 2.4.18 and fixed some locking bugs.
Bye Patrick