Method and apparatus for a shared I/O network interface controller
First Claim
1. A shareable network interface controller to be shared within the load-store architecture of each of a plurality of operating system domains, comprising:
- a bus interface, for coupling the shareable network interface controller to each of the plurality of operating system domains; and
registration logic, coupled to said bus interface, for registering one of the plurality of operating system domains as a master of the shareable network interface controller.
6 Assignments
0 Petitions
Accused Products
Abstract
A network interface controller is provided which is shareable by a plurality of operating system domains within their load-store architecture. The controller includes local resources for each of the plurality of operating system domains which allow them to communicate uniquely with the controller, and global resources which allow the controller to communicate with each of the plurality of operating systems, as well as with a network fabric. A method and apparatus is provided for distinguishing between the local and global resources, for purposes of reset and configuration. Resets received from ones of the plurality of operating system domains are treated as hot-pluggable events, and utilize a reset DLLP packet to the controller. The controller allows the reset DLLP to reset only those local resources which are associated with the operating system transmitting the reset, while preserving the other local resources. Registration logic is provided to allow one of the operating system domains to register as management (or reset) master, for configuration and reset of global resources. Timer logic is provided to insure that if global configuration fails, the management master is unregistered. Status/Messaging logic is provided to notice other operating system domains of the status of global configuration and/or reset.
-
Citations
88 Claims
-
1. A shareable network interface controller to be shared within the load-store architecture of each of a plurality of operating system domains, comprising:
-
a bus interface, for coupling the shareable network interface controller to each of the plurality of operating system domains; and
registration logic, coupled to said bus interface, for registering one of the plurality of operating system domains as a master of the shareable network interface controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A controller, shared by a plurality of operating system domains, accessed by load-store instructions which directly address the controller, comprising:
-
a bus interface, for coupling the controller to a load-store link which communicates with each of the plurality of operating system domains;
OSD PCI Config logic, coupled to said bus interface, which associates the controller with each of the plurality of operating system domains;
a plurality of local resources, each of the plurality associated with a different one of the plurality of operating system domains;
global resources, utilized by the controller to support all of the plurality of operating system domains; and
registration logic, for registering one of the plurality of operating system domains as a master;
wherein said master is responsible for performing management functions on said global resources. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. A network interface controller which is shareable by a plurality of operating system domains by utilizing load-store instructions within their architecture, the controller comprising:
-
a plurality of local resources, each of said plurality of local resources associated with a different one of the plurality of operating system domains;
global resources, utilized by the controller for processing of the load-store instructions for each of the plurality of operating system domains; and
a reset from one of the plurality of operating system domains which causes a reset of its associated local resource;
wherein said reset does not cause other ones of the plurality of local resources to be reset. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. A method for resetting a network interface controller within the load-store architecture of a plurality of operating system domains, the method comprising:
-
receiving a reset from one of the plurality of operating system domains;
determining which one of the plurality of operating system domains sent the reset; and
utilizing the reset to reset resources associated with the one of the plurality of operating system domains that sent the reset, while not resetting resources associated with other ones of the plurality of operating system domains. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
-
79. A method for insuring that only one of a plurality of operating system domains can reset global resources within a network interface controller that is shared by the plurality of operating system domains within their load-store architecture, the method comprising:
-
receiving a request by one of the plurality of operating system domains to be a reset master of the network interface controller;
registering as reset master the one of the plurality of operating system domains that sent the request;
upon registering the reset master, allowing the reset master to reset the global resources within the network interface controller. - View Dependent Claims (80, 81, 82, 83, 84, 85, 86, 87, 88)
-
Specification