发明名称 一种基于FPGA的面向虚拟机的数据传输和路由方法
摘要 本发明涉及一种基于FPGA的面向虚拟机的数据传输和路由方法,使用FPGA硬件对数据进行交换和路由,数据从PHY模块传送给MAC,MAC中完成数据包的重组后交给网络滤波器完成数据包的过滤以及交换功能,然后处理后的数据将交给协议处理器,协议处理器维护每个虚拟机队列的状态和读写操作,将网络滤波器送来的数据存放到DDR2中的队列中,描述器完成描述符的维护,负责从主机读取描述符,以及向主机写回描述符。采用本方案这种方法,将原来在VMware软件中所做的软件交换和路由的工作放到了硬件内部来完成,完全解放了CPU的操作,同时由于硬件级别的处理速度远高于软件层次的处理速度,所以大大提高了数据交换和路由速度,同时降低了数据的响应时间。
申请公布号 CN101540764A 申请公布日期 2009.09.23
申请号 CN200910082572.8 申请日期 2009.04.27
申请人 曙光信息产业(北京)有限公司 发明人 郑臣明;曾宇;石旭;方信我;吴平
分类号 H04L29/06(2006.01)I;H04L12/56(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京安博达知识产权代理有限公司 代理人 徐国文
主权项 1、一种基于FPGA的面向虚拟机的数据传输和路由方法,所述FPGA包括:MAC模块、内存模块、PCIe、网络滤波器、DMA控制器、协议处理器、描述器;特征在于,所述方法采用如下步骤:A、首先协议处理器为主机上每一个虚拟机创建一组数据队列并存放在内存模块中,其中每组数据队列存放相应的虚拟机编号,所述协议处理器对每组数据队列进行维护;B、网卡接收到的网络数据由网卡PHY传给MAC模块,由MAC模块完成数据包的重组后传给网络滤波器;C、网络滤波器对接收的数据包进行过滤并按照不同的虚拟机进行分派并将处理后的数据传给协议处理器;D、协议处理器将网络滤波器送来的数据以及每个虚拟机要发送的数据都分别放到内存模块每个虚拟机对应的数据队列中;E、描述器负责从各虚拟机读取描述符以及向虚拟机写回描述器并将结果传给协议处理器,协议处理器按照描述器的结果来决定触发与各虚拟机的交互动作,将内存模块队列中的数据通过DMA控制器和PCIe 2.0模块写回对应的虚拟机或者从对应的虚拟机读取数据或者向网卡传送数据。
地址 100084北京市海淀区水磨西街64号