Jaime
in this setup the kernel is completely bypassed as NAPI has no idea that there 
are packets to send to upper layers. This means speed but at the same time it 
also means that PF_RING is used to setup the card and then is totally bypassed.

Luca

On Feb 22, 2010, at 10:05 AM, Jaime Nebrera wrote:

>  Hi Luca,
> 
>  As always congratulations. Now one question, its clear just 1 user
> space application can use this data (unless they cooperate some way). My
> question is, how about kernel? I mean, this copies the data to user land
> very fast but is the kernel still able to see that data for things like
> forwarding or firewalling?
> 
>  Regards
> 
> 
> El dom, 21-02-2010 a las 21:15 +0100, Luca Deri escribió:
>> Dear all,
>> this is to announce the availability of PF_RING DNA (Direct NIC Access) that 
>> significantly increments performance (up to 80%) when compared with Linux 
>> packet capture and PF_RING (non DNA).
>> 
>> PF_RING is polling packets from NICs by means of Linux NAPI. This means that 
>> NAPI copies packets from the NIC to the PF_RING circular buffer, and then 
>> the userland application reads packets from ring. In this scenario, there 
>> are two pollers, both the application and NAPI and this results in CPU 
>> cycles used for this polling; the advantage is that PF_RING can distribute 
>> incoming packets to multiple rings (hence multiple applications) 
>> simultaneously.
>> 
>> PF_RING DNA (Direct NIC Access) is a way to map NIC memory and registers to 
>> userland so that packet copy from the NIC to the DMA ring is done by the NIC 
>> NPU (Network Process Unit) and not by NAPI. This results in better 
>> performance as CPU cycles are used uniquely for consuming packets and not 
>> for moving them off the adapter. The drawback is that only one application 
>> at time can open the DMA ring, or in other words that applications in 
>> userland need to talk each other in order to distribute packets.
>> 
>> In a nutshell if you like flexibility you should use PF_RING, if you want 
>> pure speed PF_RING DNA is the solution. Please note that in DNA mode NAPI 
>> polling does not take place, hence PF_RING features such as reflection and 
>> packet filtering are not supported.
>> 
>> For more information, please have a look at the PF_RING home page 
>> (http://www.ntop.org/PF_RING.html). As of today DNA support is available 
>> only for Intel 1 Gbit PCI Express (e1000e family) cards.
>> 
>> Luca
>> 
>> 
>> ---
>> 
>> "Debugging is twice as hard as writing the code in the first place. 
>> Therefore, if you write the code as cleverly as possible, you are, by 
>> definition, not smart enough to debug it. - Brian W. Kernighan
>> 
>> _______________________________________________
>> Ntop-misc mailing list
>> [email protected]
>> http://listgateway.unipi.it/mailman/listinfo/ntop-misc
> -- 
> Jaime Nebrera - [email protected]
> Consultor TI - ENEO Tecnologia SL
> Pol. PISA - C/ Manufactura 6, P1, 3B
> Mairena del Aljarafe - 41927 - Sevilla
> Telf.- 955 60 11 60 / 619 04 55 18
> 
> _______________________________________________
> Ntop-misc mailing list
> [email protected]
> http://listgateway.unipi.it/mailman/listinfo/ntop-misc

---
We can't solve problems by using the same kind of thinking we used when we 
created them - Albert Einstein

_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc

Reply via email to