Patent ID: 7418716

Claim:
A method for interfacing a network adapter to a host, comprising: receiving, by a device interface in the network adapter, a request generated by a device driver in the host, wherein the request is generated by the device driver by calling a routine located at a fixed offset in a memory of the network adapter, wherein the routine is included in the device interface, and wherein the device driver includes information corresponding to a location of the fixed offset of the routine; processing the request, by the device interface, wherein a plurality of device interfaces corresponding to a plurality of network adapters are capable of processing the request; executing an operation associated with the network adapter, by the device interface, in response to processing the request, wherein the device interface is included in a flash memory in the network adapter, wherein the device interface is executed by a processor located in the network adapter, and wherein the device interface can exploit hardware capabilities of the network adapter; and modifying the device interface in the network adapter in response to the network adapter being upgraded, wherein the device driver remains unchanged in the host, wherein the unchanged device driver interfaces correctly with the modified device interface in the network adapter, and wherein the unchanged device driver interfaces with all previous versions of the network adapter and with all modified versions of the network adapter.