<div dir="ltr">Hi,<div><br></div><div>Thank you for your tip! I really appreciate it. In my situation I will have many profiles and for each profile I can have many ip address, for example:</div><div><br></div><div>profile 1:</div><div><a href="http://192.168.0.0/24">192.168.0.0/24</a></div><div><a href="http://192.168.1.2/32">192.168.1.2/32</a></div><div>192.168.14/23</div><div>...</div><div><br></div><div>profile 2:</div><div><a href="http://10.10.10.0/24">10.10.10.0/24</a></div><div><a href="http://10.11.12.0/23">10.11.12.0/23</a></div><div>...</div><div><br></div><div>What&#39;s your opinion? I&#39;m thinking to use pcap library, but I still haven&#39;t the key.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 10, 2016 at 7:25 PM, Cihangir Akturk <span dir="ltr">&lt;<a href="mailto:cakturk@gmail.com" target="_blank">cakturk@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, Feb 10, 2016 at 11:40:44AM -0200, Victor Detoni wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I&#39;m working for a network security prototype and I would like to know the<br>
&gt; best way to read diferent configs from the memory, for example:<br>
&gt;<br>
&gt; My program will receive many pkts from network interface and it needs to<br>
&gt; know what&#39;s profile it will use based on source ip address.<br>
&gt;<br>
&gt; First all, I&#39;m thinking to use array in C, for example:<br>
&gt;<br>
&gt; for (i=0;i&lt;=PROFILES;i++) {<br>
&gt;     if (pkt.ip_addr == source_ip[i])<br>
&gt;         do_something(pkt,i)<br>
&gt; }<br>
&gt;<br>
&gt; I will process at about millions entries per second and ~100 profiles. What<br>
&gt; do you think? It will work fine? fast? any suggest?<br>
&gt;<br>
&gt; thanks<br>
&gt; Victor<br>
<br>
</div></div>Hi Victor,<br>
<br>
I would consider using a simple hash table. Use ipaddr as a key to<br>
do fast lookup of the value. Take a look at scripts/fixdep.c which<br>
includes a FNV hash table implementation.<br>
</blockquote></div><br></div>