【技术实现步骤摘要】
可编程报文编辑加速引擎、报文编辑方法及系统
[0001]本专利技术涉及网络报文数据处理领域,特别是涉及一种可编程报文编辑加速引擎、报文编辑方法及系统。
技术介绍
[0002]随着信息技术的迅速发展,网络技术应用越来越普遍,涉及网络的半导体芯片广泛应用到社会的各个领域。传统的网络报文处理一般通过软件编辑的方式,完全通过软件的方式对报文进行修改虽然处理灵活度比较高,但是也具有高延迟,系统资源占用较多的缺点。具体的,可编程报文编辑加速引擎通常主要涉及处理存储在存储器中的报文。通常处理器想要对报文进行编辑,需要处理器通过正在执行软件或固件指令访问内存中的数据包,从内存中读取包的一部分或全部包,进行分析,然后以修改的形式写回内存。还有一些涉及在数据包中插入部分信息的编辑;在这种情况下,可以从存储器中读出数据包的第二部分,然后写回数据包的第二部分和数据包的第一部分之间的存储器空间。然后将要插入的位写入存储器中存储第一部分和第二部分之间的存储位置。其他修改包括更换包的部分,或数据包某些字段中值的递增或递减等等。为了进行这样的修改,处理器需 ...
【技术保护点】
【技术特征摘要】
1.一种可编程报文编辑加速引擎,其特征在于,所述引擎包括:引擎输入端口,用于依次接收携带有脚本代码的报文数据包中按照顺序发送的多个分片报文;脚本解析器,连接所述引擎输入端口,用于对所述报文数据包的脚本代码进行解析并生成对应一或多个执行编辑操作的操作码;流水线处理电路,连接所述脚本解析器,包括:分别执行不同编辑操作且串接的多级流水处理级;所述流水线处理电路用于通过多级流水处理级基于所述操作码对各分片报文按照对应的发送顺序依次进行处理,以按顺序依次输出处理后的各分片修改报文;引擎输出端口,用于将由各分片修改报文进行重组以及数据处理后的数据块向外发送。2.根据权利要求1中所述的可编程报文编辑加速引擎,其特征在于,所述流水线处理电路包括:第一流水处理级,用于按顺序依次输入各分片报文,并基于所述操作码对其可执行的分片报文依次执行编辑操作,并依次输出第一处理级编辑后的分片报文以及第二、三、四流水处理级需要的具有有效位标识的操作码;第二流水处理级,连接所述第一流水处理级,用于按顺序依次输入由所述第一流水处理级输出的各分片报文和操作码,并基于具有有效位标识的作码对其可执行的分片报文进行对应的编辑操作,并依次输出第二处理级编辑后的分片报文以及第三、四流水处理级需要的具有有效位标识的操作码;第三流水处理级,连接所述第二流水处理级,用于按顺序依次输入由所述第二流水处理级输出的各分片报文和操作码,并基于具有有效位标识的作码对其可执行的分片报文进行对应的编辑操作,并依次输出第三处理级编辑后的分片报文以及第四流水处理级需要的具有有效位标识的操作码;第四流水处理级,连接所述第三流水处理级,用于按顺序依次输入由所述第三流水处理级输出的各分片报文和操作码,并基于具有有效位标识的操作码对其可执行的分片报文进行对应的编辑操作,并依次输出第四处理级编辑后的分片报文。3.根据权利要求1中所述的可编程报文编辑加速引擎,其特征在于,所述对所述报文数据包的脚本代码进行解析并生成对应一或多个编辑操作的操作码包括:根据携带在报文数据包头部的脚本代码判断是直接脚本还是间接脚本;若为直接脚本,直接从所述脚本代码解析出操作码;若为间接脚本,根据所述脚本代码分别从指令存储器中索引一组指令以及从参数存储器中索引一组参数,并根据所述脚本代码对应偏移量、检索的一组指令与指令对应的修改字节数和一组参数生成对应的操作码。4.根据权利要求1中所述的可编程报文编辑加速引擎,其特征在于,所述编辑操作的类型包括:删除修改操作、插入修改操作、替换修改操作、增量修改操作、减量修改操作、掩码替换操作、填充修改...
【专利技术属性】
技术研发人员:王飞,周峰,安康,卢笙,陈盈安,
申请(专利权)人:芯启源南京半导体科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。