32
32
Fdisk ,
33
33
Fio ,
34
34
FIOResult ,
35
+ Ip ,
35
36
Iperf3 ,
36
37
Kill ,
37
38
Lagscope ,
@@ -258,6 +259,7 @@ def perf_ntttcp( # noqa: C901
258
259
lagscope_server_ip : Optional [str ] = None ,
259
260
server_nic_name : Optional [str ] = None ,
260
261
client_nic_name : Optional [str ] = None ,
262
+ use_ipv6 : bool = False ,
261
263
) -> List [Union [NetworkTCPPerformanceMessage , NetworkUDPPerformanceMessage ]]:
262
264
# Either server and client are set explicitly or we use the first two nodes
263
265
# from the environment. We never combine the two options. We need to specify
@@ -339,10 +341,23 @@ def perf_ntttcp( # noqa: C901
339
341
client_nic_name if client_nic_name else client .nics .default_nic
340
342
)
341
343
dev_differentiator = "Hypervisor callback interrupts"
344
+
345
+ if use_ipv6 :
346
+ # Retrieve IPv6 address of server, which is the address
347
+ # of the default nic.
348
+ server_ip_address = server .tools [Ip ].get_ipv6_address (
349
+ server .nics .default_nic
350
+ )
351
+ else :
352
+ server_ip_address = server .internal_address
353
+
342
354
server_lagscope .run_as_server_async (
343
- ip = lagscope_server_ip
344
- if lagscope_server_ip is not None
345
- else server .internal_address
355
+ ip = (
356
+ lagscope_server_ip
357
+ if lagscope_server_ip is not None
358
+ else server_ip_address
359
+ ),
360
+ use_ipv6 = use_ipv6 ,
346
361
)
347
362
max_server_threads = 64
348
363
perf_ntttcp_message_list : List [
@@ -364,14 +379,15 @@ def perf_ntttcp( # noqa: C901
364
379
365
380
server_result = server_ntttcp .run_as_server_async (
366
381
server_nic_name ,
367
- server_ip = server . internal_address if isinstance (server .os , BSD ) else "" ,
382
+ server_ip = server_ip_address if isinstance (server .os , BSD ) else "" ,
368
383
ports_count = num_threads_p ,
369
384
buffer_size = buffer_size ,
370
385
dev_differentiator = dev_differentiator ,
371
386
udp_mode = udp_mode ,
387
+ use_ipv6 = use_ipv6 ,
372
388
)
373
389
client_lagscope_process = client_lagscope .run_as_client_async (
374
- server_ip = server . internal_address ,
390
+ server_ip = server_ip_address ,
375
391
ping_count = 0 ,
376
392
run_time_seconds = 10 ,
377
393
print_histogram = False ,
@@ -380,15 +396,17 @@ def perf_ntttcp( # noqa: C901
380
396
length_of_histogram_intervals = 0 ,
381
397
count_of_histogram_intervals = 0 ,
382
398
dump_csv = False ,
399
+ use_ipv6 = use_ipv6 ,
383
400
)
384
401
client_ntttcp_result = client_ntttcp .run_as_client (
385
402
client_nic_name ,
386
- server . internal_address ,
403
+ server_ip_address ,
387
404
buffer_size = buffer_size ,
388
405
threads_count = num_threads_n ,
389
406
ports_count = num_threads_p ,
390
407
dev_differentiator = dev_differentiator ,
391
408
udp_mode = udp_mode ,
409
+ use_ipv6 = use_ipv6 ,
392
410
)
393
411
server .tools [Kill ].by_name (server_ntttcp .command )
394
412
server_ntttcp_result = server_result .wait_result ()
0 commit comments