发明名称 Method and system for virtual machine communication
摘要 Methods and systems for a virtual environment are provided. A method includes receiving a packet from a first virtual machine at a virtual switch; determining if the packet is destined to a second virtual machine by comparing a destination address to a mapping data structure maintained by the virtual switch; transferring the packet to a first virtual function of a device assigned to the first virtual machine by directly mapping the first virtual function to the first virtual machine; the first virtual function initiating a direct memory access (DMA) operation to transfer the packet to the second virtual machine based on a logical memory address of the second virtual machine that is received from a second virtual function; and using the DMA operation to transfer the packet to the second virtual machine.
申请公布号 US9483290(B1) 申请公布日期 2016.11.01
申请号 US201414264927 申请日期 2014.04.29
申请人 QLOGIC, Corporation 发明人 Mantri Neeraj;Shete Tanmay Pradip
分类号 G06F9/455;H04L29/08 主分类号 G06F9/455
代理机构 Klein, O'Neill & Singh, LLP 代理人 Klein, O'Neill & Singh, LLP
主权项 1. A machine implemented method, comprising: assigning a first network address to a first virtual function of a first device used by a first virtual machine to send and receive data; assigning a second network address to a second virtual function of a second device used by a second virtual machine to send and receive data; providing a mapping data structure to a direct memory access (DMA) remapping module and to the first and second virtual functions; sending a packet to the first virtual function from a first memory domain associated with the first virtual machine via a first DMA operation, wherein a source address in the packet is the first network address and a destination address in the packet is the second network address; determining by the first virtual function that the packet is destined to the second virtual function of the second virtual machine by comparing the destination address to the mapping data structure provided to the first virtual function; sending a packet length by the first virtual function to the second virtual function; the first virtual function initiating a second DMA operation to transfer the packet to the second virtual machine based on a logical memory address of the second virtual machine that is received from the second virtual function; trapping the second DMA operation by the DMA remapping module; translating the logical memory address to a physical memory address by the DMA remapping module; using the second DMA operation to transfer the packet directly to a second memory domain associated with the second virtual machine; the first virtual function notifying the second virtual function that the packet has been transferred; and the second virtual function notifying the second virtual machine of the packet in the second memory domain.
地址 Aliso Viejo CA US