[DAPL2] use latest versions with correct EOL.
[mirror/winof/.git] / ulp / dapl2 / test / dapltest / scripts / dt-cli.bat
1 @echo off\r
2 rem\r
3 rem Sample DAPLtest client Usage: dt-cli.bat hostname [testname -D]\r
4 rem\r
5 \r
6 SETLOCAL\r
7 \r
8 rem cmd.exe /V:on (delayed environment variable expansion) is required!\r
9 rem restart with /V:on if necessary\r
10 set F=on\r
11 set F=off\r
12 if not "!F!" == "off" (\r
13    %comspec% /E:on /V:on /C %0 %1 %2 %3 %4\r
14    if ERRORLEVEL 2 (exit /B %ERRORLEVEL%) else (exit /B 0)\r
15 )\r
16 \r
17 rem set DAT_OVERRIDE=D:\dapl2\dat.conf\r
18 rem favor DAT 2.0 (dapl2test.exe) over DAT 1.1 (dapltest.exe)\r
19 \r
20 if EXIST "%ProgramFiles(x86)%" (\r
21     set PF="%ProgramFiles(x86)%\WinOF"\r
22 ) else (\r
23     set PF="%ProgramFiles%\WinOF"\r
24 )\r
25 \r
26 rem Program name of dt-svr preferes dapl2test.exe, otherwise prefer dapltest.exe\r
27 if "%0" == "dt-cli" (\r
28     if EXIST %PF%\dapl2test.exe (\r
29         set DT=dapl2test.exe\r
30         set D=ibnic0v2\r
31 rem     To debug dapl2test - use dapl2testd.exe with ibnic0v2d\r
32         goto OK\r
33     )\r
34 )\r
35 \r
36 if EXIST %PF%\dapltest.exe (\r
37         set DT=dapltest.exe\r
38         set D=ibnic0\r
39         goto OK\r
40 )\r
41 echo Unable to find dapltest.exe or dapl2test.exe?\r
42 exit /B 1\r
43 \r
44 :OK\r
45 \r
46 set LPS=3\r
47 set X=\r
48 set T=\r
49 \r
50 if "%1" == "" (\r
51     rem set /P S= [Server-Hostname]\r
52 ) else (\r
53     if "%1" == "-h" (\r
54         set T=\r
55     ) else (\r
56         set S=%1\r
57         set T=\r
58         if not "%2" == "" (\r
59             set T=%2\r
60             if "%3" == "-D" (\r
61                 set X=0xffff\r
62             )\r
63         )\r
64     )\r
65 )\r
66 \r
67 if not "%X%" == "" (\r
68     set DAT_OS_DBG_TYPE=%X%\r
69     set DAT_DBG_TYPE=%X%\r
70     set DAT_DBG_LEVEL=%X%\r
71     set DAPL_DBG_LEVEL=%X%\r
72     set DAPL_DBG_TYPE=%X%\r
73 ) else (\r
74 rem    set DAT_DBG_TYPE=0x1\r
75 rem    set DAT_DBG_LEVEL=1\r
76 )\r
77 \r
78 rem %DT% -T T -V -t 2 -w 2 -i 1000111 -s %S% -D %D% \r
79 rem           client RW  4096 1    server RW  2048 4 \r
80 rem           client RR  1024 2    server RR  2048 2 \r
81 rem           client SR  1024 3 -f server SR   256 3 -f\r
82 \r
83 rem %DT% -T T -P -t 1 -w 1 -i 1024 -s %S% -D %D%\r
84 rem             client RW  4096 1    server RW  2048 4 \r
85 rem             server RR  1024 2    client RR  2048 2 \r
86 rem             client SR  1024 3 -f server SR   256 3 -f\r
87 \r
88 if "%T%" == "bench" (\r
89     echo %T%: Threads[1] Endpoints[1] transactions[RW, RR, SR], 64K iterations\r
90         set STIME=!DATE! !TIME!\r
91     %DT% -T T -P -t 1 -w 1 -i 65536 -s %S% -D %D% client RW  4096 4 server RW  2048 4  server RR  4096 2 client RR 4096 2 client SR 1024 2 -f server SR 1024 2 -f\r
92         set ETIME=!DATE! !TIME!\r
93     goto xit\r
94 )\r
95 \r
96 if "%T%" == "conn" (\r
97 rem Connectivity test - client sends one buffer with one 4KB segments, one time.\r
98 rem add '-d' for debug output.\r
99     echo Simple Connectivity test\r
100         set STIME=!DATE! !TIME!\r
101     %DT% -T T -s %S% -D %D% -i 1 -t 1 -w 1 client SR 4096 server SR 4096\r
102         set ETIME=!DATE! !TIME!\r
103     goto xit\r
104 )\r
105 \r
106 if "%T%" == "trans" (\r
107     echo %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers\r
108         set STIME=!DATE! !TIME!\r
109     %DT% -T T -s %S% -D %D% -i 8192 -t 1 -w 1 client SR 4096 server SR 4096\r
110         set ETIME=!DATE! !TIME!\r
111     goto xit\r
112 )\r
113 \r
114 if "%T%" == "transm" (\r
115     echo %T%: Multiple RW, RR, SR transactions, 4096 iterations\r
116         set STIME=!DATE! !TIME!\r
117     %DT% -T T -P -t 1 -w 1 -i 4096 -s %S% -D %D% client RW 4096 1 server RW 2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
118         set ETIME=!DATE! !TIME!\r
119     goto xit\r
120 )\r
121 \r
122 if "%T%" == "transt" (\r
123     echo %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers\r
124         set STIME=!DATE! !TIME!\r
125    %DT% -T T -s %S% -D %D% -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3\r
126         set ETIME=!DATE! !TIME!\r
127     goto xit\r
128 )\r
129 \r
130 if "%T%" == "transme" (\r
131     echo %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations\r
132         set STIME=!DATE! !TIME!\r
133     %DT% -T T -P -t 1 -w 4 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
134         set ETIME=!DATE! !TIME!\r
135     goto xit\r
136 )\r
137 \r
138 if "%T%" == "transmet" (\r
139     echo %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations\r
140         set STIME=!DATE! !TIME!\r
141     %DT% -T T -P -t 2 -w 4 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
142         set ETIME=!DATE! !TIME!\r
143     goto xit\r
144 )\r
145 \r
146 if "%T%" == "transmete" (\r
147     echo %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations\r
148         set STIME=!DATE! !TIME!\r
149     %DT% -T T -P -t 2 -w 4 -i 8192 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
150         set ETIME=!DATE! !TIME!\r
151     goto xit\r
152 )\r
153 \r
154 if "%T%" == "EPA" (\r
155         set STIME=!DATE! !TIME!\r
156     FOR /L %%j IN (2,1,5) DO (\r
157         FOR /L %%i IN (1,1,5) DO (\r
158              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
159              %DT% -T T -s %S% -D %D% -i 4096 -t %%j -w %%i client SR 8192 3 server SR 8192 3\r
160              if ERRORLEVEL 1 exit /B %ERRORLEVEL% \r
161              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
162              timeout /T 3\r
163         )\r
164     )\r
165         set ETIME=!DATE! !TIME!\r
166     goto xit\r
167 )\r
168 \r
169 if "%T%" == "EP" (\r
170     set TH=4\r
171     set EP=3\r
172     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
173         set STIME=!DATE! !TIME!\r
174     %DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3\r
175         set ETIME=!DATE! !TIME!\r
176     goto xit\r
177 )\r
178 \r
179 if "%T%" == "threads" (\r
180     echo %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs\r
181         set STIME=!DATE! !TIME!\r
182     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 1 client SR 8192 3 server SR 8192 3\r
183         set ETIME=!DATE! !TIME!\r
184     goto xit\r
185 )\r
186 \r
187 if "%T%" == "threadsm" (\r
188     set TH=5\r
189     set EP=3\r
190     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
191         set STIME=!DATE! !TIME!\r
192     %DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3\r
193         set ETIME=!DATE! !TIME!\r
194     goto xit\r
195 )\r
196 \r
197 if "%T%" == "perf" (\r
198     rem echo Performance test\r
199         set STIME=!DATE! !TIME!\r
200     %DT% -T P %DBG% -s %S% -D %D% -i 2048 RW 4096 2\r
201         set ETIME=!DATE! !TIME!\r
202     goto xit\r
203 )\r
204 \r
205 if "%T%" == "rdma-read" (\r
206     echo %T% 4 32K segs\r
207         set STIME=!DATE! !TIME!\r
208     %DT% -T P -s %S% -D %D% -i 4096 RR 32768 4\r
209         set ETIME=!DATE! !TIME!\r
210     goto xit\r
211 )\r
212 \r
213 if "%T%" == "rdma-write" (\r
214     echo %T% 4 32K segs\r
215         set STIME=!DATE! !TIME!\r
216     %DT% -T P -s %S% -D %D% -i 4096 RW 32768 4\r
217         set ETIME=!DATE! !TIME!\r
218     goto xit\r
219 )\r
220 \r
221 if "%T%" == "bw" (\r
222     echo bandwidth 4096 iterations of 2 65K mesgs\r
223         set STIME=!DATE! !TIME!\r
224     %DT% -T P -s %S% -D %D% -i 4096 -p 16 -m p RW 65536 2 \r
225         set ETIME=!DATE! !TIME!\r
226     goto xit\r
227 )\r
228 \r
229 if "%T%" == "latb" (\r
230     echo latency test - block for completion events\r
231         set STIME=!DATE! !TIME!\r
232     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m b RW 4 1\r
233         set ETIME=!DATE! !TIME!\r
234     goto xit\r
235 )\r
236 \r
237 if "%T%" == "latp" (\r
238     echo latency test - poll completion events\r
239         set STIME=!DATE! !TIME!\r
240     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m p RW 4 1\r
241         set ETIME=!DATE! !TIME!\r
242     goto xit\r
243 )\r
244 \r
245 if "%T%" == "lim" (\r
246     echo Resource limit tests\r
247         set STIME=!DATE! !TIME!\r
248     %DT% -T L -D %D% -w 8 -m 100 limit_ia\r
249     %DT% -T L -D %D% -w 8 -m 100 limit_pz\r
250     %DT% -T L -D %D% -w 8 -m 100 limit_evd\r
251     %DT% -T L -D %D% -w 8 -m 100 limit_ep\r
252     %DT% -T L -D %D% -w 8 -m 100 limit_psp\r
253     %DT% -T L -D %D% -w 8 -m 100 limit_lmr\r
254     %DT% -T L -D %D% -w 8 -m 15 limit_rpost\r
255         set ETIME=!DATE! !TIME!\r
256     goto xit\r
257 )\r
258 \r
259 if "%T%" == "regression" (\r
260     rem run dapl regression tests - usage: dt-cli svr-IPaddr regression {loopCnt}\r
261     if "%X%" == "" (\r
262         if not "%3" == ""  set LPS=%3\r
263     ) else (\r
264         if not "%4" == ""  set LPS=%4\r
265     )\r
266     echo %T% testing in !LPS! Loops\r
267     REM rdma-write, read, perf\r
268     set RT=trans perf threads threadsm transm transt transme transmet transmete rdma-write rdma-read bw EP\r
269         set STIME=!DATE! !TIME!\r
270     FOR /L %%i IN (1,1,!LPS!) DO (\r
271        for %%r in ( !RT! ) do (\r
272            echo loop %%i - start test %%r\r
273            call %0 %1 %%r\r
274            if %ERRORLEVEL% GTR 1 (\r
275                echo Error %ERRORLEVEL% in regression test %%r\r
276                exit /B %ERRORLEVEL%\r
277            )\r
278            echo loop %%i - Completed test %%r\r
279            if not "%%r" == "EP"  timeout /T 3\r
280        )\r
281        echo +\r
282        echo Finished %T% loop %%i of !LPS!\r
283        if %%i LSS !LPS!  timeout /T 8\r
284     )\r
285         set ETIME=!DATE! !TIME!\r
286     goto xit\r
287 )\r
288 \r
289 if "%T%" == "interop" (\r
290     REM test units from Nov-'07 OFA interop event. usage dt-cli server-IPaddr interop {LoopCount}\r
291     if "%X%" == "" (\r
292         if not "%3" == ""  set LPS=%3\r
293     ) else (\r
294         if not "%4" == ""  set LPS=%4\r
295     )\r
296     echo %T% testing in !LPS! Loops\r
297     REM test units from Nov-'07 OFA interop event\r
298         set STIME=!DATE! !TIME!\r
299     FOR /L %%i IN (1,1,!LPS!) DO (\r
300          echo %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1\r
301          %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1\r
302          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
303          timeout /T 3\r
304          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 3 -f server SR 1536 2 -f\r
305          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 3 -f server SR 1536 2 -f\r
306          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
307          timeout /T 3\r
308          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 1 server SR 1024 1\r
309          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 1 server SR 1024 1\r
310          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
311          timeout /T 3\r
312          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
313          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
314          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
315          timeout /T 3\r
316          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RW 4096 1 server SR 256 1\r
317          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RW 4096 1 server SR 256 1\r
318          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
319          timeout /T 3\r
320          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1\r
321          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1\r
322          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
323          timeout /T 3\r
324          echo %DT% -T T -s %S% -D %D% -i 100 -t 4 -w 8 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1 client SR 256 1 server RR 4096 1 server SR 256 1\r
325          %DT% -T T -s %S% -D %D% -i 100 -t 4 -w 8 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1 client SR 256 1 server RR 4096 1 server SR 256 1\r
326          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
327          timeout /T 3\r
328          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
329          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
330          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
331          timeout /T 3\r
332          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
333          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
334          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
335          timeout /T 3\r
336          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
337          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
338          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
339          timeout /T 3\r
340          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
341          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
342          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
343          echo %%i %T% loops of !LPS! completed.\r
344          if %%i LSS !LPS!  timeout /T 8\r
345     )\r
346         set ETIME=!DATE! !TIME!\r
347     goto xit\r
348 )\r
349 \r
350 if "%T%" == "stop" (\r
351         set STIME=!DATE! !TIME!\r
352     %DT% -T Q -s %S% -D %D%\r
353         set ETIME=!DATE! !TIME!\r
354     goto xit\r
355 )\r
356 \r
357 echo usage: dt-cli hostname [testname [-D]]\r
358 echo  where testname\r
359 echo    stop - request DAPLtest server to exit.\r
360 echo    conn - simple connection test with limited data transfer\r
361 echo    EP - Multiple EndPoints(7) and Threads(5) Transactions\r
362 echo    EPA - Increment EndPoints[1..5] while increasing threads[1-5]\r
363 echo    trans - single transaction test\r
364 echo    transm - transaction test: multiple transactions [RW SND, RDMA]\r
365 echo    transt - transaction test: multi-threaded\r
366 echo    transme - transaction test: multi-endpoints per thread \r
367 echo    transmet - transaction test: multi-endpoints per thread, multiple threads\r
368 echo    transmete - transaction test: multi threads == endpoints\r
369 echo    perf - Performance test\r
370 echo    threads - multi-threaded single transaction test.\r
371 echo    threadsm - multi: threads and endpoints, single transaction test.\r
372 echo    rdma-write - RDMA write\r
373 echo    rdma-read - RDMA read\r
374 echo    bw - bandwidth\r
375 echo    latb - latency tests, blocking for events\r
376 echo    latp - latency tests, polling for events\r
377 echo    lim - limit tests.\r
378 echo    regression {loopCnt,default=%LPS%} - regression + stress.\r
379 echo    interop {loopCnt,default=%LPS%} - 2007 OFA interoperability event tests.\r
380 \r
381 :xit\r
382 if %ERRORLEVEL% EQU 0 (\r
383         echo +\r
384         echo %0 %*\r
385         echo    Start %STIME% \r
386         echo    End   %ETIME%\r
387 )\r
388 ENDLOCAL\r
389 exit /B %ERRORLEVEL%\r