On 3/27/17 9:08 PM, Eric W. Biederman wrote:
Overall I like what is being accomplished by this patchset.
I especially like the fact that the forwarding path is left
essentially unchanged, and that the struct mpls_route shirnks a little
for the common case.
I believe we should just kill MAX_NEW_LABELS.
I think the only significant change from your patch is the removal of an
array from mpls_route_config.
With the removal of MAX_NEW_LABELS I would replace it by a sanity check
in mpls_rt_alloc that verifies that the amount we are going to allocate
for struct mpls_route is < PAGE_SIZE. Anything larger is just
asking for trouble.
Sure. We would want a consistent API across architectures. As I recall
some of them have 64kB page sizes, so rather than page size let's limit
to the number 4096 rather than PAGE_SIZE.
That should put our practical limit just a little bit below 32 nexthops
adding 32 labels each.
I send out a v2 soon.