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