Patent ID: 8316156

Claim:
An apparatus comprising: an adapter to be comprised in a server and being capable of providing a plurality input/output (I/O) services, the server including a plurality of central processing units and host memory, the adapter to be coupled to the plurality of central processing units via an interface, the server including a certain operating system that is one of a plurality of different operating systems to access the I/O services via drivers and an interface manager comprised in the server, the adapter including modules to implement the I/O services, the adapter also including ports to be coupled to a network, the modules being to implement TCP offload, iSCSI protocol, and iWARP RDMA protocol-related functions, the drivers being to export adapter functionalities to the certain operating system, the adapter functionalities being associated in accordance with a mapping with peripheral component interconnect (PCI) functions, the mapping being to map the I/O services that are implemented by the modules to one or more respective ones of the PCI functions, the manager to allow the drivers to load and unload in any order on any combination of the PCI functions while permitting operation of remaining running drivers to continue during driver transitions, a request to an unloading component to be stalled until handoff to another capable component has occurred, the interface manager to be used to manage which other managers in the server are actively controlling adapter resources on a per PCI function basis to permit failure isolation and to prevent resource over-usage, and when a handoff operation from one manager to another manager is to occur, information related to resources managed by the one manager is to be provided to the another manager.