System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及芯片领域,尤其涉及一种sai thrift环境下测试ifa的方法、装置及设备。
技术介绍
1、sai thrift是一套基于thrift技术的sai功能测试框架,如图1所示,其由一台服务器(test machine)和一台被测设备(dut,device under test)组成,服务器的网卡与被测设备的网络端口直连。dut作为sai thrift测试server的角色,服务器test machine作为sai thrift测试的client角色。在被测设备switch上运行sai server container,也称为thrift test server;使用一台安装多intf网卡的服务器作为test machine,也称为saithrift test client,服务器接口与被测试设备存在物理连接;在sai thrift testclient上执行测试ptf脚本,测试被测设备的功能和性能。当前测试设备与测试服务器,使用了多个网络端口互联,以进行设备的功能测试。test machine服务器先远程调用dut上的sai对外接口,进行device的配置;test machine服务器再构造组装报文,通过网卡发送到dut;之后检查网卡是否收到的来自dut的报文,若收到报文则进一步检查报文格式是否符合预期,以达到dut报文转发功能测试的目的。
2、inband flow analyzer(ifa)是一种带内遥测技术,用于收集并报告数据平面的实时状态。当数据报文沿着网络中的路径进行转发时,将遥测信息直接封装
3、从图1知道sai thrift环境下只有一台设备用于测试,当进行ifa功能测试时,通常是对ifa各个节点进行单独测试。例如要测试ifa initiator节点功能,首先要把ifainitiator的配置下发到dut设备上,然后发送一份数据报文到dut设备上,dut设备会把ifaheader(如图3所示)和ifa metadata(如图4所示)插入到数据报文中构成ifa报文,然后ptf脚本会检查该ifa报文是否符合预期。当对transit节点进行测试时,发往dut设备上的测试报文不能是原始的数据报文,而是插入ifa head和ifa metadata后ifa报文。如果要进行terminator节点的测试,则构造的测试报文要有两层ifa metadata信息。并且随着ifa域内transit node节点的数量增加,构造的测试报文中ifa metadata数量也会增加。例如,ifa域中有两个transit节点,如果要测试第二个transit节点的功能,则构造的测试数据中要插入两层ifa metadata。
4、可以看到,上述测试方式,一个ptf脚本只能测试ifa域中的一个节点,无法进行系统级的测试。另外随着ifa节点的增加,不仅构造测试用的数据报文的难度变大,而且需要的ptf测试脚本也变多,是一种低效的测试方法。
技术实现思路
1、针对上述问题,本专利技术实施例的目的在于提供一种在sai thrift环境下测试ifa的方法、装置及设备,以改善上述问题。
2、本专利技术实施例提供了一种在sai thrift环境下测试ifa的方法,其包括:在ptf测试脚本中:
3、对dut设备进行当前阶段节点的ifa参数配置;
4、构造一份常规的测试数据流,并发送到所述dut设备上;
5、至少检查从dut设备上发出的ifa报文的ifa metadata是否符合预期,若符合则暂存所述ifa报文;
6、删除dut设备上配置的ifa参数;
7、对dut设备进行下一阶段节点的ifa参数配置;
8、将暂存的所述ifa报文的信息根据配置环境做相应的修改,然后发送到dut设备上去。
9、优选地,节点根据其阶段依次包括initiator节点、transit节点、terminator节点。
10、优选地,若当前阶段节点为initiator节点,则还同时检查从dut设备上发出的ifa报文的ifa head及ifa metadata是否符合预期,若不符合预期则结束测试。
11、优选地,所述ifa报文的信息包括dmac、smac、sip、dip、ttl。
12、优选地,所述常规的测试数据流包括tcp/udp/gre数据报文。
13、优选地,若某一个阶段节点有多个时,则重复执行直至完成对该阶段所有节点的测试后进入下一个阶段节点。
14、本专利技术实施例还提供了一种在sai thrift环境下测试ifa的装置,其包括:在ptf测试脚本中:
15、第一ifa参数配置单元,用于对dut设备进行当前阶段节点的ifa参数配置;
16、第一发送单元,用于构造一份常规的测试数据流,并发送到所述dut设备上;
17、预期判断单元,用于至少检查从dut设备上发出的ifa报文的ifa metadata是否符合预期,若符合则暂存所述ifa报文;
18、删除单元,用于删除dut设备上配置的ifa参数;
19、第二ifa参数配置单元,用于对dut设备进行下一阶段节点的ifa参数配置;
20、第二发送单元,用于将暂存的所述ifa报文的信息根据配置环境做相应的修改,然后发送到dut设备上去。
21、优选地,节点根据其阶段依次包括initiator节点、transit节点、terminator节点。
22、本专利技术实施例还提供了一种在sai thrift环境下测试ifa的设备,其包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的在sai thrift环境下测试ifa的方法。
23、综上所述,本实施例在进行ifa测试时,通过把ifa节点生成的ifa报文用于下一个ifa节点的测试,在一个ptf测试脚本中可以完成对ifa域内所有节点的测试,并且不用构造复杂的测试报文。通过本实施例,可以在一台测试设备上模拟出ifa的系统测试,并且随着ifa域内ifa节点数量的变化可以方便的进行扩展测试,提高了测试效率。
本文档来自技高网...【技术保护点】
1.一种在SAI THRIFT环境下测试IFA的方法,其特征在于,包括:在PTF测试脚本中:
2.根据权利要求1所述的在SAI THRIFT环境下测试IFA的方法,其特征在于,节点根据其阶段依次包括Initiator节点、Transit节点、Terminator节点。
3.根据权利要求2所述的在SAI THRIFT环境下测试IFA的方法,其特征在于,若当前阶段节点为Initiator节点,则还同时检查从DUT设备上发出的IFA报文的IFA head及IFAmetadata是否符合预期,若不符合预期则结束测试。
4.根据权利要求1所述的在SAI THRIFT环境下测试IFA的方法,其特征在于,所述IFA报文的信息包括DMAC、SMAC、SIP、DIP、TTL。
5.根据权利要求1所述的在SAI THRIFT环境下测试IFA的方法,其特征在于,所述常规的测试数据流包括TCP/UDP/GRE数据报文。
6.根据权利要求1所述的在SAI THRIFT环境下测试IFA的方法,其特征在于,若某一个阶段节点有多个时,则重复执行直至完成
7.一种在SAI THRIFT环境下测试IFA的装置,其特征在于,包括:在PTF测试脚本中:
8.根据权利要求7所述的在SAI THRIFT环境下测试IFA的装置,其特征在于,节点根据其阶段依次包括Initiator节点、Transit节点、Terminator节点。
9.一种在SAI THRIFT环境下测试IFA的设备,其特征在于,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如权利要求1至6任意一项所述的在SAI THRIFT环境下测试IFA的方法。
...【技术特征摘要】
1.一种在sai thrift环境下测试ifa的方法,其特征在于,包括:在ptf测试脚本中:
2.根据权利要求1所述的在sai thrift环境下测试ifa的方法,其特征在于,节点根据其阶段依次包括initiator节点、transit节点、terminator节点。
3.根据权利要求2所述的在sai thrift环境下测试ifa的方法,其特征在于,若当前阶段节点为initiator节点,则还同时检查从dut设备上发出的ifa报文的ifa head及ifametadata是否符合预期,若不符合预期则结束测试。
4.根据权利要求1所述的在sai thrift环境下测试ifa的方法,其特征在于,所述ifa报文的信息包括dmac、smac、sip、dip、ttl。
5.根据权利要求1所述的在sai thrift环境下测试ifa的方法,其特征...
【专利技术属性】
技术研发人员:张振,李贯中,姚沛,李晓林,陈清华,
申请(专利权)人:云合智网上海技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。