Routing a data packet includes receiving at a switch a data packet from a
storage client. The data packet is associated with a destination
identifier identifying a virtual target, where the virtual target is
accessible by the storage client. A storage resource identifier
corresponding to the destination identifier is determined according to a
forwarding table at the switch. The data packet is routed according to
the storage resource identifier.