[发明专利]一种NFV报文转发方法和装置有效
申请号: | 201711248651.2 | 申请日: | 2017-11-30 |
公开(公告)号: | CN107995129B | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 陈建业 | 申请(专利权)人: | 锐捷网络股份有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L12/931;H04L12/935 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 350002 福建省福州市仓*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 nfv 报文 转发 方法 装置 | ||
1.一种网络功能虚拟化NFV报文转发方法,其特征在于,应用于包括虚拟交换机、网卡和至少一个虚拟机的转发设备上,所述至少一个虚拟机包括第一虚拟机和第二虚拟机,所述网卡与所述虚拟交换机用于转发所述第一虚拟机和所述第二虚拟机之间的数据报文;该方法包括:
所述虚拟交换机或所述网卡接收所述第一虚拟机从第一虚拟端口发送的数据报文;
所述虚拟交换机或所述网卡确定所述数据报文的目的端口是否为第二虚拟端口,所述虚拟交换机或所述网卡通过所述第二虚拟端口与所述第二虚拟机通信;
若确定所述数据报文的目的端口为第二虚拟端口,所述虚拟交换机或所述网卡确定所述第一虚拟机和所述第二虚拟机是否支持共享缓冲,所述共享缓冲用于指示所述第一虚拟机和所述第二虚拟机能够通过虚拟地址空间访问的物理内存;
若所述虚拟交换机或所述网卡确定所述第一虚拟机和所述第二虚拟机支持共享缓冲,所述虚拟交换机或所述网卡将所述数据报文的共享缓冲对应的编号写入所述第二虚拟机的接收队列;
其中,所述虚拟交换机或所述网卡接收所述第一虚拟机从第一虚拟端口发送的数据报文之前,所述方法还包括:
所述网卡从所述网卡的物理端口接收所述数据报文;
所述网卡确定所述数据报文的目的端口是否为所述第一虚拟端口;
若所述网卡确定所述数据报文的目的端口为所述第一虚拟端口,所述虚拟交换机或所述网卡获取所述第一虚拟机申请的第一共享缓冲;
所述虚拟交换机或所述网卡将所述数据报文的头部和数据拷贝到所述第一虚拟机申请的第一共享缓冲中;
所述第一虚拟机从所述第一共享缓冲中获取所述数据报文,并对所述数据报文进行处理;
所述第一虚拟机对所述数据报文处理完成后,将所述数据报文的共享缓冲对应的编号写入所述第一虚拟机的发送队列。
2.根据权利要求1所述的NFV报文转发方法,其特征在于,所述转发设备还包括共享缓冲管理模块,所述虚拟交换机或所述网卡接收所述第一虚拟机从第一虚拟端口发送的数据报文之前,所述方法还包括:
所述共享缓冲管理模块根据所述转发设备的物理内存和预先配置的策略分配共享缓冲内存;将所述共享缓冲内存划分为至少一个报文缓冲并依次编号;申请控制信息内存,所述控制信息内存用于存储所述至少一个报文缓冲的数量和共享缓冲池空闲链表头;所述共享缓冲池空闲链表头用于指示所述共享缓冲内存中未被占用的第一个报文缓冲;
所述共享缓冲管理模块向所述第一虚拟机或所述第二虚拟机通知所述控制信息内存的地址;
当所述共享缓冲管理模块接收到所述第一虚拟机发送的第一申请请求时,所述共享缓冲管理模块根据所述第一申请请求和预先配置的策略为所述第一虚拟机分配共享缓冲;当所述共享缓冲管理模块接收到所述第二虚拟机发送的第二申请请求时,所述共享缓冲管理模块根据所述第二申请请求和预先配置的策略为所述第二虚拟机分配共享缓冲。
3.根据权利要求2所述的NFV报文转发方法,其特征在于,所述方法还包括:
所述第二虚拟机释放所述第二虚拟机申请的第二共享缓冲,并将所述数据报文的共享缓冲添加至所述第二虚拟机的共享缓冲池,所述共享缓冲池包括至少一个报文缓冲;
所述第二虚拟机确定所述第二虚拟机的报文对象,所述报文对象的数据部分指向所述数据报文的共享缓冲。
4.根据权利要求3所述的NFV报文转发方法,其特征在于,所述第二虚拟机释放所述第二虚拟机申请的第二共享缓冲包括:
所述第二虚拟机将所述第二虚拟机申请的第二共享缓冲从所述第二虚拟机的共享缓冲池的已用链表删除;
所述第二虚拟机将所述第二虚拟机申请的第二共享缓冲加入所述第二虚拟机的共享缓冲池的空闲链表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于锐捷网络股份有限公司,未经锐捷网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711248651.2/1.html,转载请声明来源钻瓜专利网。