Subject: Re: [NET 00/06]: Increase number of possible routing tables

From: Michael Tokarev <[email-masked]>
Date: Fri, 11 Aug 2006 10:56:34 +0400

David Miller wrote:
> From: Michael Tokarev <[email-masked]>
[]
>>> - Use u32 for routing table IDs everywhere inside the kernel
>> Just out of curiocity: why current limit of 2^31 isn't sufficient?
>> Or am I missing the point?
> 
> The current limit is 256 because the table member of the struct
> used to configure them is an 8-bit quantity.
> 
> That's the whole purpose of Patrick's patch set, to provide a new
> optional attribute that allows specifying a 32-bit rather than
> the 8-bit table ID.

Aha, it was 256, not 2^31.  I remember now.

So the question probably should have been like, why u32 and additional
attribute (to represent former -1) instead of current int?  I mean,
it probably makes no difference whenever there are 2^32 or 2^31 tables
(both values are pretty large), but 2^32 requires more changes for the
existing code.

And while we're at it...  How about using table *names* instead of
numbers in kernel too, a-la iptables?  Once possible number of tables
is large, and we're using hashes for tables now anyway, keeping a
name inside the table structure wont hurt ;)

/mjt