【技术实现步骤摘要】
基于FPGA后端P4多模态智能网卡的整合配置方法
[0001]本专利技术涉及计算机网络领域,具体涉及一种基于FPGA后端P4多模态智能网卡的整合配置方法。
技术介绍
[0002]随着现代网络技术的不断发展,网络应用领域的不断扩大与新型多模态智慧网络(以下简称多模态网络)的提出,一般网络设备已无法满足多模态网络
日益增长的性能需求与功能需求。近些年基于P4语言实现网络可编程的网络设备应运而生。基于P4语言实现的网络设备由数据平面与控制平面两个平面协同实现完整的网络可编程功能,以满足多模态网络需求。其中数据平面由P4语言描述,实现多模态网络数据包包处理管道;控制平面用于实现多模态网络规则信息。P4语言的编译器实现分为前端、中端与后端。其中前端由较为通用的开源软件实现,极大丰富了网络
的功能与通用性。但中端与后端由各厂商闭源设计,有着不同的性能表现。基于CPU后端的P4多模态智能网卡不需额外的硬件设计开发难度较低,却很难在网络性能上有所突破。基于ASIC后端的P4多模态智能网卡提高了网络性能,但设计、流片等成本高,且不利于后期维护、功能优化与升级。
[0003]基于FPGA后端的P4多模态智能网卡不仅可以提高网络灵活性,也利于后期的维护、功能优化与升级。但由于FPGA实现的P4多模态智能网卡数据平面与控制平面紧耦合,数据面信息与控制面信息均需配置在PFGA逻辑资源实现的各TCAM表与RAM表上,如何将数据平面信息与控制平面信息整合配置到FPGA中(数据平面信息与控制平面信息产生自通用处理器,其数据格式、 ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA后端P4多模态智能网卡的整合配置方法,其特征在于,包括以下步骤:步骤一:针对多模态网络场景应用需求,编写数据平面的多模态网络P4代码与控制平面的多模态网络规则文件,FPGA后端P4编译器将多模态网络P4代码编译后生成FPGA配置文件,并发送至解析编码模块;步骤二:解析编码模块接收FPGA配置文件,后读取多模态网络规则文件,再读取FPGA资源利用表,基于所述FPGA资源利用表初始化FPGA加载表参数;步骤三:解析编码模块分析FPGA配置文件和多模态网络规则文件,生成文件对应的数据;步骤四:解析编码模块解析文件对应的数据,生成数据对应的加载表;步骤五:配置校验模块读取加载表,生成对应配置表,将配置表配置到FPGA并生成对应的校验格式表,最后依据校验格式表读取FPGA中的配置表,从而生成校验表来验证配置正确性。2.如权利要求1所述的一种基于FPGA后端P4多模态智能网卡的整合配置方法,其特征在于,所述步骤二中的FPGA加载表参数,包括:加载表最高层级参数、加载表最高条目参数、加载表标签位宽与加载表基地址参数;其中,加载表包括5类,分别为:PARSER
‑
TCAM加载表、PARSER
‑
RAM加载表、MAU
‑
TRAM加载表、MAU
‑
TCAM加载表与MAU
‑
RAM加载表;所述加载表最高层级参数、加载表最高条目参数的设定与所采用FPGA芯片逻辑存储资源数量相关,5类加载表有相同的加载表最高层级参数,以及各自独立的最高条目参数;各加载表有独立的数据标签由FPGA后端P4编译器确定,所述加载表标签位宽约束对应的数据标签列中各元素在FPGA内占用比特位宽度;所述加载表基地址参数跟所采用的PFGA芯片型号相关,每层加载表在FPGA内部有其独立的加载基地址。3.如权利要求2所述的一种基于FPGA后端P4多模态智能网卡的整合配置方法,其特征在于,所述步骤三,具体包括:步骤3.1:解析编码模块分析FPGA配置文件,生成3类数据:组合状态类数据、遍历分支类数据与匹配操作类数据;所述的3类数据均有相同的数据结构;步骤3.2:解析编码模块分析多模态网络规则文件,生成网络规则类数据。4.如权利要求3所述的一种基于FPGA后端P4多模态智能网卡的整合配置方法,其特征在于,所述步骤四,具体包括:步骤4.1:解析编码模块解析组合状态类数据,完成PARSER
‑
TCAM加载表与PARSER
‑
RAM加载表生成;所述PARSER
‑
TCAM加载表行内容与所述PARSER
‑
RAM加载表行内容一一对应,且默认行所在FPGA地址对应FPGA资源利用表中的基地址;步骤4.2:解析编码模块解析遍历分支类数据,完成MAU
‑
TRAM加载表生成;步骤4.3:解析编码模块解析整合匹配操作类与网络规则类数据,并对整合后的数据进行编码,完成MAU
‑
TCAM与MAU
‑
RAM加载表生成;所述MAU
‑
TCAM加载表行内容与所述MAU
‑
RAM加载表行内容一一对应。5.如权利要求4所述的一种基于FPGA后端P4多模态智能网卡的整合配置方法,其特征在于,所述步骤4.1,具体包括以下子步骤:步骤4.1.1:解析编码模块解析组合状态类数据,组合状态类数据为结构体数据,结构体成员包含两类数据:TCAM类数据与RAM类数据;所述两类数据也均为结构体数据,结构体
成员均包含三类:数据层级编号、数据标签数组、数据内容数组;基于TCAM类数据的数据层级编号、数据标签数组与数据内容数组,并结合FPGA资源利用表中对应的PARSER
‑
TCAM加载表标签位宽和PARSER
‑
RAM加载表标签位宽,将所述TCAM类数据转换为多层级的TCAM类二维表,将所述RAM类数据转换为多层级的RAM类二维表;所述的TCAM类二维表和RAM类二维表均带有列标签、列标签位宽与行编号;步骤4.1.2:步骤4.1.1中所述TCAM类二维表与RAM类二维表在行方向上一一对应,基于所述行方向的对应关系拼接TCAM类二维表与RAM类二维表,并以TCAM类中列标签为默认列的元素数据重排序,将元素数据值为0的行重排序至二维表数据首行,其中TCAM类索引列与实际FPGA内部两表映射相关,不参与重排序;步骤4.1.3:将步骤4.1.2中拼接后的数据基于TCAM类二维表数据标签与RAM类二维表数据标签重新拆分;基于FPGA资源利用表中的PARSER
‑
TCAM加载表基地址信息,为第一层级的TCAM类二维表创建地址列,所述地址列比特位宽为默认值,所述地址列第一个元素为第一层级的基地址,所述地址列后序元素按步长1累加,并最终生成第一层级的PARSER
‑
TCAM加载表;同理,基于FPGA资源利用表中的PARSER
‑
RAM加载表基地址信息,生成第一层级的PARSER
‑
RAM加载表。6.如权利要求5所述的一种基于FPGA后端P4多模态智能网卡的整合配置方法,其特征在于,所述步骤4.2,具体包括以下子步骤:步骤4.2.1:解析编码模块解析遍历分支类数据,所述遍历分支类数据包含数据层级编号、数据标签数组、数据内容数组;基于所述遍历分支类数据的数据层级编号、数据标签数组与数据内容数组,并...
【专利技术属性】
技术研发人员:叶韬,沈文君,李合元,曹建业,周正平,
申请(专利权)人:之江实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。