Re: [PATCH net-next v4] net: ipv4: add support for ECMP hash policy choice
From: Nikolay Aleksandrov <hidden>
Date: 2017-03-16 16:49:29
On 16/03/17 18:41, Stephen Hemminger wrote:
On Thu, 16 Mar 2017 15:28:00 +0200 Nikolay Aleksandrov [off-list ref] wrote:quoted
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index d6880a6149ee..62c4f94923e5 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c@@ -1004,6 +1004,15 @@ static struct ctl_table ipv4_net_table[] = { .extra1 = &zero, .extra2 = &one, }, + { + .procname = "fib_multipath_hash_policy", + .data = &init_net.ipv4.sysctl_fib_multipath_hash_policy, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = &zero, + .extra2 = &one, +Rather than having magic integer values, it would be better to use strings (like TCP congestion control). Especially if you want to support more values in the future.
With strings we'll need two sysctls - one to export the available ones, and one to set. I too am not happy with plain integers as I've said in v1 of this patch but if people are okay with having two new sysctls exported then I don't mind reworking it with strings. Or any other ideas are welcome.
Also what about IPv6?
Patches are welcome, too. :-) We can update it at any time, IPv4 and 6 have been different for a very long time and it's not the point of this patch to bring them closer, though IPv6 already does L4 by default.