System and method for implementing logical switches in a network system
First Claim
1. A shared I/O subsystem for a plurality of computer systems comprising:
- a plurality of virtual I/O interfaces communicatively coupled to the computer systems, each of the computer systems including a virtual adapter that communicates with one of the virtual I/O interfaces;
a plurality of I/O interfaces; and
a forwarding function having a plurality of forwarding table entries that logically arrange the shared I/O subsystem into one or more logical switches, wherein each of the logical switches communicatively couples one or more of the virtual I/O interfaces to one of the I/O interfaces;
wherein, for each one of the logical switches, the logical switch receives a first I/O packet from one of the virtual I/O interfaces and directs the first I/O packet to at least one of the I/O interface and one or more of other ones of the virtual I/O interfaces, and receives a second I/O packet from the I/O interface and directs the second I/O packet to one or more of the virtual I/O interfaces;
wherein at least one I/O interface uses a shared physical network interface card (NIC) to couple a plurality of servers to the shared I/O subsystem, each of the plurality of servers having software installed thereon that implements a virtual NIC, wherein the virtual NIC on each given server allows the given server to communicate via the shared physical NIC as if the shared physical NIC was dedicated only to said given server.
5 Assignments
0 Petitions
Accused Products
Abstract
A shared I/O subsystem for a plurality of computer systems where a plurality of virtual I/O interfaces are communicatively coupled to the computer systems. Each of the computer systems includes a virtual adapter that communicates with one of the virtual I/O interfaces. The shared I/O subsystem also includes a plurality of I/O interfaces and a forwarding function. The forwarding function includes a plurality of forwarding table entries that logically arrange the shared I/O subsystem into one or more logical switches. Each of the logical switches communicatively couples one or more of the virtual I/O interfaces to one of the I/O interfaces. A logical switch receives a first I/O packet from one of the virtual I/O interfaces and directs the first I/O packet to at least one of the I/O interface and one or more of other ones of the virtual I/O interfaces. A logical switch also receives a second I/O packet from the I/O interface and directs the second I/O packet to one or more of the virtual I/O interfaces.
296 Citations
35 Claims
-
1. A shared I/O subsystem for a plurality of computer systems comprising:
-
a plurality of virtual I/O interfaces communicatively coupled to the computer systems, each of the computer systems including a virtual adapter that communicates with one of the virtual I/O interfaces; a plurality of I/O interfaces; and a forwarding function having a plurality of forwarding table entries that logically arrange the shared I/O subsystem into one or more logical switches, wherein each of the logical switches communicatively couples one or more of the virtual I/O interfaces to one of the I/O interfaces; wherein, for each one of the logical switches, the logical switch receives a first I/O packet from one of the virtual I/O interfaces and directs the first I/O packet to at least one of the I/O interface and one or more of other ones of the virtual I/O interfaces, and receives a second I/O packet from the I/O interface and directs the second I/O packet to one or more of the virtual I/O interfaces; wherein at least one I/O interface uses a shared physical network interface card (NIC) to couple a plurality of servers to the shared I/O subsystem, each of the plurality of servers having software installed thereon that implements a virtual NIC, wherein the virtual NIC on each given server allows the given server to communicate via the shared physical NIC as if the shared physical NIC was dedicated only to said given server. - 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. In a shared I/O subsystem for a plurality of computer systems, the shared I/O subsystem comprising a plurality of virtual I/O interfaces, a plurality of I/O interfaces, and a forwarding function having a plurality of forwarding table entries, a method comprising:
-
communicatively coupling the virtual I/O interfaces to the computer systems, each of the computer systems including a virtual adapter that communicates with one of the virtual I/O interfaces; logically arranging, with the forwarding function, the shared I/O subsystem into one or more logical switches, wherein each of the logical switches communicatively couples one or more of the virtual I/O interfaces to one of the I/O interfaces; receiving, with at least one of the logical switches, a first I/O packet from one of the virtual I/O interfaces; directing the first I/O packet to at least one of the I/O interface and one or more of other ones of the virtual I/O interfaces; receiving, with at least one of the logical switches, a second I/O packet from the I/O interface; and directing the second I/O packet to one or more of the virtual I/O interfaces; wherein at least one I/O interface uses a shared physical network interface card (NIC) to couple a plurality of servers to the shared I/O subsystem, each of the plurality of servers having software installed thereon that implements a virtual NIC, wherein the virtual NIC on each given server allows the given server to communicate via the shared physical NIC as if the shared physical NIC was dedicated only to said given server.
-
-
35. In a shared I/O subsystem for a plurality of computer systems, the shared I/O subsystem comprising a plurality of virtual I/O interfaces, a plurality of I/O interfaces, and a forwarding function having a plurality of forwarding table entries, a method comprising:
-
means for communicatively coupling the virtual I/O interfaces to the computer systems, each of the computer systems including a virtual adapter that communicates with one of the virtual I/O interfaces; means for logically arranging, with the forwarding function, the shared I/O subsystem into one or more logical switches, wherein each of the logical switches communicatively couples one or more of the virtual I/O interfaces to one of the I/O interfaces; means for receiving, with at least one of the logical switches, a first I/O packet from one of the virtual I/O interfaces; means for directing the first I/O packet to at least one of the I/O interface and one or more of other ones of the virtual I/O interfaces; means for receiving, with at least one of the logical switches, a second I/O packet from the I/O interface; and means for directing the second I/O packet to one or more of the virtual I/O interfaces; wherein at least one I/O interface uses a shared physical network interface card (NIC) to couple a plurality of servers to the shared I/O subsystem, each of the plurality of servers having software installed thereon that implements a virtual NIC, wherein the virtual NIC on each given server allows the given server to communicate via the shared physical NIC as if the shared physical NIC was dedicated only to said given server.
-
Specification