Skip to content

Commit 533b96e

Browse files
author
Rudra Pratap SIngh
committed
Add full-duplex mode to NTTTCP networking workload
Enable bidirectional network testing where both nodes run sender and receiver simultaneously, producing separate TX/RX throughput metrics per direction. Core changes: - NTttcpExecutor: Add DuplexMode property, ExecuteFullDuplexWorkloadAsync with parallel sender+receiver processes, CaptureDirectionalMetrics for per-direction telemetry, role-aware port assignment (forward/reverse), direction-aware -m IP mapping for correct sender→receiver targeting - NetworkingWorkloadState: Add DuplexMode property for client-server state sync - NetworkingWorkloadExecutor: Pass DuplexMode through orchestration instructions Profile: - PERF-NETWORK-NTTTCP-FULLDUPLEX.json: 6 TCP scenarios (T1/T32 x 4K/64K/256K) with DuplexMode=Full, same dependencies as half-duplex profile Tests (21 tests): - NTttcpFullDuplexTests: IsFullDuplex property, ReversePort offset, command-line flag/port/buffer verification for both platforms, execution tests for client send+receive on Linux/Windows, results file separation, half-duplex backward compatibility, NetworkingWorkloadState serialization with DuplexMode Upstream fixes (pre-existing bugs in main): - ProcessProxy.cs: Fix catch clause ordering (general catch before specific) - CommandBase.cs: Fix NullReferenceException on isolationTargets.TargetPackages Verified on real hardware: win-x64 (10.177.236.133) <-> win-arm64 (10.199.102.112) TCP 4K T1: Send 3226 Mbps / Receive 1455 Mbps TCP 64K T1: Send 6490 Mbps / Receive 6163 Mbps
1 parent e250dde commit 533b96e

6 files changed

Lines changed: 1212 additions & 39 deletions

File tree

0 commit comments

Comments
 (0)