Chapter 11. Frame Transmission
Transmission is the term used for frames that leave the system, either because they were sent by the system or because they are being forwarded. In this chapter, we will cover the main tasks involved during the frame transmission data path:
Enabling and disabling frame transmission for a device
Scheduling a device for transmission
Selecting the next frame to transmit among the ones waiting in the device's egress queue
The transmission itself (we will examine the main function)
Much about transmission is symmetric to the reception process we discussed in Chapter 10: NET_TX_SOFTIRQ is the transmission counterpart of the NET_RX_SOFTIRQ softirq, net_tx_action is the
counterpart of net_rx_action, and so on. Thus, if you
have studied the earlier chapter, you should find it easy to follow this one. Figure 11-1 compares the logic behind
scheduling a device for reception and scheduling a device for transmission. Here are some
more similarities:
poll_listis the list of devices that are polled because they have a nonempty receive queue.output_queueis the list of devices that have something to transmit.poll_listandoutput_queueare two fields of thesoftnet_datastructure introduced in Chapter 9.Only open devices (ones with the
_ _LINK_STATE_STARTflag set) can be scheduled for reception. Only devices with transmission enabled (ones with the_ _LINK_STATE_XOFFflag cleared) can be scheduled for transmission.When a device is scheduled for reception, its
_ _LINK_STATE_RX_SCHED ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access