From: Roopa Prabhu <ro...@cumulusnetworks.com> This patch adds support for MPLS multipath routes.
Includes following changes to support multipath: - splits struct mpls_route into 'struct mpls_route + struct mpls_nh'. - struct mpls_nh represents a mpls nexthop label forwarding entry - Adds support to parse/fill RTA_MULTIPATH netlink attribute for multipath routes similar to ipv4/v6 fib - In this series the multipath route nexthop selection algorithm starts with a simple round robin and is replaced by a hash based algorithm from Robert Shearman in the last patch - In the process of restructuring, this patch also consistently changes all labels to u8 $ip -f mpls route add 100 nexthop as 200 via inet 10.1.1.2 dev swp1 \ nexthop as 700 via inet 10.1.1.6 dev swp2 \ nexthop as 800 via inet 40.1.1.2 dev swp3 $ip -f mpls route show 100 nexthop as to 200 via inet 10.1.1.2 dev swp1 nexthop as to 700 via inet 10.1.1.6 dev swp2 nexthop as to 800 via inet 40.1.1.2 dev swp3 Roopa Prabhu (2): mpls: multipath support mpls: flow-based multipath selection Signed-off-by: Roopa Prabhu <ro...@cumulusnetworks.com> ---- Changes since v1: - Incorporate some feedback from Robert: use dynamic allocation (list) instead of static allocation for nexthops - include flow hash based multipath selection from Robert include/net/mpls_iptunnel.h | 2 +- net/mpls/af_mpls.c | 668 ++++++++++++++++++++++++++++++++++---------- net/mpls/internal.h | 57 +++- 3 files changed, 572 insertions(+), 155 deletions(-) -- 1.9.1 -- 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