Subject: Re: [PATCH] support for large number of network devices.

From: Matt Mackall <[email-masked]>
Date: Wed, 14 Jan 2004 01:13:03 -0600

On Tue, Jan 13, 2004 at 04:13:03PM -0800, Stephen Hemminger wrote:
> On Tue, 13 Jan 2004 15:59:21 -0800
> "David S. Miller" <[email-masked]> wrote:
> 
> > On Tue, 13 Jan 2004 15:46:10 -0800
> > Stephen Hemminger <[email-masked]> wrote:
> > 
> > > When using pseudo network devices, and really big machines; there is
> > > sometimes a need to have a lot of network devices.  This replaces the
> > > existing 2.6.1 limit of 100 entries an was O(n^2)
> > > with a algorithm that will handle up to 32768 entries with O(n) behaviour.
> > > 
> > > Does need a temporary page, but that shouldn't be a big deal.
> > > It has the same semantics, it will find the first empty name and use it.
> > 
> > I think your code has different semantics than exist currently.
> > 
> > For example, let's use the example of asking for "slip%d" then "eth%d".
> > The existing code would hand out "slip0" then "eth0", but your code would
> > deliver "slip0" then "eth1" which is not correct.
> > 
> > Or did I miss something clever in your algorithm?
> 
> 	It uses the output format string for the sscanf match, and since
> 	sscanf formats have to match. 	sscanf("eth0", "slip%d", &i) returns 0
> 	so eth0 would be skipped

Unfortunately sscanf("eth0-not-allocated", "eth%d", &i) fools it.
Which may or may not be worth worrying about.

-- 
 Matt Mackall : http://www.selenic.com : Linux development and consulting