[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1445605408-58676-1-git-send-email-roopa@cumulusnetworks.com>
Date: Fri, 23 Oct 2015 06:03:26 -0700
From: Roopa Prabhu <roopa@...ulusnetworks.com>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, ebiederm@...ssion.com, rshearma@...cade.com
Subject: [PATCH net-next v6 0/2] mpls: multipath support
From: Roopa Prabhu <roopa@...ulusnetworks.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 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 (1):
mpls: multipath support
Robert Shearman (1):
mpls: flow-based multipath selection
Signed-off-by: Roopa Prabhu <roopa@...ulusnetworks.com>
Acked-by: Eric W. Biederman <ebiederm@...ssion.com>
----
v2:
- Incorporate some feedback from Robert:
use dynamic allocation (list) instead of static allocation
for nexthops
v3:
- Move back to arrays (same as v1), also suggested by Eric Biederman
v4:
- address a few comments from Eric Biederman
Plan to address the following pending comments in incremental patches after this
infrastructure changes go in.
- Move VIA size to 16 bytes
- use ipv6 flow label in ecmp calculations
- dead route handling during multipath route selection (I had planned this in
an incremental patch initially).
v5:
feedback from Eric Biederman
- Removed some dead code
feedback from Robert
- Moved dev_put into find_outdev to make it clear that we dont need
a hold on the dev because we are under rtnl
- move the unused variable fix into the correct patch file
v6:
- fix checkpatch errors
- Still see one pending checkpatch error "ERROR: Macros with
complex values should be enclosed in parentheses
#859: FILE: net/mpls/internal.h:70:
+#define endfor_nexthops(rt) } "
I picked this macro from ip_fib.h and there are other places in
the kernel that define the same macro. See some discussions
on mailing lists that this could be spurious.
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists