报文编辑方法技术

技术编号:39579162 阅读:9 留言:0更新日期:2023-12-03 19:29
本申请提供一种报文编辑方法

【技术实现步骤摘要】
报文编辑方法、装置、存储介质及可编程网络芯片


[0001]本申请涉及通信领域,具体而言,涉及一种报文编辑方法

装置

存储介质及可编程网络芯片


技术介绍

[0002]随着互联网的高速发展,对网络芯片的灵活性要求越来越高,可编程网络芯片应运而生

目前可编程网络芯片
(
又名可编程交换芯片
)
的实现方法主要有软件思路与硬件思路两类

[0003]在软件思路中,期望实现全面的可编程,像写
CPU(Central Processing Unit
,中央处理单元
)
程序一样定义数据面的数理逻辑

而在硬件思路中,将硬件中的处理逻辑进行抽象,经过一定程度的优化后,能够提供比较灵活的接口,通过这些接口,用户可以相对灵活的定义数据面的处理逻辑

[0004]因此,通过可编程网络芯片可以在原有报文基础上,在指定报文位置,插入

删除

覆盖一段源数据

然而,研究发现,目前的可编程网络芯在报文编辑中只能编辑预定义格式的固定含义数据,如
PI(Packet Information
,报文信息
)、PR(Parser Information
,报文解析信息
)、UDF(User

Defined Fields
,用户自定义字段/>)
等,其中,
PI
是指报文处理过程中产生的数据,包括入口信息

丢包类型

取消二层转发以及取消三层路由的指示信息;
PR
指解析报文产生的逆袭,包括
MAC(Media Access Control Address
,媒体存取控制位址
)、IP(Internet Protocol
,网际互连协议
)、
协议类型等
L2、L3、L4
层的报文信息;
UDF
则包括用户直接根据偏移量抽取的源报文信息

因此,有限的源数据意味着无法对其他类型的数据进行灵活的编辑,这就导致如果用户需要编辑的数据不在预定义的范围内,就无法进行相应的操作

此外,可编程网络芯片在报文编辑中仅支持固定位宽的数据编辑

这意味着无法根据需要对不同位宽的数据进行灵活的编辑

如果需要编辑的数据位宽超出了芯片设计时预设的范围,就无法进行相应的操作


技术实现思路

[0005]为了克服现有技术中的至少一个不足,本申请提供一种报文编辑方法

装置

存储介质及可编程网络芯片,具体包括:
[0006]第一方面,本申请提供一种报文编辑方法,应用于可编程网络芯片,所述可编程网络芯片包括多种粒度区间的存储空间,所述方法包括:
[0007]获取待编辑报文的报文特征;
[0008]确定与所述报文特征相匹配的数据抽取规则;
[0009]根据所述数据抽取规则,从所述多种粒度区间的存储空间中抽取出用于报文编辑的目标源数据;
[0010]根据所述目标源数据,得到编辑后的报文

[0011]结合第一方面的可选实施方式,所述获取待编辑报文的报文特征,包括:
[0012]接收所述待编辑报文;
[0013]解析所述待编辑报文,得到所述待编辑报文的报文特征

[0014]结合第一方面的可选实施方式,所述报文特征包括待编辑报文中的每个报文字段,每种粒度区间的存储空间包括用于存储预定义字段的子空间,所述方法还包括:
[0015]对于所述待编辑报文中的每个报文字段,从所述多种粒度区间中确定出与所述报文字段对应的第一目标区间,其中,所述第一目标区间提供有用于存储所述报文字段的目标子空间;
[0016]将所述报文字段存储至所述目标子空间

[0017]结合第一方面的可选实施方式,所述多种粒度区间的存储空间还存储有用户配置的报文编辑信息

