[DAPL2] DAPL Counters & 2.0.3 extensions to support counter retrieval.
[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    exit /B %ERRORLEVEL%\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 L=5\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%" == "conn" (\r
89 rem Connectivity test - client sends one buffer with one 4KB segments, one time.\r
90 rem add '-d' for debug output.\r
91     echo Simple Connectivity test\r
92     %DT% -T T -s %S% -D %D% -i 1 -t 1 -w 1 client SR 4096 server SR 4096\r
93     exit /B %ERRORLEVEL%\r
94 )\r
95 \r
96 if "%T%" == "trans" (\r
97     echo %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers\r
98     %DT% -T T -s %S% -D %D% -i 8192 -t 1 -w 1 client SR 4096 server SR 4096\r
99     echo Finished %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers\r
100     exit /B %ERRORLEVEL%\r
101 )\r
102 \r
103 if "%T%" == "transm" (\r
104     echo %T%: Multiple RW, RR, SR transactions, 4096 iterations\r
105     %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
106     echo Finished %T%: Multiple RW, RR, SR transactions, 4096 iterations\r
107     exit /B %ERRORLEVEL%\r
108 )\r
109 \r
110 if "%T%" == "transt" (\r
111     echo %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers\r
112    %DT% -T T -s %S% -D %D% -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3\r
113     echo Finished %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers\r
114     exit /B %ERRORLEVEL%\r
115 )\r
116 \r
117 if "%T%" == "transme" (\r
118     echo %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations\r
119     %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
120     echo Finished %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations\r
121     exit /B %ERRORLEVEL%\r
122 )\r
123 \r
124 if "%T%" == "transmet" (\r
125     echo %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations\r
126     %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
127     echo Finished %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations\r
128     exit /B %ERRORLEVEL%\r
129 )\r
130 \r
131 if "%T%" == "transmete" (\r
132     echo %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations\r
133     %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
134     echo Finished %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations\r
135     exit /B %ERRORLEVEL%\r
136 )\r
137 \r
138 if "%T%" == "EPA" (\r
139     FOR /L %%j IN (2,1,5) DO (\r
140         FOR /L %%i IN (1,1,5) DO (\r
141              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
142              %DT% -T T -s %S% -D %D% -i 4096 -t %%j -w %%i client SR 8192 3 server SR 8192 3\r
143              if ERRORLEVEL 1 exit /B %ERRORLEVEL% \r
144              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
145              timeout /T 3\r
146         )\r
147     )\r
148     exit /B %ERRORLEVEL% \r
149 )\r
150 \r
151 if "%T%" == "EP" (\r
152     set TH=4\r
153     set EP=3\r
154     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
155     %DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3\r
156     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
157     exit /B %ERRORLEVEL% \r
158 )\r
159 \r
160 if "%T%" == "threads" (\r
161     echo %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs\r
162     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 1 client SR 8192 3 server SR 8192 3\r
163     echo Finished %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs\r
164     exit /B %ERRORLEVEL%\r
165 )\r
166 \r
167 if "%T%" == "threadsm" (\r
168     set TH=5\r
169     set EP=3\r
170     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
171     %DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3\r
172     echo Finished %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
173     exit /B %ERRORLEVEL%\r
174 )\r
175 \r
176 if "%T%" == "perf" (\r
177     rem echo Performance test\r
178     %DT% -T P %DBG% -s %S% -D %D% -i 2048 RW 4096 2\r
179     exit /B %ERRORLEVEL%\r
180 )\r
181 \r
182 if "%T%" == "rdma-read" (\r
183     echo %T% 4 32K segs\r
184     %DT% -T P -s %S% -D %D% -i 4096 RR 32768 4\r
185     echo Finished %T% 4 32K segs\r
186     exit /B %ERRORLEVEL%\r
187 )\r
188 \r
189 if "%T%" == "rdma-write" (\r
190     echo %T% 4 32K segs\r
191     %DT% -T P -s %S% -D %D% -i 4096 RW 32768 4\r
192     echo Finished %T% 4 32K segs\r
193     exit /B %ERRORLEVEL%\r
194 )\r
195 \r
196 if "%T%" == "bw" (\r
197     echo bandwidth 4096 iterations of 2 65K mesgs\r
198     %DT% -T P -s %S% -D %D% -i 4096 -p 16 -m p RW 65536 2 \r
199     echo Finished bandwidth 4096 iterations of 2 65K mesgs\r
200     exit /B %ERRORLEVEL%\r
201 )\r
202 \r
203 if "%T%" == "latb" (\r
204     echo latency test - block for completion events\r
205     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m b RW 4 1\r
206     exit /B %ERRORLEVEL%\r
207 )\r
208 \r
209 if "%T%" == "latp" (\r
210     echo latency test - poll completion events\r
211     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m p RW 4 1\r
212     exit /B %ERRORLEVEL%\r
213 )\r
214 \r
215 if "%T%" == "lim" (\r
216     echo Resource limit tests\r
217     %DT% -T L -D %D% -w 8 -m 100 limit_ia\r
218     %DT% -T L -D %D% -w 8 -m 100 limit_pz\r
219     %DT% -T L -D %D% -w 8 -m 100 limit_evd\r
220     %DT% -T L -D %D% -w 8 -m 100 limit_ep\r
221     %DT% -T L -D %D% -w 8 -m 100 limit_psp\r
222     %DT% -T L -D %D% -w 8 -m 100 limit_lmr\r
223     %DT% -T L -D %D% -w 8 -m 15 limit_rpost\r
224     exit /B %ERRORLEVEL%\r
225 )\r
226 \r
227 if "%T%" == "regression" (\r
228     rem run dapl regression tests - usage: dt-cli svr-IPaddr regression {loopCnt}\r
229     if "%X%" == "" (\r
230         if not "%3" == ""  set L=%3\r
231     ) else (\r
232         if not "%4" == ""  set L=%4\r
233     )\r
234     echo %T% testing in !L! Loops\r
235     REM rdma-write, read, perf\r
236     set RT=trans perf threads threadsm transm transt transme transmet transmete rdma-write rdma-read bw EP\r
237     FOR /L %%i IN (1,1,!L!) DO (\r
238        for %%r in ( !RT! ) do (\r
239            echo loop %%i - start test %%r\r
240            call %0 %1 %%r\r
241            if %ERRORLEVEL% GTR 0 (\r
242                echo Error %ERRORLEVEL% in regression test %%r\r
243                exit /B %ERRORLEVEL%\r
244            )\r
245            echo loop %%i - Completed test %%r\r
246            timeout /T 3\r
247        )\r
248        echo +\r
249        echo Finished %T% loop %%i\r
250        if %%i GTR !L!  timeout /T 8\r
251     )\r
252     exit /B %ERRORLEVEL%\r
253 )\r
254 \r
255 if "%T%" == "interop" (\r
256     REM test units from Nov-'07 OFA interop event. usage dt-cli server-IPaddr interop {LoopCount}\r
257     if "%X%" == "" (\r
258         if not "%3" == ""  set L=%3\r
259     ) else (\r
260         if not "%4" == ""  set L=%4\r
261     )\r
262     echo %T% testing in !L! Loops\r
263     REM test units from Nov-'07 OFA interop event\r
264     FOR /L %%i IN (0,1,!L!) DO (\r
265          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
266          %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1\r
267          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
268          timeout /T 3\r
269          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
270          %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
271          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
272          timeout /T 3\r
273          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
274          %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
275          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
276          timeout /T 3\r
277          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
278          %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
279          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
280          timeout /T 3\r
281          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
282          %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
283          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
284          timeout /T 3\r
285          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
286          %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
287          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
288          timeout /T 3\r
289          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
290          %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
291          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
292          timeout /T 3\r
293          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
294          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
295          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
296          timeout /T 3\r
297          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
298          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
299          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
300          timeout /T 3\r
301          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
302          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
303          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
304          timeout /T 3\r
305          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
306          %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
307          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
308          echo %%i %T% loops completed.\r
309     )\r
310     exit /B 0\r
311 )\r
312 \r
313 if "%T%" == "stop" (\r
314     %DT% -T Q -s %S% -D %D%\r
315     exit /B 0\r
316 )\r
317 \r
318 echo usage: dt-cli hostname [testname [-D]]\r
319 echo   where testname\r
320 echo     stop - request DAPLtest server to exit.\r
321 echo     conn - simple connection test with limited data transfer\r
322 echo     EP - Multiple EndPoints(7) and Threads(5) Transactions\r
323 echo     EPA - Increment EndPoints[1..5] while increasing threads[1-5]\r
324 echo     trans - single transaction test\r
325 echo     transm - transaction test: multiple transactions [RW SND, RDMA]\r
326 echo     transt - transaction test: multi-threaded\r
327 echo     transme - transaction test: multi-endpoints per thread \r
328 echo     transmet - transaction test: multi-endpoints per thread, multiple threads\r
329 echo     transmete - transaction test: multi threads == endpoints\r
330 echo     perf - Performance test\r
331 echo     threads - multi-threaded single transaction test.\r
332 echo     threadsm - multi: threads and endpoints, single transaction test.\r
333 echo     rdma-write - RDMA write\r
334 echo     rdma-read - RDMA read\r
335 echo     bw - bandwidth\r
336 echo     latb - latency tests, blocking for events\r
337 echo     latp - latency tests, polling for events\r
338 echo     lim - limit tests.\r
339 echo     regression {loopCnt} - loop over a collection of all tests.\r
340 echo     interop {loopCnt} - collection of test-units from OFA interoperability event 2007.\r
341 \r
342 ENDLOCAL\r
343 @echo on\r
344 @exit /B 0\r