On Tue, Jul 28, 2015 at 09:20:02PM +0000, Richard Laing wrote:
> >> diff --git a/include/net/flow.h b/include/net/flow.h
> >> index 8109a15..d1d933d 100644
> >> --- a/include/net/flow.h
> >> +++ b/include/net/flow.h
> >> @@ -79,6 +79,10 @@ struct flowi4 {
> >>    #define fl4_ipsec_spi        uli.spi
> >>    #define fl4_mh_type        uli.mht.type
> >>    #define fl4_gre_key        uli.gre_key
> >> +
> >> +#ifdef CONFIG_IP_FLOW_BASED_MULTIPATH
> > Why bother making this a CONFIG, round robin is a miserable algorithm
> > anyway and nearly all the other packet steering mechanisms already use
> > a hash.
> 
> Fair enough, I will look at making it a sysctl option. I guess the 
> default can be the current behaviour.

Hm... that's an interesting question. In general, it's better to use
current behaviour as a default so that people are not surprised on
upgrade. On the other hand, it used to be per-flow  - or rather per
destination - earlier (until the routing cache removal, I believe) and
per-flow distribution is IMHO preferrable in majority of use cases. In
theory, there was a route attribute "equalize" to switch to per-packet
distribution, but it was never actually implemented, AFAIK (it was
recognized by ip and passed to kernel but ignored there).

Anyway, config option is definitely inconvenient as most users install
distribution kernels and do not configure their kernels themselves. Even
boot parameter would be better - but sysctl sounds much better. Having
both sysctl and per-route attribute would be perfect, of course.

                                                        Michal Kubecek

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to