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

46 Коммитов

Автор SHA1 Сообщение Дата
Nick Banks 76d315000a
Test on Ubuntu 24.04 GitHub Images (#4306)
* Test on Ubuntu 24.04 GitHub Images

* Dockerfile

* more ubuntu24.04 on yml files

* remove Dockerfile

* update reuse image

* Remove misc-include-cleaner build warnings

* More codecheck ignores

* Missed one

* Fix potential buffer overflow

* rollback fix and ignore the error

* Windows to avoid touching GCC pragma

* the warning should be from gcc13

* static_assert expects its string to be normal

* Revert "static_assert expects its string to be normal"

This reverts commit 73ac2579d1.

* add supress option for clang

* clang version

* fix openssl check issue

* fix yaml

* exclude android

* remove Sanitize for xdp

* support azure pipeline

---------

Co-authored-by: ami-GS <1991.daiki@gmail.com>
2024-07-08 15:01:16 -07:00
Daiki AMINAKA e3135cf0ed
show warning prompt for installing Linux XDP deps (#4302)
* show warning for installing Linux XDP deps

* change force flag name

* Fix yml to use ForceXdpInstall

* unify

* try single quote

* remove redundant xdp flag

* fix renux packaging
2024-05-24 18:40:10 -07:00
Daiki AMINAKA 0a29701afc
Use -UseXdp for github pipeline (#4317)
* Use -EnableLinuxXDP

* add EnableLinuxXDP for 'Build'

* fix ternary operator

* add 'XDP' to build artifact name

* fix?

* fix?

* fix?

* fix?

* fix

* fix

* exclude x86

* specify '-XDP' artifacts

* fix

* fgix

* specify 'xdp' for all cases

* unify xdp flag as -UseXdp

* fix matrix.vec.xdp

* fix a bit
2024-05-23 05:18:53 -07:00
Marie Píchová 057677627a
Fix broken build on Alpine (#4264) 2024-05-14 12:48:28 -04: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
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
Yi Huang f956bab775
Doc: use Strawberry Perl (#3558) 2023-04-10 17:34:21 -07:00
Nick Banks 86083a74aa
Update LTTng to Latest (v2.13) (#3537) 2023-03-27 19:09:28 -04:00
Cheney Wang 581e7b6395
Add vcpkg installation instructions (#3066) 2022-09-15 10:58:21 -04:00
Nick Banks 79f414e38c
Leverage GitHub's new Note and Warning Markdown 2022-05-20 11:17:20 -04:00
Nick Banks f7f4115943
Refactor prepare-machine.ps1 (#2506) 2022-03-11 16:08:56 -05:00
Matt Olson b2365f5607
Update BUILD.md (#2483) 2022-03-08 08:17:38 -05:00
Thad House 8f6eb33e75
Update docs to make clear VS 2022 will work for building (#2157)
* Update docs to make clear VS 2022 will work for building

* Remove versions from top sentance
2021-11-18 13:38:49 -08:00
Nick Banks b943eb18c4
Initial Rust Support (#1832)
Initial Rust Support
2021-10-28 08:40:54 -04:00
Nick Banks 569d0bf045
Fix CMake Build Docs (#1945) 2021-08-27 15:28:12 -04:00
TimTim 30a01b3ec1
Add notes for targeting Windows ARM64 OpenSSL (#1859)
* Add notes for targeting Windows ARM64 OpenSSL

* Fix grammar
2021-07-29 08:42:34 -05:00
Jeremy Ong 24cc30ec9f
Add initial static library support (Windows Only) (#1446)
* Add initial static library support

* Revert change to msquic.lttng target

Also adds a missing newline at init.c's EOF

* Add whole static lib archiving support

* Add static build configuration to windows platforms in build.ps1 and
exclude system libs

* Invert build.ps1 switch and add documentation

* Resolve static link issues with repeated definition of QuicTraceRundown

* Add win32 static configurations to the azure pipeline build job lists

* Correctly ignore MSVC runtime libraries and fix documentation

* Passively create the static lib directly if it doesn't exist

In the event that a different output directory is specified, cmake's
generator will generally create the directory if it doesn't exist.
For the static monolith however, we emit the file with link.exe
directly, and this will fail if the parent directory doesn't exist.

* Try fix CI

* Add STATIC target annotation on perflib and testlib

* Reject libs without a valid ARCHIVE_OUTPUT_DIRECTORY path and inject CI
cached binaries

* Try to fix tests

* Force static build of gtest and support statically linked tools

* Remove kernel static build mods and handle MsQuicUnload in atexit
handlers

* Enforce a different means to enforce static builds for gtest artifacts

* Fix interop static

* One more?

* Change static linkage load/unload invocations to lazy lockfree approach

* Re-add exclusion list which was needed for the release build

* Introduce empty.c file and make msquic_static library a physical target

* Add missing InterlockedAnd to advertise the unloading sequence is
complete

* Inline MsQuicOpen to prevent duplicate symbol issues on Windows

* Temp workaround - Just use macro

* One more fix

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2021-06-27 14:03:07 -07:00
hros dce6d6f905
change -Ofast to -O3 (#1729) 2021-06-17 07:57:05 -07:00
Rahul Jain 4f0bfcf181
Documentation (#1630) 2021-05-24 08:05:15 -07:00
Matt Olson 3dea342d03
Fix typos in BUILD.md (#1617)
Co-authored-by: Matt Olson <maolson@ntdev.microsoft.com>
2021-05-19 12:00:19 -07:00
hty690 fa4e0d4375
Fix a grammar mistake in docs/BUILD.md (#1434) 2021-04-03 07:15:08 -07:00
Anthony Rossi f3c1be451e
Update build steps for RHEL 8 (#1420) 2021-04-01 01:01:11 -07:00
Thad House b1940ba5ec
Remove stub TLS (#1411)
* Remove stub TLS

We were only using stub TLS to be compatible with ASAN. Now that OpenSSL and Asan work together, we can remove stub TLS and reduce our TLS scope.
2021-03-30 14:22:39 -07:00
Nick Banks dd4f4ede0f
Remove miTLS (#1398) 2021-03-29 17:21:54 -07:00
Tomas Weinfurt 834fde3cdd
add notes for macOS (#1348) 2021-03-18 17:28:07 -07:00
Anthony Rossi 9d654f40aa
Update lttng to 2.12 (#1344) 2021-03-17 15:43:05 -07:00
Oguz Bastemur cd2ea35774
Windows build with openssl option requires perl (#1265)
Add Perl into `Additional Requirements` list for folks who want to build it on Windows with no schannel support / or with openssl explicitly.
2021-02-21 18:53:25 -08:00
Abdullah 4b53ab707c
Update BUILD.md (#1105)
Update broken links
2020-12-16 08:05:52 -08:00
Thad House f9d8c374f6
Use clog 0.1.9 (#1050)
This enables using .NET 5 as well as .NET Core 3.1. Docs have been updated to note this
2020-11-20 10:53:38 -08:00
Nick Banks 54a4cd5863
State Build Requirements at the Top (#1038) 2020-11-15 16:53:12 -08:00
Thad House 65adabebe5
Set CMake minimum to 3.16 (#1004)
The docker images are running 3.16. They work, so that is a fine minimum
2020-11-09 16:27:40 -08:00
Thad House e2b506a2d5
Add a minimum version to cmake, and add notes in the readme how to update (#998) 2020-11-09 14:32:57 -08:00
Shubham Singhal 54b391fe10
Fix Typo (#999) 2020-11-09 14:23:03 -08:00
Thad House d15c309d7c
Add .NET Core instructions to BUILD.md (#779) 2020-08-26 17:50:19 -07:00
Nick Banks 80fa7359ae
Small Refactor of Build Files (#407) 2020-05-26 10:18:33 -07:00
Nick Banks 216f0a5970
Normalize Line Endings (#384) 2020-05-12 19:08:05 -07:00
Nick Banks 35476a96d8
Update Build Docs for CMake Specific Instructions (#372) 2020-05-09 08:06:25 -07:00
Matt Olson 88a5261c45 Update dev setup instructions to install stable PS7 2020-03-17 12:30:00 -07:00
Nick Banks 12a00eefc5
Improve Setup Scripts (#240) 2020-03-16 13:20:13 -07:00
Nick Banks 70b2f682e8
Readme and Build Doc Improvements (#143) 2020-02-14 14:41:25 -08:00
Nick Banks d524d9c470
Clean up Build Instructions (#134) 2020-02-13 19:05:16 -08:00
Nick Banks 1be04fe29f
Cross Platform PowerShell Helper Scripts (#52)
This PR adds cross platform PowerShell (6 or 7) scripts for building, testing and logging. There is still a little left to do before it can be integrated into the Azure Pipeline, but that is the ultimate goal.

One big improvement of the test.ps1 script over calling the test program directly is that it will allow for collecting logs for each individual test case separately. The down side is that it significantly increases the execution time of the tests. I'm still hoping the time can be cut down some how.
2020-01-22 12:10:33 -08:00
Nick Banks 53198319bd
Tracing Refactoring (#30)
This PR syncs the latest tracing refactoring work to hook up LTTng.
2019-12-21 10:21:23 -08:00
Nick Banks 02907e0b76
Sync Latest - 12/6/19 (#27)
- miTLS support (Windows)
- Tools fixes
- Tests fixes
2019-12-06 18:01:48 -08:00
chgray-MSFT 39a0ff38c7 update docs to include necessary packages (#22) 2019-12-06 09:34:38 -08:00
Nick Banks 4beb7ea79c
Initial Docs (#10)
This PR adds some initial high level API documentation.
2019-11-15 16:44:38 -08:00