[0018]结合第一方面的可选实施方式,多种粒度区间中的最小粒度区间的大小为
4bit。
[0019]结合第一方面的可选实施方式,所述根据所述数据抽取规则,从所述多种粒度区间的存储空间中抽取出用于报文编辑的目标源数据,包括:
[0020]根据所述数据抽取规则中的多条子规则,从所述多种粒度区间中确定出多个第二目标区间,其中,所述多条子规则分别与所述多个第二目标区间相对应;
[0021]根据每个第二目标区间的子规则,从对应的第二目标目标区间抽取固定位宽的子数据;
[0022]将多个子数据合并为所述目标源数据

[0023]结合第一方面的可选实施方式,所述将多个子数据合并为所述目标源数据,包括:
[0024]将所述多个子数据进行或运算,得到所述目标源数据

[0025]第二方面,本申请还提供一种报文编辑装置,应用于可编程网络芯片,所述可编程网络芯片包括多种粒度区间的存储空间,所述装置包括:
[0026]报文特征模块,用于获取待编辑报文的报文特征;
[0027]数据抽取模块,用于确定与所述报文特征相匹配的数据抽取规则;根据所述数据抽取规则,从所述多种粒度区间的存储空间中抽取出用于报文编辑的目标源数据;
[0028]报文编辑模块,用于根据所述目标源数据,得到编辑后的报文

[0029]结合第二方面的可选实施方式,所述报文特征模块还具体用于:
[0030]接收所述待编辑报文;
[0031]解析所述待编辑报文,得到所述待编辑报文的报文特征

[0032]结合第二方面的可选实施方式,所述报文特征包括待编辑报文中的每个报文字段,每种粒度区间的存储空间包括用于存储预定义字段的子空间,所述报文特征模块还用于:
[0033]对于所述待编辑报文中的每个报文字段,从所述多种粒度区间中确定出与所述报文字段对应的第一目标区间,其中,所述第一目标区间提供有用于存储所述报文字段的目标子空间;
[0034]将所述报文字段存储至所述目标子空间

[0035]结合第二方面的可选实施方式,所述多种粒度区间的存储空间还存储有用户配置的报文编辑信息

[0036]结合第二方面的可选实施方式,多种粒度区间中的最小粒度区间的大小为
4bit。
[0037]结合第二方面的可选实施方式,所述数据抽取模块还具体用于:
[0038]根据所述数据抽取规则中的多条子规则,从所述多种粒度区间中确定出多个第二目标区间,其中,所述多条子规则分别与所述多个第二目标区间相对应;
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种报文编辑方法,其特征在于,应用于可编程网络芯片,所述可编程网络芯片包括多种粒度区间的存储空间,所述方法包括:获取待编辑报文的报文特征;确定与所述报文特征相匹配的数据抽取规则;根据所述数据抽取规则,从所述多种粒度区间的存储空间中抽取出用于报文编辑的目标源数据;根据所述目标源数据,得到编辑后的报文
。2.
根据权利要求1所述的报文编辑方法,其特征在于,所述获取待编辑报文的报文特征,包括:接收所述待编辑报文;解析所述待编辑报文,得到所述待编辑报文的报文特征
。3.
根据权利要求1所述的报文编辑方法,其特征在于,所述报文特征包括待编辑报文中的每个报文字段,每种粒度区间的存储空间包括用于存储预定义字段的子空间,所述方法还包括:对于所述待编辑报文中的每个报文字段,从所述多种粒度区间中确定出与所述报文字段对应的第一目标区间,其中,所述第一目标区间提供有用于存储所述报文字段的目标子空间;将所述报文字段存储至所述目标子空间
。4.
根据权利要求3所述的报文编辑方法,其特征在于,所述多种粒度区间的存储空间还存储有用户配置的报文编辑信息
。5.
根据权利要求1所述的报文编辑方法,其特征在于,多种粒度区间中的最小粒度区间的大小为
4bit。6.
根据权利要求1所述的报文编辑方法,其特征在于,所述根据所述数据抽取规则,从所述多种粒度区间的存储空间中抽...

【专利技术属性】
技术研发人员:何志川朱忠义周杰
申请(专利权)人:苏州盛科通信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1