Relationship between Rx/Tx ring and Skbuff.

Vasu M vasu.kernel at gmail.com
Wed Aug 5 14:34:52 EDT 2020


Hi,

I would like to understand the journey of the packet in Linux kernel. There
are many resources that explain this differently but as I have understood
it on a high level, when a packet is received in a NIC, DMA  moves the
packets from the NIC frame buffer into the RX ring buffer in the driver. A
hardware interrupt is then raised and the top half moves the packet to the
RX ring buffer. Is it right to understand that the bottom half tasklets
then drain the buffer and move the packets to sk_buff data structure? Are
the RX/TX buffers different from sk_buff in terms of memory regions or the
sk_buff simply points to the physical address of the packets residing in
the RX ring and then does the manipulation of the pointers to send it up
in the kernel IP stack?

I know this is a broad topic but I would like to seek clarification from
the experts on my understanding of packet movement inside the kernel.  Or
can you point me to a resource which can be a close explanation about the
implementation on how the kernel handles in > 4.x ?

Thanks,
Vasu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20200805/9c1ed3c9/attachment.html>


More information about the Kernelnewbies mailing list