[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1350913329-4044-1-git-send-email-nicolas.dichtel@6wind.com>
Date: Mon, 22 Oct 2012 15:42:08 +0200
From: nicolas.dichtel@...nd.com
To: davem@...emloft.net
Cc: joe@...ches.com, bernat@...fy.cx, netdev@...r.kernel.org,
yoshfuji@...ux-ipv6.org, eric.dumazet@...il.com
Subject: [PATCH net-next v8 0/1] Add support of ECMPv6
Here is a proposal to add the support of ECMPv6. The previous patch
from Vincent against iproute2 can be used, but a little other patch is needed
too, see http://patchwork.ozlabs.org/patch/183277/
He also starts to write a patch against quagga, to be able to manage ECMPv6
routes implemented in this patch:
http://marc.info/?l=quagga-dev&m=135040310117116&w=2
If the kernel patch is approved, I can submit formally the patch for
iproute2.
Here is an example of a command to add an ECMP route:
$ ip -6 route add 3ffe:304:124:2306::/64 \
nexthop via fe80::230:1bff:feb4:e05c dev eth0 \
nexthop via fe80::230:1bff:feb4:dd4f dev eth0
But note that this command is a shortcut and previous patches are not
mandatory to set ECMP routes. The following commands can be used too:
$ ip -6 route add 3ffe:304:124:2306::/64 via fe80::230:1bff:feb4:dd4f dev
eth0
$ ip -6 route append 3ffe:304:124:2306::/64 via fe80::230:1bff:feb4:e05c dev
eth0
Here is an example of a dump:
$ ip -6 route | grep 3ffe:304:124:2306::/64
3ffe:304:124:2306::/64 via fe80::230:1bff:feb4:dd4f dev eth0 metric 1024
3ffe:304:124:2306::/64 via fe80::230:1bff:feb4:e05c dev eth0 metric 1024
v8: Remove CONFIG_IPV6_MULTIPATH (keeping this option with only some helpers
in header files will be just unreadable).
Replace some invisible printk() by BUG_ON(): if counters don't match, list of
siblings is broken.
Remove rt6_info_hashfn() (useless in the current patch).
Remove argument net from rt6_multipath_select(), it was not used.
v7: fix checkpatch.pl warning
invert rt6i_nsiblings and rt6i_siblings in struct rt6_info
v6: be more verbose in commitlog
add some helpers in ip6_fib.h to avoid to have too many ifdef block in the
code
invert fc_mp_len and fc_mp in struct fib6_config to avoid a hole on 64bits
arch
v5: to minimize the patch and ease its integration, remove roundrobin and random
algorithms for route selection. It will be possible to add new algorithms
through rt6_info_hashfn() when the basic support of ECMP is integrated.
v4: remove compilation options to choose multipath algorithm for next hop
selection. Now the choice can be done at run time via
/proc/sys/net/ipv6/route/multipath_algorithm
v3: rebase after updating net-next
v2: rename CONFIG_IPV6_MULTIPATH_ROUTE to CONFIG_IPV6_MULTIPATH_HASH
use flowlabel in the hash function
add reference to RFC
fix a small identation issue
remove "If unsure, say N." from the help of CONFIG_IPV6_MULTIPATH
Comments are welcome.
Regards,
Nicolas
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists