Subject: Re: keeping ifindex in 16bits or does it have to be sparse?

From: Ben Greear <[email-masked]>
Date: Tue, 31 Mar 2009 08:24:50 -0700

Jeremy Jackson wrote:
> The question came up when profiling Quagga... a performance issue occurs
> because it's iterating over a linked list of interface structures... and
> this person is using 2000 interfaces for ADSL PPPoE server.  It's an
> interesting use case.
>
> There are 2 options to make the interface lookup in quagga scale: array
> or hash.  My first thought was array, but it seems that ifindex can get
> sparse, that is, the largest ifindex can be much bigger (eg 408589) the
> number of max number of interfaces.
>
> So question to netdev, is it possible to reuse ifindex eventually, so it
> won't keep growing with interface add/delete, and are there
> (unnecessary) large jumps in the allocation sequence?
>   
Please use a hash...I'm sure someone will have a use-case with more than 
64k interfaces
sometime soon.

Ben

-- 
Ben Greear <[email-masked]> 
Candela Technologies Inc  http://www.candelatech.com