1.7 Watchdog Section for a Network Driver
The watchdog section for a network device driver contains a watchdog interface, which attempts to restart the adapter. The watchdog interface is optional in a network device driver. If the network device driver implements it, watchdog is called by a kernel thread if the driver’s interrupt handler has not shut down the countdown timer within a certain number of seconds of queueing a data packet for transmission from the upper layer. This indicates that the adapter is no longer on line.
1.8 Reset Section for a Network Driver
The reset section for a network device driver contains a reset interface. The reset interface resets the LAN adapter. This interface is called to restart the device following a network failure. This interface resets all of the counters and local variables. It can also free up and reallocate all of the buffers that the network driver uses.
1.9 ioctl Section for a Network Driver
The ioctl section for network device drivers performs miscellaneous tasks that have nothing to do with data packet transmission and reception. Typically, these tasks relate to turning specific features of the hardware on or off.
The ioctl section contains an ioctl interface. You define this entry point in the ifnet data structure.
1.10 Interrupt Section for a Network Driver
The interrupt section for a network device driver contains an interrupt handler. The interrupt handler processes network device interrupts. You define the entry point for the interrupt handler by calling the handler interfaces. The interrupt handler is called each time that the network interface receives an interrupt. After identifying which type of interrupt was received — transmit or receive — the interrupt handler calls the appropriate routine to process the interrupt.
1.11 Output Section for a Network Driver
The output section for a network device driver formats a data packet for transmission on the network. The ether_output( ) routine formats data packets for Tru64 UNIX network drivers. Despite its name, ether_output( ) handles the frame formats for Ethernet, token ring, and FDDI. After it has properly formatted the data packet, ether_output( ) enqueues the packet on the driver’s send queue and calls the driver’s start
Network Device Driver Environment