US 7,509,657 B2
Application programming interface for a virtual switch
Pankaj Mehra, San Jose, Calif. (US); Rahul Nim, Fremont, Calif. (US); and James R. Hamrick, Murrieta, Calif. (US)
Assigned to Hewlett-Packard Development Company, L.P., Houston, Tex. (US)
Filed on Oct. 28, 2003, as Appl. No. 10/695,210.
Prior Publication US 2005/0091358 A1, Apr. 28, 2005
Int. Cl. G06F 9/54 (2006.01); G06F 13/14 (2006.01)
U.S. Cl. 719—328  [709/228] 22 Claims
OG exemplary drawing
 
1. An electronic system, comprising:
a processor;
a network interface controller including a hardware port;
a source-routed virtual switch implemented in software executed by said processor and including a plurality of software-implemented virtual ports, said virtual ports adapted to provide communication between an application running on said processor and said network interface controller; and
an application programming interface (“API”) running on said processor and usable by said application to interface with said virtual switch;
wherein said electronic system is an end node in a network;
wherein said source-routed virtual switch is adapted to receive a packet containing routing information, said routing information identifying an application in user application space that accesses said virtual switch; and
wherein said API includes code to cause said virtual switch to open a handle and to post a receive buffer on said handle.