Question about memory in C

Cihangir Akturk cakturk at gmail.com
Wed Feb 10 16:25:53 EST 2016


On Wed, Feb 10, 2016 at 11:40:44AM -0200, Victor Detoni wrote:
> Hi all,
> 
> I'm working for a network security prototype and I would like to know the
> best way to read diferent configs from the memory, for example:
> 
> My program will receive many pkts from network interface and it needs to
> know what's profile it will use based on source ip address.
> 
> First all, I'm thinking to use array in C, for example:
> 
> for (i=0;i<=PROFILES;i++) {
>     if (pkt.ip_addr == source_ip[i])
>         do_something(pkt,i)
> }
> 
> I will process at about millions entries per second and ~100 profiles. What
> do you think? It will work fine? fast? any suggest?
> 
> thanks
> Victor

Hi Victor,

I would consider using a simple hash table. Use ipaddr as a key to
do fast lookup of the value. Take a look at scripts/fixdep.c which
includes a FNV hash table implementation.



More information about the Kernelnewbies mailing list