We propose the attached and the subsequent patch for an extension
of the existing multipath capabilities. These patches are partly
extended versions of patches posted last week as RFC. (Please
refer to the corresponding mails for details about their purpose).
There are the following changes and additions for which we hope
you have comments on:
* a _weighted_ random routing policiy utilizing the weights
configurable via "ip route" that allows to approximate many other policies
(e.g. round robin)
* a routing policy choosing routes with equal probability without
any state maintenance overhead(=> low delay)
* a simple round robin policy
* the extended behaviour is only optionally compiled in to allow for
the utilization of the old behaviour (as David Miller denoted: there
are scenarios/setups in which the old behaviour is more desirable
than the new behaviour)
* the ip_route_input lookup function does not consider more than
one alternative, only ip_route_output_key does (as Jamal denoted:
our extension makes primarily sense if one routes on a per
connection basis as we do in ip_route_output_key and not on a per
"packet" basis as we do in the ip forwarding case)
* an interface round robin policy that selects among relevant routes
in a way that tries to ensure an overall round robin among the
available _interfaces_ is achieved.
In addition to any opinions about the above mentioned changes we would
be very glad about any comments on the following issue:
Is it desirable to introduce modules for the policy implementations? We
think
the weighted random policy is the most relevant one in this context as it
allows for the rough emulation of all other policies and considers the
weights configured via "ip route". Anyway, the other policies are more
efficient than their emulated counterparts. Up to now, as we are not sure,
wether more policies than weighted random are desired, one has to decide
via kernel configuration, which implementation should be utilized.
Further remarks on the organisation of the patch:
* the patch attached to this mail splits up ip_route_(input|output)_slow
(identical to the one posted last week as it still fits to bitkeeper head)
* the patch following in the subsequent mail encompasses the changes
mentioned above on the basis of the splitting patch
Regards,
Einar
We've all seen your patches already, you don't need to send them
again.
Thanks.
David S. Miller wrote:
>We've all seen your patches already, you don't need to send them
>again.
>
>Thanks.
>
>
Sorry, David. I did not post the same patches. I pointed out
in the mail that there are major changes.
Regards,
Einar.