Next: The Linux Kernel -
Up: RX Flow
Previous: Network Driver
Contents
- The netif_rx() function performs the following:
- Enqueues sk_buff to the system's input queue (sometimes
referred to as the "backlog").
- Schedules the dequeue task.
- The dequeue task performs the following:
- Dequeues a packet from the backlog.
- Sets some more information in the sk_buff, and manages
some statistics.
- Calls OpenRG RX hooks (referred to as "knet hooks") for this
packet:
- If the hooks mechanism's answer is "handled", packet
processing is stopped, otherwise it continues normally.
- The hooks may modify every aspect of the sk_buff
(especially the actual data and the "device" field) and still say
"not handled". The OpenRG hooks scheme is explained in detail in
section 17.4.3.
- Passes the packet to Linux routing.
Jungo Software Technologies