On 25/03/17 17:03, David Ahern wrote:
Bump the maximum number of labels for MPLS routes from 2 to 12. To keep
memory consumption in check the labels array is moved to the end of mpls_nh
and mpls_iptunnel_encap structs as a 0-sized array. Allocations use the
maximum number of labels across all nexthops in a route for LSR and the
number of labels configured for LWT.
The mpls_route layout is changed to:
...
Meaning the via follows its mpls_nh providing better locality as the
number of labels increases. UDP_RR tests with namespaces shows no impact
to a modest performance increase with this layout for 1 or 2 labels and
1 or 2 nexthops.
The new limit is set to 12 to cover all currently known segment
routing use cases.
David Ahern (4):
mpls: Convert number of nexthops to u8
net: mpls: change mpls_route layout
net: mpls: bump maximum number of labels
net: mpls: Increase max number of labels for lwt encap
include/net/mpls_iptunnel.h | 4 +-
net/mpls/af_mpls.c | 108 ++++++++++++++++++++++++++------------------
net/mpls/internal.h | 52 ++++++++++++++-------
net/mpls/mpls_iptunnel.c | 13 ++++--
4 files changed, 112 insertions(+), 65 deletions(-)
Acked-by: Robert Shearman <rshea...@brocade.com>