Network Packet Transmission Overview
A device’s device’s transmit complete interrupt signals μCμC/TCP-IP that another transmit packet is available to be transmitted or be queued for transmit by the device.
Figure 7-3 shows the relationship between a device’s device’s transmit complete interrupt, its transmit complete ISR handling and μCμC/TCP-IP’s IP’s network interface transmit.
...
Figure 7-4 Device transmit complete interrupt and transmit ready signal
F7-4(1) The μCμC/TCP-IP’s IP’s Network Interface Transmit calls NetOS_Dev_TxRdyWait()
to wait for a specific network interface device semaphore to become ready and/or available to transmit a packet by waiting (with or without timeout) for the specific network interface’s interface’s Device Tx Ready Signal to be signaled.
F7-4(2) When a device is ready and/or available to transmit a packet, the device generates an interrupt which calls the device’s device’s BSP-level ISR handler.
F7-4(3) The device’s device’s BSP-level ISR handler determines which network interface number the specific device’s device’s interrupt is signaling and then calls NetIF_ISR_Handler()
to handle the transmit complete interrupt.
F7-4(4) The specific device ISR handlers NetDev_ISR_Handler()
calls NetOS_Dev_TxRdySignal()
to signal the Device Tx Ready Signal for each packet or descriptor that is now available to transmit by the device.
F7-4(5) μCμC/TCP-IP’s IP’s Network Interface Transmit’s Transmit’s call to NetOS_Dev_TxRdyWait()
returns since the semaphore is made ready by each available device transmit complete that signals the Device Tx Ready Signal.
...