<div dir="ltr">Hi, <div><br></div><div>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? </div><div><br></div><div>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 ?</div><div><br></div><div>Thanks,<br></div><div>Vasu</div></div>