《Test tooling for 100% of SAI use cases.pdf》由会员分享,可在线阅读,更多相关《Test tooling for 100% of SAI use cases.pdf(17页珍藏版)》请在三个皮匠报告上搜索。
1、Test tooling for 100%of SAI use casesIT Ecosystem:NetworkingTest tooling for 100%of SAI use casesAndriyKokhan,Solutions Architect,PLVisionVlad Laslu,Senior Technical Product Manager,Keysight TechnologiesThe application area of SAI SONiCdevice with external PHYs CLOS topology Multi-ASIC(CLOS-in-a-box
2、,VoQ)DisaggregatedChassis DASH Smart SwitchDec 20143.2T/100GFeb 202351.2T/800Gabout 9 yearsKey SAI testingpillarsDecoupling of SAI RPC implementation from the API written once,the test case can be executed repeatedly using different RPC mechanisms:Thrift generic use case independent scenarioRedis SO
3、NiC scenarioTraffic generator agnostic interface possibility to use both SW and HW traffic generators to fulfill the demand for the line rate scenarios testingTestbeds flexible description a simple and clear definition of all aspects of a certain testbed(the type of SAI RPC mechanism,the type of the
4、 traffic generator,connections,etc.)SAI configuration modesSupports both saithrift and sairedis APIsRuns over either API without changeThe test configuration file selects which API to useTraffic generator variations(1)PTF-snappi wrappers,OTG Tgen;packet at a time.(2)Native OTG/snappi,flow-based pack
5、ets.(3)PTF utils,Scapy Traffic generator;packet at a time.(A)Virtual testing at CPU speeds.(B)Physical DUT testing at CPU speeds.(C)Physical testing,high-speed and scale.Open Traffic Generator(OTG)API OverviewOpen model based declarative API.Designed for network testing.Vendor agnostic ecosystem.Ope
6、n API v3 definition with auto-generated client SDKs in multiple languages.Separation between Data Model&API.Well documented Data Model.Flat API.Write once and run everywhere.Speeds from slow simulators up to line rate.https:/otg.devClient-side SDK for Open TrafficGenerator API.Pythonic and available
7、 onPyPI.Can be installed via pip installsnappi.OO,default values,client-side validations,factory methods,single import,Serialize/deserialize whole configuration orobjects,IntelliSense,Test ScriptsTest ScriptsTest Scripts(user developed)Open Traffic GeneratorData Models(GitHub)snappi/gosnappiPython/G
8、o Package(GitHub/PyPI)JavaScript,C#,Client SDKsData Model/OpenAPIv3(source of truth)Test ScriptsClient SDKs(auto-generated)Test1.py,goTest ScriptsTest2.js,csIxia-cIxNetworkTRexOthersTest Applications(open or proprietary)Open Traffic Generator APIssnappi:From API to Test Script to Test ExecutionTraff
9、ic Generation:Layer 2/3/4 Traffic Generation&Statistics AnalysisDevice Emulation:ETH,LACP,LAG,LLDP,PFC,IPv4,IPv6,BGP,ISIS,RSVPEcosystem Presence:SAI Challenger,SONiC,DASH,OpenConfig Feature ProfilesPlatforms:Software(KNE+Container Lab)&Hardware(Composable+Dedicated)Availability:Now(version 0.x avail
10、able)&2023 Q3(version 1.0 planned)Open Traffic Generator(OTG)API StatusSingle Test ScriptsnappiGeneric ComputeDedicated HardwareComposable Compute High Precision Purpose Built CPU+FPGA Fast Execution Run Anywhere Containers High Density Flexible Scale COTS+P4 ASICOTG APITestbed descriptionnpu:alias:
11、npu1,asic:trident3,target:AS7726-32X,sku:32x100g,client:type:redis,config:ip:192.168.1.10,port:6379,/NPU/DUT#2dataplane:alias:ptf,type:ptf,mode:eth,port_groups:alias:0,name:veth1,alias:1,name:veth2,alias:snappi,type:snappi,mode:ixia_c,controller:https:/127.0.0.1:443,port_groups:alias:0,name:veth3,sp
12、eed:10G,alias:1,name:veth4,speed:10Gphy:alias:phy1,asic:trident2,target:saivs,sku:null,client:type:thrift,config:ip:192.168.1.10,port:9092,/PHY#2Multi-DUT multi-ASIC topologyData plane diversityControl plane diversityTest cases definition flexibilityMulti-ASIC(NPU,DPU,PHY)Multi-DUTUse case 1:Executi
13、ng PTF testsTestbed description in JSONSAI-C translates JSON into PTF configSAI-C executes SAI PTF TCs without changesUse case 2:Self-contained DUTSAI-Challenger runs on the DUT itselfThe DUT is a separate physical or virtual device,whether a network switch,DPU or SW dataplanerunning on a server.The
14、 DUT is controlled via saithriftor sairedis depending on DUT capabilities,using internal management network.Use case 3:SONiCtestbed as a DUTStart SONiC-based deviceBuild and start SAI-C ClientSAI testbed self-provisioningssh to SONiC devicestop SONiC servicesstart Redis and SyncD dockersExecute SAI-
15、C test-cases or run manual SAI commands through CLIUse case 4:SONiCchassis as a multi-DUTSupervisor card and each line cards are designed as the separate SONiC devicesFrom SAI-C perspective,SONiC chassis is a regular multi-DUT topologyTry it:https:/ using:https:/ to the line-rate:https:/otg.devhttps:/ and extend:https:/ to ActionThank you!