Table 12-2. Functions, variables, and data structures related to interrupts and frame handling
Queues an input frame into a CPU's queue. See the section "Old Versus New Driver Interfaces" in Chapter 10.
netif_rx_schedule _ _netif_rx_schedule
Schedules the NET_RX_SOFTIRQ software interrupt for execution. See the section "Old Versus New Driver Interfaces" in Chapter 10.
Called by the net_device->poll virtual function when the latter has cleared the queue.
Enables and disables transmission on a device, respectively. See the section "Enabling and Disabling Transmissions" in Chapter 11.
Checks whether a device is enabled for transmission.
netif_schedule schedules a device for transmission. netif_wake_queue enables transmission on a device and schedules the device for transmission. See the section "Scheduling a Device for Transmission" in Chapter 11.
Dequeues a frame from the egress queue of a device and pushes it down to the device driver for transmission. See the section "Queuing Discipline Interface" in Chapter 11.
poll virtual function used by non-NAPI device drivers. See the section "Backlog Processing: The process_backlog Poll Virtual Function" in Chapter 10.
Processes input frames by passing them to higher-layer protocol handlers. See the section "Ingress Frame Processing" in Chapter 10.
Main function for frame transmission. See the section "dev_queue_xmit Function" in Chapter 11.
dev_kfree_skb dev_kfree_skb_irq dev_kfree_skb_any
Releases an sk_buff structure. See the section "Processing the NET_TX_SOFTIRQ: net_tx_action" in Chapter 11.
Takes care of a hardware interrupt notification by invoking the associated handler.
open_softirq raise_softirq, raise_softirq_irqoff
Registers and schedules for execution a software interrupt, respectively. See the section "Bottom-half handlers in kernel 2.4 and above: the introduction of the softirq" in Chapter 9.
Takes care of the pending software interrupts by invoking the associated handlers. See the section "Pending softirq Handling" in Chapter 9.
The handlers for the NET_RX_SOFTIRQ and NET_TX_SOFTIRQ software interrupts, respectively. See the section "How the Networking Code Uses softirqs" in Chapter 9.
Initializes a tasklet_struct structure.
Handlers for the TASKLET_SOFTIRQ and HI_SOFTIRQ software interrupts, respectively. See the section "Tasklets" in Chapter 9.
tasklet_enable, tasklet_hi_enable tasklet_disable, tasklet_disable_nosync
Enables and disables a tasklet, respectively. See the section "Tasklets" in Chapter 9.
Schedules a tasklet for execution. See the section "Tasklets" in Chapter 9.
mod_cong lo_cong no_cong no_cong_thresh
Congestion levels for the input queue (used with non-NAPI devices). See the section "Fields of softnet_data" in Chapter 9.
Maximum size for the CPU's input queues. See Figure 9-4 in Chapter 9.
The two NET_XXX_SOFTIRQ software interrupts use one such structure for each CPU. See the section "softnet_data Structure" in Chapter 9.
Represents a tasklet. See the section "Tasklets" in Chapter 9.