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.