Граф коммитов

592 Коммитов

Автор SHA1 Сообщение Дата
Marie Píchová 057677627a
Fix broken build on Alpine (#4264) 2024-05-14 12:48:28 -04:00
Nick Banks d67768772a
Disable Linux XDP HPS (#4292) 2024-05-09 09:15:32 -07:00
Daiki AMINAKA b4b3f98cf0
Secnet perf to set LD_LIBRARY_PATH for sudo (#4290)
* pass LD_LIBRARY_PATH to remote

* set LD_LIBRARY_PATH
2024-05-08 12:52:22 -07:00
Daiki AMINAKA 4b08a11c99
Enable secnetperf with xdp on azure VM (#4262)
* enable secnetperf with xdp on azure VM

* remove redundant settings

* move sudo inside script

* cleanup

* add 'sudo' in Invoke-Secnetperf

* cleanup

* Few minor fixes

* Change back

* touch ethtool only when ubuntu-22.04

* cleanup xdpgeneric and remote

* cleanup if xdp is there

* add XDP flag for execution config

* fix for DataPathTest

* remove MSQUIC_ENABLE_XDP flag

* remove Status

* remove local variable

* make FLAG_XDP visible from DataPathTest.cpp

* define preview feature

* fix RebindAddrPadded bug

* make RebindDatapathAddr to duonic dependent

* Use appropriate default values

* rollback

* fix memory leak

---------

Co-authored-by: Ubuntu <daiki@f4-ubuntu22-02.lcaeom4kylsuvmegib5mitghvd.bx.internal.cloudapp.net>
Co-authored-by: Nick Banks <nibanks@microsoft.com>
2024-05-01 16:42:02 -07:00
Jack He (Github) 28cceb2201
Adds retry logic to creating Secnetperf remote powershell sessions (#4265)
* add 5 tries

* add sleep
2024-04-26 13:48:27 -07:00
Daiki AMINAKA 5052f34623
Linux XDP support (#3849)
* built on Linux

* ne files

* renaming

* split socket funcs

* refactor from win

* build from linux

* more on linux

* rename and generate

* use libbpf

* oops

* rebase and add new member

* unify CxPlatTryAddSocket

* pass datapath tests

* integrate Ubuntu 22.04 default libbpf v0.5.0

* temporally

* multithread. all test passed

* secnetperf works

* update build scripts

* nit update

* add duonic installer script for linux

* add xdp-tools directory

* cleanup

* fix Windows build

* fix windows xdp build

* add Github action

* nit fix

* fix dependencies for Install-DuoNic

* add udpate

* add linux xdp dependencies to docker file

* fix installation script

* initialize submodules/xdp-tools recursively

* temporal fix

* make XDP optional

* use ShutdownSqe

* fix yaml files

* remove gcc-multilib and include explicitly

* fix tcp socket to allocate raw

* install xdp deps for linux

* libxdp bug workaround

* oops

* fix idempotency and add one more dep

* TODO: remove this

* enable x86_64 and Ubuntu22.04

* fix type mismatch of uint16_t and UINT16

* add aarch64

* fix

* use flag

* change arch check and file copy

* fix static build and android

* update clog

* clog fix

* fix Clang link issue

* fix CodeCheck and prepare-machine for build

* disable ANDROID for xdp

* fix clog

* Support XDP from 'test.ps1 -UseXdp'

* link libxdp from artifact

* fix dependency

* fix dep

* update xdp-tools to v1.4.2

* fix runtime deps

* fix deps

* Fix Umem addressing and make Rx path async to efficiently fill FQ

* fix CodeQL analyze deps

* fix Analyze

* fix analyze

* linux xdp to use sudo

* change 'if' order

* path fix?

* sudo pwsh

* add retry for xsk_socket__create when returns -EBUSY

* cleanup xdp program before running

* Fix cargo build --all

* fix cargo test dynamic linking

* remove Sanitize for initial commit

* generate artifact

* fix yml syntax issue

* fix CodeQl Analysys

* forget to add Partition declaration

* Use Rundown to wait for deleting socket before binding next

* fix Rundown for all xdp socket

* Fix EBUSY issue when binding xdp socket

* explictly disable port sharing test

* refactoring and cleanup

* fix pipeline. else for normal linux socket

* Fix cargo linking issue?

* disable xdp for cargo build

* fix codeql

* rollback build.rs

* fix package runtime link and codeql

* wrap packet dump function to DEBUG macro

* check dependency

* another check

* leave only LD_LIBRARY_PATH

* iterate attach mode

* fix codeql

* add IP address check in XDP prog

* break is enough & avoid compiler bug

* fix CodeCheck

* Fix use of RxHeadroom

* fix umem leak when failed to initialize

* use pool alloc for Interface

* fix ipv4 check

* remove workaround

* cleanup. from snake case to pascal case

* fix clog

* try ubuntu20.04 and enable stress test

* few fix of stress test yml

* integrate package libxdp linking

* fix RX parse error case

* disable ubuntu20.04

* remove 2 env variable to run

* add document

* fix ForBuild && clog

* stop installing deps on Ubuntu 20.04

* fix build

* fix libc6-dev-i386 side effect

* Add one more dependency (libzstd) for static build

* new line fix

* always install libc6-dev-i386

* fix install order

* fix CMakeLists.txt to cover qns.Dockerfile case

* remove env var dep, update doc

* fix stress.yml

* add env var for xdp knob and fix stress

* fix stress

* update clog

* update doc

* Fix doc appearance and words

* add UseXdp

* Update docs/BUILD.md

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update docs/BUILD.md

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* use SKB mode for now

* move Linux XDP logging to TSG.md

* stop warning print from libxdp/libbpf

* move CxPlat definitions to each plat

* initial commit

* common xdp utilities

* move sudo inside scripts

* fix comments

* fix clog

* fix ifdef syntax

* fix annotations

* all arch to build dataptah_xplat.c

* fix mac build

* fix lisence of ebpf prog

* fix spin.ps1 to propagate parameter

* Ether and IPv6 was not set appropriately

* Update docs/TSG.md

* remove warning supression

* remove BuildLibXdpFromSource

---------

Co-authored-by: ami-GS <azureuser@node1.s4l0gsbs5l2efgb53yvjusshdg.xx.internal.cloudapp.net>
Co-authored-by: Nick Banks <nibanks@microsoft.com>
2024-04-25 13:03:44 -07:00
Christopher Pestano 50b16dc68f
Cpestano/bug fix relative paths (#4248) 2024-04-18 07:28:10 -04:00
Jack He (Github) 7d64cd260f
revert appdata changes (#4232)
Co-authored-by: Jack He <jackhe@microsoft.com>
2024-04-08 13:43:27 -04:00
Daiki AMINAKA 680c5b93a7
Fix pkg-config for x86 (#4226) 2024-04-04 22:10:45 -07:00
Daiki AMINAKA b8ca418b8e
Fix pkgconfig setting to link with pkg-config (#4225) 2024-04-04 13:40:51 -07:00
Jack He (Github) e7b897d066
Implement workaround for log.ps1 not working on Lab Linux (#4224)
* remove sudo

* try without cancelling logging

* cancel logging only for windows

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2024-04-03 14:54:51 -07:00
Jack He (Github) cd3730815e
Log.ps1 should remove AppData ETL buildup (#4223)
* add appdata removal logic

* remove uneeded logging

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2024-04-02 22:41:09 +00:00
Jack He (Github) b540c5f057
Add logic to remove any logging residue. (#4222)
* add logic to remove any ETL residue

* cancel instead of delete

* cancel instead of stop

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2024-04-02 15:31:09 -07:00
Nick Banks 81d39cd6c8
Support Native Compiler in OneBranch Builds (#4217) 2024-03-29 14:16:57 -04:00
Jack He (Github) 7bf265f6d3
Persist BestResult / BestResultCommit / Baseline for all results, regardless of regression. (#4201)
* persist bestResult baseline for all keys

* don't return N/A on good runs

* fix small bugs

* update error messages

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2024-03-18 13:36:53 -07:00
Jack He (Github) cacfccae19
Implement watermark idea (reopen PR) (#4193)
* add function implementation for latency regression

* use watermark json

* baseline is BS

* improve error messages

* bored on a Friday

* move helpers to the modules file

* fix parameter bug

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2024-03-14 12:00:51 -07:00
Gaurav Singh 1a32822791
Fuzz Handshake packet (#4074)
* receive packet

* populated the packet struct

* added ACK frame sending

* Initial ACK frame response sent

* added handshake decryption

* Completed handshake decryption

* finshed processing handshake packet

* fuzzed handshake packet and sent

* fixed Read key not available bug

* fixed a bug

* Testing to see if pipelines passes

* pop packet when decryption fail

* minor change

* only free packet after we are done processing

* attempt to fix the pipeline

* packet copy is sent

* recv event modified

* zeroed out send buffer

* minor change

* minor

* free packet event

* redefined few variables to fix memory leak

* minor change

* fixed recv datagram bug

* attempt to fix the pipeline

* test

* added few checks

* minor change

* minor change

* debug statement

* some debug statements for the pipeling

* minor change

* Few fixes

* minor

* added allocated check

* chain processing changed

* cleaned up code

* minor change

* minor change

* minor change

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* minor code cleanups:

* mode changes

* minor

* made initial packet and handshake packet fuzzing work together

* minor change

* debug

* minor change

* minor change

* minor change

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* minor change

* few cxplatevent changes

* few minor changes

* handle failure

* minor

* few minor things

* delete state buffer after every iteration

* minor

* minor

* test change

* minor change

* minor change

* added startms

* added result flag

* cleanup code and few debug statements

* cleanup

* Made packet as stack variable

* reverted change

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* resolved comments

* fixed potential memory leak

* Update src/tools/recvfuzz/recvfuzz.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* resolved comments

* New handshake each iteration

* removed unnecessary comment

* minor change

* minor change

* Some modifications

* fixed memory leaks

* minor change

* freed up send data

* revert

* revert

* minor change

* minor changes

* test

* add free send data

* rest

* modified implementation

* minor change

* few optimisations

* attempt to fix

* added ASAN option

* resolved comments

* minor refactoring

* minor change

---------

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2024-03-12 18:39:38 +05:30
Jack He (Github) 95941f391a
generate results on regression (#4178)
Co-authored-by: Jack He <jackhe@microsoft.com>
2024-03-06 17:23:31 -08:00
Nick Banks 9483184dd3
Unrestricted SecNetPerf Environment (#4175) 2024-03-06 08:07:10 -05:00
Jack He (Github) b92d8cf046
cleanup dead code (#4170) 2024-03-01 18:16:52 -08:00
Jack He (Github) 4816737f6d
Add regression detection mechansims to the secnetperf script (#4167)
* add code to check baseline values

* indexing in powershell is hard
2024-03-01 16:31:58 -08:00
Jack He (Github) 0725976753
cache all the run args in the json we produce (#4163)
Co-authored-by: Jack He <jackhe@microsoft.com>
2024-02-28 19:29:02 -08:00
Jack He (Github) 5b8d2b49b9
add a run date column for the test runs (#4160)
Co-authored-by: Jack He <jackhe@microsoft.com>
2024-02-28 11:50:37 -08:00
Jack He (Github) d3fa5454ba
Enable dynamic environment (#4158)
* refactor to work with dynamic design

* remove 'plat' from name

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
Co-authored-by: Nick Banks <nibanks@microsoft.com>
2024-02-27 14:38:01 -08:00
Nick Banks e0385b047d
Process Full Latency Output and Encode in Json (#4157) 2024-02-26 20:00:14 -05:00
Jack He (Github) 1db0368ff2
Unify data storage (#4148) 2024-02-24 14:03:54 +00:00
Nick Banks 5a12ea0c16
Fix Get-NetView Execution (#4151) 2024-02-23 09:01:55 -05:00
Nick Banks d0c8e89cd7
Collect Get-NetView Diagnostics for netperf (#4127) 2024-02-13 07:43:36 -05:00
Michael Friesen e8e537dc99
Update xdp.json to 1.0.1 (#4130) 2024-02-12 19:36:23 -05:00
Jack He (Github) 19b2ce8f7c
use cred to make remote pwsh session (#4118) 2024-02-07 15:49:33 -05:00
Nick Banks 9b91d4201d
Fixes to Support qtip in netperf (#4100) 2024-02-06 19:28:36 -05:00
Nick Banks c5144aa341
Use Environment in secnetperf Output (#4117) 2024-02-06 21:24:03 +00:00
Nick Banks 9fdb7e57cc
More Connection Statistics for netperf (#4114) 2024-02-06 11:21:25 -08:00
Jack He (Github) b9da6e31bc
Persist more data for intermdiary JSON files + Add hps collection (#4112)
* add path for hps

* persist latest commit data in intermediate json

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2024-02-05 17:29:33 +00:00
Danila Klimenko ed344e7edf
Fix missing headers in NuGet packaging script (#4103) 2024-02-01 17:49:12 -05:00
Nick Banks dd145bfb95
Fix XDP for netperf (#4099) 2024-01-31 16:44:57 +00:00
Nick Banks 02b89e6370
Improvements for netperf (#4097) 2024-01-30 14:39:06 -05:00
Nick Banks 7c5eba61df
Update Minor Version to v2.4 in main (#4086) 2024-01-26 17:46:57 -05:00
Nick Banks 29f80831b1
Get Kernel Mode netperf Running (#4082) 2024-01-25 14:14:50 -05:00
Nick Banks 47784651af
Fix Server Log Collection in netperf (#4081) 2024-01-25 11:54:19 -05:00
Nick Banks 93579fa272
Add Filter Support for netperf Tests (#4080) 2024-01-25 09:44:57 -05:00
Nick Banks f370758990
Print Statistics in netperf Throughput Tests (#4078) 2024-01-24 15:21:09 -05:00
Nick Banks 834d3089d7
Run netperf Tests Longer (#4077) 2024-01-24 11:24:19 -08:00
Jack He (Github) 6e538ab729
dumb quotation mark error (#4075)
Co-authored-by: Jack He <jackhe@microsoft.com>
2024-01-23 21:29:14 -05:00
Jack He (Github) dadc3ea2b1
Refactor fragile ID tracking and add latency insertion (#4065) 2024-01-23 18:11:17 -05:00
Nick Banks e25596d10d
Some Minor Output and Error Clean up for netperf (#4072) 2024-01-23 10:16:56 -05:00
Nick Banks 79fd96c3ce
Adds Kernel Support for netperf (#4068) 2024-01-22 13:49:16 -05:00
Nick Banks 62f63eb39b
Support Testing Multiple IO Models with netperf (#4064) 2024-01-19 14:09:04 -05:00
Nick Banks beb0bd7720 Ignore errors for direction creation 2024-01-18 18:31:53 -05:00
Nick Banks f3ac189445
Run secnetperf in Separate Process to Wait on (with Timeout) (#4062) 2024-01-18 12:32:54 -08:00