netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v4 0/2] mpls: multipath support
@ 2015-10-19  1:20 Roopa Prabhu
  2015-10-22  2:01 ` David Miller
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Roopa Prabhu @ 2015-10-19  1:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, ebiederm, rshearma

From: Roopa Prabhu <roopa@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 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@cumulusnetworks.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).

 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next v4 0/2] mpls: multipath support
  2015-10-19  1:20 [PATCH net-next v4 0/2] mpls: multipath support Roopa Prabhu
@ 2015-10-22  2:01 ` David Miller
  2015-10-22  4:04 ` Eric W. Biederman
  2015-10-22 13:19 ` David Miller
  2 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2015-10-22  2:01 UTC (permalink / raw)
  To: roopa; +Cc: netdev, ebiederm, rshearma

From: Roopa Prabhu <roopa@cumulusnetworks.com>
Date: Sun, 18 Oct 2015 18:20:43 -0700

> This patch adds support for MPLS multipath routes.

Eric, can you please review these changes?

Thanks.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next v4 0/2] mpls: multipath support
  2015-10-19  1:20 [PATCH net-next v4 0/2] mpls: multipath support Roopa Prabhu
  2015-10-22  2:01 ` David Miller
@ 2015-10-22  4:04 ` Eric W. Biederman
  2015-10-22 13:35   ` roopa
  2015-10-22 13:19 ` David Miller
  2 siblings, 1 reply; 5+ messages in thread
From: Eric W. Biederman @ 2015-10-22  4:04 UTC (permalink / raw)
  To: Roopa Prabhu; +Cc: davem, netdev, rshearma

Roopa Prabhu <roopa@cumulusnetworks.com> writes:

> From: Roopa Prabhu <roopa@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 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@cumulusnetworks.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).

I don't see anything problematic in the patches the worst
I found is dead code and we can delete that later so
for purposes of moving forward I say:

Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>

That said we really need dead path handling.  Without handling paths
that go dead this functionality really is pretty much broken.  So if you
can't get that by the merge window we will need to apply a patch to
disable processing of the RTA_MULTIPATH netlink attribute.

Eric

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next v4 0/2] mpls: multipath support
  2015-10-19  1:20 [PATCH net-next v4 0/2] mpls: multipath support Roopa Prabhu
  2015-10-22  2:01 ` David Miller
  2015-10-22  4:04 ` Eric W. Biederman
@ 2015-10-22 13:19 ` David Miller
  2 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2015-10-22 13:19 UTC (permalink / raw)
  To: roopa; +Cc: netdev, ebiederm, rshearma

From: Roopa Prabhu <roopa@cumulusnetworks.com>
Date: Sun, 18 Oct 2015 18:20:43 -0700

> This patch adds support for MPLS multipath routes.

Please address Rob's feedback and respin, thanks!

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next v4 0/2] mpls: multipath support
  2015-10-22  4:04 ` Eric W. Biederman
@ 2015-10-22 13:35   ` roopa
  0 siblings, 0 replies; 5+ messages in thread
From: roopa @ 2015-10-22 13:35 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: davem, netdev, rshearma

On 10/21/15, 9:04 PM, Eric W. Biederman wrote:
> Roopa Prabhu <roopa@cumulusnetworks.com> writes:
>
>> From: Roopa Prabhu <roopa@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 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@cumulusnetworks.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).
> I don't see anything problematic in the patches the worst
> I found is dead code and we can delete that later so
> for purposes of moving forward I say:
>
> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
>
> That said we really need dead path handling.  Without handling paths
> that go dead this functionality really is pretty much broken.  So if you
> can't get that by the merge window we will need to apply a patch to
> disable processing of the RTA_MULTIPATH netlink attribute.
I will submit these before the merge window. Since dead routes were not handled for the non-multipath routes, it always was an incremental feature to cover on my TODO list. Understand your concern, I will submit them soon.

thanks.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-10-22 13:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-19  1:20 [PATCH net-next v4 0/2] mpls: multipath support Roopa Prabhu
2015-10-22  2:01 ` David Miller
2015-10-22  4:04 ` Eric W. Biederman
2015-10-22 13:35   ` roopa
2015-10-22 13:19 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).