Question about memory in C
From: Cihangir Akturk <hidden>
Date: 2016-02-10 21:25:53
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
VictorHi 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.