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.