From d5078471e091d9c972d30692c02bd6b1cd3b478d Mon Sep 17 00:00:00 2001 From: Nick Banks Date: Wed, 31 Jan 2024 10:19:25 -0500 Subject: [PATCH 1/4] Enable Back All XDP netperf Tests --- scripts/secnetperf-helpers.psm1 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/scripts/secnetperf-helpers.psm1 b/scripts/secnetperf-helpers.psm1 index b7ff976c24..6aa645adf7 100644 --- a/scripts/secnetperf-helpers.psm1 +++ b/scripts/secnetperf-helpers.psm1 @@ -424,11 +424,6 @@ function Invoke-Secnetperf { continue } - if ($io -eq "xdp" -and $metric -ne "hps") { # TODO - Figure out why this isn't working, and fix it. - Write-Host "> secnetperf $clientArgs BROKEN!" - continue - } - $artifactName = $tcp -eq 0 ? "$TestId-quic" : "$TestId-tcp" New-Item -ItemType Directory "artifacts/logs/$artifactName" -ErrorAction Ignore | Out-Null $artifactDir = Repo-Path "artifacts/logs/$artifactName" From 7271e8d98f1d40e91baf14f397f496aeff1d6d7b Mon Sep 17 00:00:00 2001 From: Nick Banks Date: Wed, 31 Jan 2024 11:20:32 -0500 Subject: [PATCH 2/4] Don't use the VF --- src/platform/datapath_raw_xdp_win.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/platform/datapath_raw_xdp_win.c b/src/platform/datapath_raw_xdp_win.c index 46f8fddbc2..1bcb09f7cc 100644 --- a/src/platform/datapath_raw_xdp_win.c +++ b/src/platform/datapath_raw_xdp_win.c @@ -1087,9 +1087,13 @@ CxPlatDpRawInitialize( } CxPlatZeroMemory(Interface, sizeof(*Interface)); Interface->ActualIfIndex = Interface->IfIndex = Adapter->IfIndex; + memcpy( + Interface->PhysicalAddress, Adapter->PhysicalAddress, + sizeof(Interface->PhysicalAddress)); // Look for VF which associated with Adapter // It has same MAC address. and empirically these flags + /* TODO - Currently causes issues some times for (int i = 0; i < (int) pIfTable->NumEntries; i++) { MIB_IF_ROW2* pIfRow = &pIfTable->Table[i]; if (!pIfRow->InterfaceAndOperStatusFlags.FilterInterface && @@ -1107,10 +1111,7 @@ CxPlatDpRawInitialize( Interface->ActualIfIndex); break; // assuming there is 1:1 matching } - } - memcpy( - Interface->PhysicalAddress, Adapter->PhysicalAddress, - sizeof(Interface->PhysicalAddress)); + }*/ Status = CxPlatDpRawInterfaceInitialize( From cef29fd3d16bd6133db05496f1b1a94e91a48cb6 Mon Sep 17 00:00:00 2001 From: Nick Banks Date: Wed, 31 Jan 2024 11:43:13 -0500 Subject: [PATCH 3/4] Fixed to Support QTIP in netperf --- scripts/secnetperf-helpers.psm1 | 2 +- scripts/secnetperf.ps1 | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/secnetperf-helpers.psm1 b/scripts/secnetperf-helpers.psm1 index 6aa645adf7..b3b441ae15 100644 --- a/scripts/secnetperf-helpers.psm1 +++ b/scripts/secnetperf-helpers.psm1 @@ -398,7 +398,7 @@ function Invoke-Secnetperf { $clientPath = Repo-Path $SecNetPerfPath $serverArgs = "$execMode -io:$io" $clientArgs = "-target:netperf-peer $ExeArgs -tcp:$tcp -trimout -watchdog:25000" - if ($io -eq "xdp") { + if ($io -eq "xdp" -or $io -eq "qtip") { $serverArgs += " -pollidle:10000" $clientArgs += " -pollidle:10000" } diff --git a/scripts/secnetperf.ps1 b/scripts/secnetperf.ps1 index 7d5b8afb3e..ea5c5045ac 100644 --- a/scripts/secnetperf.ps1 +++ b/scripts/secnetperf.ps1 @@ -89,6 +89,7 @@ if ($isWindows -and ($LogProfile -eq "" -or $LogProfile -eq "NULL")) { # Always collect basic, low volume logs on Windows. $LogProfile = "Basic.Light" } +$useXDP = ($io -eq "xdp" -or $io -eq "qtip") # Set up the connection to the peer over remote powershell. Write-Host "Connecting to $RemoteName" @@ -169,7 +170,7 @@ if ($isWindows) { Configure-DumpCollection $Session # Install any dependent drivers. -if ($io -eq "xdp") { Install-XDP $Session $RemoteDir } +if ($useXDP) { Install-XDP $Session $RemoteDir } if ($io -eq "wsk") { Install-Kernel $Session $RemoteDir $SecNetPerfDir } if (!$isWindows) { From 3565d5aa1e58128e22599fba9d38847bd587293d Mon Sep 17 00:00:00 2001 From: Nick Banks Date: Wed, 31 Jan 2024 14:14:41 -0500 Subject: [PATCH 4/4] No TCP support for qtip --- scripts/secnetperf-helpers.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/secnetperf-helpers.psm1 b/scripts/secnetperf-helpers.psm1 index b3b441ae15..766720a1be 100644 --- a/scripts/secnetperf-helpers.psm1 +++ b/scripts/secnetperf-helpers.psm1 @@ -390,7 +390,7 @@ function Invoke-Secnetperf { $values = @(@(), @()) $hasFailures = $false - $tcpSupported = ($io -ne "xdp" -and $io -ne "wsk") ? 1 : 0 + $tcpSupported = ($io -ne "xdp" -and $io -ne "qtip" -and $io -ne "wsk") ? 1 : 0 for ($tcp = 0; $tcp -le $tcpSupported; $tcp++) { # Set up all the parameters and paths for running the test.