@@ -191,30 +191,6 @@ function Remove-StandardUser {
191191 Invoke-OnHostOrVM - ScriptBlock $scriptBlock - ArgumentList $argList
192192}
193193
194- function Invoke-XDPTestHelper {
195- param (
196- [Parameter (Mandatory = $True )] [string ] $XDPTestName ,
197- [Parameter (Mandatory = $True )] [string ] $RemoteIPV4Address ,
198- [Parameter (Mandatory = $True )] [string ] $RemoteIPV6Address ,
199- [Parameter (Mandatory = $True )] [string ] $LogFileName ,
200- [Parameter (Mandatory = $True )] [string ] $TraceFileName
201- )
202- $scriptBlock = {
203- param ($XDPTestName , $RemoteIPV4Address , $RemoteIPV6Address , $TestHangTimeout , $UserModeDumpFolder , $WorkingDirectory , $LogFileName , $TracefileName )
204- Import-Module $WorkingDirectory \common.psm1 - ArgumentList ($LogFileName ) - Force - WarningAction SilentlyContinue
205- Import-Module $WorkingDirectory \run_driver_tests.psm1 - ArgumentList ($WorkingDirectory , $LogFileName , $TestHangTimeout , $UserModeDumpFolder ) - Force - WarningAction SilentlyContinue
206- Write-Log " Invoking $XDPTestName "
207- Invoke-XDPTest `
208- - RemoteIPV4Address $RemoteIPV4Address `
209- - RemoteIPV6Address $RemoteIPV6Address `
210- - XDPTestName $XDPTestName `
211- - WorkingDirectory $WorkingDirectory `
212- - TraceFileName $TraceFileName
213- }
214- $argList = @ ($XDPTestName , $RemoteIPV4Address , $RemoteIPV6Address , $script :TestHangTimeout , $script :UserModeDumpFolder , $script :WorkingDirectory , $LogFileName , $TraceFileName )
215- Invoke-OnHostOrVM - ScriptBlock $scriptBlock - ArgumentList $argList
216- }
217-
218194function Add-FirewallRule {
219195 param (
220196 [Parameter (Mandatory = $True )] [string ] $ProgramName ,
@@ -231,105 +207,6 @@ function Add-FirewallRule {
231207 Invoke-OnHostOrVM - ScriptBlock $scriptBlock - ArgumentList $argList
232208}
233209
234- function Invoke-XDPTest1 {
235- param (
236- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V4Address ,
237- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V6Address ,
238- [Parameter (Mandatory = $True )] [string ] $VM1Interface2V4Address ,
239- [Parameter (Mandatory = $True )] [string ] $VM1Interface2V6Address ,
240- [Parameter (Mandatory = $True )] [string ] $LogFileName
241- )
242- Write-Log " Running XDP Test1 ..."
243- $ProgId = Add-eBPFProgram - Program " reflect_packet.sys" - LogFileName $LogFileName
244- Invoke-XDPTestHelper - XDPTestName " xdp_reflect_test" - RemoteIPV4Address $VM1Interface1V4Address - RemoteIPV6Address $VM1Interface1V6Address - LogFileName $LogFileName - TraceFileName " XDPTest1_1"
245- Invoke-XDPTestHelper - XDPTestName " xdp_reflect_test" - RemoteIPV4Address $VM1Interface2V4Address - RemoteIPV6Address $VM1Interface2V6Address - LogFileName $LogFileName - TraceFileName " XDPTest1_2"
246- Remove-eBPFProgram $ProgId $LogFileName
247- Write-Log " XDP Test1 succeeded." - ForegroundColor Green
248- }
249-
250- function Invoke-XDPTest2 {
251- param (
252- [Parameter (Mandatory = $True )] [string ] $VM1Interface1Alias ,
253- [Parameter (Mandatory = $True )] [string ] $VM1Interface2Alias ,
254- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V4Address ,
255- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V6Address ,
256- [Parameter (Mandatory = $True )] [string ] $VM1Interface2V4Address ,
257- [Parameter (Mandatory = $True )] [string ] $VM1Interface2V6Address ,
258- [Parameter (Mandatory = $True )] [string ] $LogFileName
259- )
260- Write-Log " Running XDP Test2 ..."
261- $ProgId = Add-eBPFProgram - Program " reflect_packet.sys" - Interface $VM1Interface1Alias - LogFileName $LogFileName
262- Write-Log " Invoking Set-eBPFProgram for $ProgId interface $VM1Interface2Alias "
263- Set-eBPFProgram - ProgId $ProgId - Interface $VM1Interface2Alias - LogFileName $LogFileName
264- Write-Log " Invoking Invoke-XDPTestHelper for $VM1Interface1V4Address and $VM1Interface1V6Address "
265- Invoke-XDPTestHelper - XDPTestName " xdp_reflect_test" - RemoteIPV4Address $VM1Interface1V4Address - RemoteIPV6Address $VM1Interface1V6Address - LogFileName $LogFileName - TraceFileName " XDPTest2_1"
266- Write-Log " Invoking Invoke-XDPTestHelper for $VM1Interface2V4Address and $VM1Interface2V6Address "
267- Invoke-XDPTestHelper - XDPTestName " xdp_reflect_test" - RemoteIPV4Address $VM1Interface2V4Address - RemoteIPV6Address $VM1Interface2V6Address - LogFileName $LogFileName - TraceFileName " XDPTest2_2"
268- Remove-eBPFProgram $ProgId $LogFileName
269- Write-Log " XDP Test2 succeeded." - ForegroundColor Green
270- }
271-
272- function Invoke-XDPTest3 {
273- param (
274- [Parameter (Mandatory = $True )] [string ] $VM1Interface1Alias ,
275- [Parameter (Mandatory = $True )] [string ] $VM1Interface2Alias ,
276- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V4Address ,
277- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V6Address ,
278- [Parameter (Mandatory = $True )] [string ] $VM1Interface2V4Address ,
279- [Parameter (Mandatory = $True )] [string ] $VM1Interface2V6Address ,
280- [Parameter (Mandatory = $True )] [string ] $LogFileName
281- )
282- Write-Log " Running XDP Test3 ..."
283- $ProgId1 = Add-eBPFProgram - Program " reflect_packet.sys" - Interface $VM1Interface1Alias - LogFileName $LogFileName
284- $ProgId2 = Add-eBPFProgram - Program " encap_reflect_packet.sys" - Interface $VM1Interface2Alias - LogFileName $LogFileName
285- Invoke-XDPTestHelper - XDPTestName " xdp_reflect_test" - RemoteIPV4Address $VM1Interface1V4Address - RemoteIPV6Address $VM1Interface1V6Address - LogFileName $LogFileName - TraceFileName " XDPTest3_1"
286- Invoke-XDPTestHelper - XDPTestName " xdp_encap_reflect_test" - RemoteIPV4Address $VM1Interface2V4Address - RemoteIPV6Address $VM1Interface2V6Address - LogFileName $LogFileName - TraceFileName " XDPTest3_2"
287- Remove-eBPFProgram $ProgId1 $LogFileName
288- Remove-eBPFProgram $ProgId2 $LogFileName
289- Write-Log " XDP Test3 succeeded." - ForegroundColor Green
290- }
291-
292- function Invoke-XDPTest4 {
293- param (
294- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V4Address ,
295- [Parameter (Mandatory = $True )] [string ] $VM1Interface1V6Address ,
296- [Parameter (Mandatory = $True )] [string ] $VM1Interface1Alias ,
297- [Parameter (Mandatory = $True )] [string ] $VM2Interface1Alias ,
298- [Parameter (Mandatory = $True )] [string ] $LogFileName
299- )
300- Write-Log " Running XDP Test4 ..."
301- $ProgId1 = Add-eBPFProgram - Program " encap_reflect_packet.sys" - Interface $VM1Interface1Alias - LogFileName $LogFileName
302- $ProgId2 = Add-eBPFProgram - Program " decap_permit_packet.sys" - Interface $VM2Interface1Alias - LogFileName $LogFileName
303- Invoke-XDPTestHelper - XDPTestName " xdp_reflect_test" - RemoteIPV4Address $VM1Interface1V4Address - RemoteIPV6Address $VM1Interface1V6Address - LogFileName $LogFileName - TraceFileName " XDPTest4"
304- Remove-eBPFProgram $ProgId1 $LogFileName
305- Remove-eBPFProgram $ProgId2 $LogFileName
306- Write-Log " XDP Test4 succeeded." - ForegroundColor Green
307- }
308-
309- function Invoke-XDPTests {
310- param (
311- [Parameter (Mandatory = $True )] $Interfaces ,
312- [Parameter (Mandatory = $True )] [string ] $LogFileName
313- )
314- Write-Log " Starting XDP tests"
315- Write-Log " `n`n "
316- $VM1Interface1 = $Interfaces [0 ]
317- $VM1Interface1Alias = $VM1Interface1.Alias
318- $VM1Interface1V4Address = $VM1Interface1.V4Address
319- $VM1Interface1V6Address = $VM1Interface1.V6Address
320- $VM2Interface1 = $Interfaces [1 ]
321- $VM2Interface1Alias = $VM2Interface1.Alias
322- $VM1Interface2 = $Interfaces [2 ]
323- $VM1Interface2Alias = $VM1Interface2.Alias
324- $VM1Interface2V4Address = $VM1Interface2.V4Address
325- $VM1Interface2V6Address = $VM1Interface2.V6Address
326- Add-FirewallRule - RuleName " XDP_Test" - ProgramName " xdp_tests.exe" - LogFileName $LogFileName
327- Invoke-XDPTest1 - VM1Interface1V4Address $VM1Interface1V4Address - VM1Interface1V6Address $VM1Interface1V6Address - VM1Interface2V4Address $VM1Interface2V4Address - VM1Interface2V6Address $VM1Interface2V6Address - LogFileName $LogFileName
328- Invoke-XDPTest2 - VM1Interface1Alias $VM1Interface1Alias - VM1Interface2Alias $VM1Interface2Alias - VM1Interface1V4Address $VM1Interface1V4Address - VM1Interface1V6Address $VM1Interface1V6Address - VM1Interface2V4Address $VM1Interface2V4Address - VM1Interface2V6Address $VM1Interface2V6Address - LogFileName $LogFileName
329- Invoke-XDPTest3 - VM1Interface1Alias $VM1Interface1Alias - VM1Interface2Alias $VM1Interface2Alias - VM1Interface1V4Address $VM1Interface1V4Address - VM1Interface1V6Address $VM1Interface1V6Address - VM1Interface2V4Address $VM1Interface2V4Address - VM1Interface2V6Address $VM1Interface2V6Address - LogFileName $LogFileName
330- Invoke-XDPTest4 - VM1Interface1V4Address $VM1Interface1V4Address - VM1Interface1V6Address $VM1Interface1V6Address - VM1Interface1Alias $VM1Interface1Alias - VM2Interface1Alias $VM2Interface1Alias - LogFileName $LogFileName
331- }
332-
333210function Invoke-ConnectRedirectTestHelper
334211{
335212 param (
0 commit comments