【技术实现步骤摘要】
表项生成方法及装置
[0001]本文件涉及计算机
,尤其涉及一种表项生成方法及装置。
技术介绍
[0002]按照用户的要求生成一组特定的表项是网络测试仪的重要功能之一,上述的表项内容(表项条目)可以是报文中的任何位域,例如MAC地址、IP地址、TCP端口号等等。举例说明,如图1所示,有一条由50个IP报文组成的数据流stream,其中各个报文的destination IP地址组成一个表项,该表项的条目即destination IP位宽为32比特,表项条目数即表项深度为50。
[0003]通常来说,在表项总容量确定的情况下,各个表项中条目的位宽和表项的深度都是可以灵活指定的,例如表项条目为Ipv4地址时位宽为32比特,如果是Ipv6地址则位宽为128比特;由于用户需求的不同,条目的个数即表项深度更是多种多样;当有多个数据流需要实现多个表项时,还涉及多个表项共享总的表项存储容量,使问题更加复杂。因此,如何高效的产生各种位宽和深度组合的表项就成为网络测试仪实现中的一个重要问题。
[0004]通常测试仪支持的最大表项容量规定为若干个32比特entry,这里为了简化问题,假设测试仪支持的最大表项容量为128个32比特entry,每个表项条目的最大位宽为8*32比特(即256比特)。意思是表项总的容量为128*32比特=4K比特,位宽单位即一个entry=32比特,表项中条目的位宽可变,范围可以是1个32比特~8个32比特。
[0005]具体地,表项通常存储在某种存储器中,例如SRAM、DRAM等。 ...
【技术保护点】
【技术特征摘要】
1.一种表项生成方法,其特征在于,包括:确定特定深度和数据位宽的随机存取存储器RAM;指定当前数据流在所述RAM的整个表项存储空间中分配的起始地址、结束地址、起始表项条目以及有效表项条目数;在每个RAM的读周期,根据所述起始地址、所述结束地址、所述起始表项条目以及所述有效表项条目数读取RAM,对当前数据流的读数据进行逻辑移位操作,获取有效的表项条目数据。2.根据权利要求1所述的方法,其特征在于,确定特定深度和数据位宽的随机存取存储器RAM具体包括:确定深度为M/P,数据位宽为P*W比特的RAM,其中,表项总容量为M个W比特,每个表项条目位宽为W比特,每个数据流可插入1~P个表项条目。3.根据权利要求1所述的方法,其特征在于,指定当前数据流在所述RAM的整个表项存储空间中分配的起始地址、结束地址、起始表项条目以及有效表项条目数具体包括:指定当前数据流在所述RAM的整个表项存储空间中分配的起始地址为:start_addr[log2(M)
‑
1:0]、结束地址为end_addr[log2(M)
‑
1:0]、起始表项条目为:start_entry、以及有效表项条目数为entry_num=Q。4.根据权利要求1所述的方法,其特征在于,在每个RAM的读周期,根据所述起始地址、所述结束地址、所述起始表项条目以及所述有效表项条目数读取RAM,对当前数据流的读数据进行逻辑移位操作,获取有效的表项条目数据具体包括:在每个RAM的读周期,根据公式1,以ram_addr_current[log2(M/P)
‑
1:0]为RAM的读地址,对当前数据流的读数据进行逻辑移位操作,获取有效的表项条目数据:data_shift=data_ram[P*W
‑
1:0]>>(ram_addr_current[log2(M)
‑1‑
:log2(P)]*entry_num*W+start_entry*W)公式1;其中:>>表示向右移位操作,data_ram为从RAM读取的有效的表项条目数据,位宽为P*W比特;entry_num=Q为当前数据流的有效表项条目数,Q位于1~P之间;start_entry为当前数据流在表项存储空间中分配的起始表项条目位置;ram_addr_current为当前读周期当前数据流在表项中的地址,位于start_addr和end_addr之间,每个读周期以步长为1循环累加,且满足end_addr
‑
start_addr+1=N,N位于1~M之间,表项总容量为M个W比特,每个表项条目位宽为W比特,每个数据流可插入1~P个表项条目。5.一种表项生成装置,其特征在于,包括:确定模块,用于确定特定深度和数据位宽的...
【专利技术属性】
技术研发人员:高宇,
申请(专利权)人:北京信而泰科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。