13
Implementing the Interrupt Section
The interrupt section of a network device driver contains the code that is called whenever the network interface transmits or receives a frame.
The if_el device driver implements the following routines in its interrupt section:
•el_intr( ) (Section 13.1)
•el_rint( ) (Section 13.2)
•el_tint( ) (Section 13.3)
•el_error( ) (Section 13.4)
______________________ Note _______________________
The if_el device driver implements a shared interrupt handler. A shared interrupt handler is a driver routine that is registered to take advantage of the shared interrupt framework that Tru64 UNIX provides for hardware devices that share an interrupt line.
The ISA bus does not currently support shared interrupts.
13.1 Implementing the el_intr Routine
The if_el device driver implements an interrupt handler called el_intr( ), which performs the following tasks:
•Sets the interrupt and priority level (IPL) and obtains the simple lock (Section 13.1.1)
•Rearms the next timeout (Section 13.1.2)
•Reads the interrupt status (Section 13.1.3)
•Processes completed receive and transmit operations (Section 13.1.4)
•Acknowledges the interrupt (Section 13.1.5)
•Transmits pending frames (Section 13.1.6)
•Releases the simple lock and resets the IPL (Section 13.1.7)
•Indicates that the interrupt was serviced (Section 13.1.8)
Implementing the Interrupt Section