What happens after a packet is captured?

Posted by Rayne on Stack Overflow See other posts from Stack Overflow or by Rayne
Published on 2010-03-30T03:14:17Z Indexed on 2010/03/30 3:23 UTC
Read the original article Hit count: 438

Filed under:
|
|
|
|

Hi all,

I've been reading about what happens after packets are captured by NICs, and the more I read, the more I'm confused.

Firstly, I've read that traditionally, after a packet is captured by the NIC, it gets copied to a block of memory in the kernel space, then to the user space for whatever application that then works on the packet data. Then I read about DMA, where the NIC directly copies the packet into memory, bypassing the CPU. So is the NIC -> kernel memory -> User space memory flow still valid? Also, do most NIC (e.g. Myricom) use DMA to improve packet capture rates?

Secondly, does RSS (Receive Side Scaling) work similarly in both Windows and Linux systems? I can only find detailed explanations on how RSS works in MSDN articles, where they talk about how RSS (and MSI-X) works on Windows Server 2008. But the same concept of RSS and MSI-X should still apply for linux systems, right?

Thank you.

Regards, Rayne

© Stack Overflow or respective owner

Related posts about packet

Related posts about dma