[frr] 2 MPLS Questions

David Ahern dsa at cumulusnetworks.com
Thu Apr 6 15:12:32 EDT 2017


On 4/6/17 11:33 AM, Olivier Dugeon wrote:
> Well, I'm not sure to correctly understand.
> 
> Is this means that we could manage for example 136 segment paths of 30 labels each, 256 segment paths of 16 labels each, 1024 segment paths of 4 labels, ... In other words, the sum of all label stacks of all segment paths must fit under the 4k bytes limit. I understand that we must put a limit, but 4k bytes is short. Very short. At the maximum it only authorizes 4k connexions with only one label i.e. only 4K LDP, RSVP-TE or MP-BGP paths.
> 
> Or is this means that the total size of the packet + labels must not increase 4k bytes ? That's enough for standard 1500 bytes packets, but not sufficient for jumbo frames.
> 
> Or is this means that the total information per mpls_route must not exceed 4k bytes ? In this case, it is largely enough as label stacks in segment routing replace the number of nexhops. I means that, then you describe an mpls_route in segment routing, the stack of label is the path and nexthops are the label. So, no needs to have both nexhops and labels.
> 
> Can you precise which of my interpretation is correct, or if I'm completely wrong ?

The 4k limit is on a single mpls_route spec in the kernel. For example,
a route like this:

ip -f mpls route add 100 \
    nexthop as to 101/102/.../130 via inet 172.16.1.1 \
    nexthop as to 201/202/.../230 via inet 172.16.2.1 \
    ...
    nexthop as to 3001/3002/.../3030 via inet 172.16.30.1 \

can only consume 4096 bytes in the kernel. 30'ish nexthops each with 30
labels all in a single MPLS route should be rather excessive - with both
the number of labels and the number of nexthops.

It has no correlation to packet size, number of routes, number of
segment paths, etc.



More information about the dev mailing list