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

299 Коммитов

Автор SHA1 Сообщение Дата
Ahmet Ibrahim Aksoy 0b708058b6
Add prereqs to publishing alpine package docs (#4584) 2024-10-01 11:07:25 +00:00
Nick Banks 968d4e35fc
Publish NuGet Packages Automatically (#4576) 2024-09-28 09:10:26 -07:00
Nick Banks 1e5d4854e9
Update Release Docs (#4572) 2024-09-27 18:12:45 +00:00
Ahmet Ibrahim Aksoy 56ef97b1fc
Add Alpine packaging and testing github action workflow (#4554) 2024-09-27 13:17:42 +00:00
Yi Huang 35bda75ecc
Update Release.md (#4430) 2024-08-05 16:39:22 -04:00
Nick Banks f960155603
Multiple Receive API Support (#4182)
* WIP

* Fixes

* Simplify

* fix

* Fix

* Fix more bugs

* Fix clog and .net

* Fixes

* Improvements

* Undo a merge issue

* Another merge issue

* Simple test

* remove fprintf

* fix signature to upto 255. add Large send case

* 1G Multi receive

* fix drain bug

* kernel test

* fix

* fix

* unused variable

* compare data

* tmp

* test cases

* 95% works

* remove fprintf in core

* Fix Range copy

* fix type mimatch

* cleanup

* Fix stall issue

* rollback

* retry if length is 0

* remove continue to reset Readpending in QuicStreamReceiveComplete

* stop enablling send with pending data (race condition exists)

* fix QuicRecvBufferHasUnreadData

* rollback for recv_buff lock bug then return earlier not to indicate FIN bit

* fix

* fix

* reduce test buffer size for CI speed

* update document

* add back buffer count caution

* Update docs/api/StreamReceiveComplete.md

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

* Update docs/api/StreamReceiveComplete.md

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

* logical conflicts

---------

Co-authored-by: ami-GS <1991.daiki@gmail.com>
2024-08-05 17:11:50 +00:00
Daniel dos Santos Pereira 45f9bb0b16
Document troubleshooting of packets using wireshark (#4391) 2024-07-17 10:02:30 -04:00
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 6ead5312d2
Fix HPS test for Linux xdp (#4298)
* increase nofile for sudo. default was 1024

* enable linux XDP HPS test

* use bash instead of pwsh

* use internally pwsh

* try full path for bash

* print stderr to see pipeline specific issue

* use file

* print output

* rollback and ccommentout throw

* print

* set LD_LIBRARY_PATH

* print more

* accelerate

* export

* rollback

* 'Args' should not be used. it become empty

* print parameters

* test

* cleanup

* use limits.conf for ulimit setting
2024-06-04 11:23:01 -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
Nick Banks a30ec8692f Fix up Release table 2024-03-12 15:16:18 -04:00
Anthony Rossi d02dd23bd5
Update documentation on NEW_CONNECTION_INFO::ServerName (#4179) 2024-03-07 10:18:56 -05:00
Nick Banks a554c4da68
Threat Model Text Improvements (#4161) 2024-02-28 10:54:59 -08:00
Nick Banks 6d5e84ba47
Add a Threat Model doc (#4135) 2024-02-14 16:08:33 -05:00
Radek Zikmund b513e4b073
Add QUIC_PERF_COUNTER_CONN_LOAD_REJECT counter. (#4120) 2024-02-14 13:02:00 -05:00
Nick Banks e73ce10823
Fix Deployment Docs Link (#4113) 2024-02-05 23:12:30 +00:00
Nick Banks dcd5d5b81d
Minor changes to release docs 2024-01-27 13:34:08 -05:00
Nick Banks 462728ce70
v2.3 Release Notes (#4085) 2024-01-26 15:51:28 -05:00
Pooja Trivedi 718d05131e
Event generation to report network statistics (#4071) 2024-01-26 08:47:02 -05:00
Sebastian Pick 9416cd6527
Add 'cancel on loss' send mode to MsQuicStream. (#4037) 2024-01-08 10:58:37 -05:00
William Yang fce09d4956
doc(TSG): fix typo (#3987) 2023-12-06 11:20:24 -05:00
William Yang 972e9425e9
Doc(TSG): stream abortion and logging (#3986) 2023-12-06 11:10:53 -05:00
Pooja Trivedi 81f0309cdc
Add documentation for getting started with the sample server-client app (#3985)
Co-authored-by: Pooja Trivedi <poojatrivedi@microsoft.com>
2023-12-05 16:32:34 -05:00
Nick Banks 7ff58fed64
Use American English Spelling of 'acknowledgment' (#3977) 2023-12-02 12:07:37 -05:00
Nick Banks ce94fbe75b
Improve Documentation on Connection Upcalls (#3957) 2023-11-14 07:54:36 -05:00
Radek Zikmund d33bc56d5e
Support setting flow control limits for individual stream types (#3948) 2023-10-31 15:16:38 -04:00
Daiki AMINAKA c19a3cd997
add note for default ubuntu issue (#3916) 2023-10-12 20:44:47 +00:00
Jack He (Github) 0ba1fc75d2
Phase 2 of enabling new Stream Frame: Reliable Reset (#3817) 2023-09-30 09:25:40 -04:00
Yuqiong Liu 649f971b1b
Expose Interface for App to Set Stateless Reset Key (#3879)
* Allow stateless reset token key to be set #1719

* Update src/core/library.c

How about we use the same way as the random initial reset key, we call  MsQuicLibraryFreePartitions() to set all PerProc->ResetTokenHash to NULL

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

* Address the code review feedback

* Revert clog.sidecar changes

* Add event for stateless reset key

* Revert the file clog.sidecar

* Remove DatapathTcpAuxBinding changes from clog.sidecar

* Remove parameter from function QuicTestStatelessResetKey and address other comments

* Update src/test/MsQuicTests.h

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

* Update src/core/library.c

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

* Update src/test/lib/DataTest.cpp

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

* Address code review comments

* Move stateless reset key after the other global param

* Address CheckDotnet test and update document

* Address the failure at CIFuzz

* Address the failure in CIFuzz

* Add one test case when MsQuic lib has not been initialized yet

---------

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2023-09-28 13:40:43 -04:00
Nick Banks 9c903ab328
Fixes Incorrect Docs for Idle Timeout (#3876) 2023-09-26 08:29:25 -04:00
Daiki AMINAKA ae3db5cd99
Unify datapath (#3819)
* Remove QUIC_USE_RAW_DATAPATH (logic only)

* move logic to core side

* remove QUIC_USE_RAW_DATAPATH from test

* fix googletest version and add last line

* replace from flag to function call

* fix build error

* fix build/test issues

* implement CxPlatResolveRoute for normal socket

* add Getter of Datapath feature

* fix build issues

* adopt comments

* adopt comment and fix kernel build error

* fix kernel build error

* more fix for kernel build

* Unify datapath

* DatapathTest partially work

* just unify build of both normal socket and xdp

* SOCKET: RAW{...Socket{BASE{addr}}}, DATAPATH: XDP{RAW{DATAPATH*}} <-> DATAPATH{RAW*, BASE{callbacks}}

* tmp

* add preview_feature flag back

* refactoring CxPlatIsRouteReady

* fix linux code check

* adjust func names

* fix comments

* fix IsRouteReady and clean ifdef for _KERNEL_MODE

* kernel build error

* Set RouteResolved for Rx

* fix more tests

* move global definition in header file

* kernel to avoid calling helper function

* move QuitTestIsFeatureSupported after RegistrationOpen

* supress warning

* remove QuitTestIsFeatureSupported from quic_gtest as it doesn't work as expected by dependency of MsQuicLib.Datapath

* remove raw feature check as much as possible

* ifdef for UseQTIP visibility

* tmp

* tmp

* fix merge side effects

* all tests passed

* fix tests in msquicplatformtest

* fix tcp with duonic

* update clog

* use xdp v1

* WIP cleanup

* refactoring CXPLAT_SEND_DATA

* remove mangling and function pointer

* remove unnecessary change in test

* fix comments

* cleanup

* move logic to _winuser

* use dummy raw datapath for uwp build

* dummy raw

* remove double free

* fix comments

* update dummy func

* fix perf run for TCP

* partially fix comments

* fix build error for uwp and remove duplicate variable in raw socket

* set socket before start receiving

* add dummy to clog

* add clog files for dummy

* fix dependency for cargo on windows

* remove dummy clog files

* remove AuxSocket

* add pwsh for cargo setup

* clog fix

* add include dir for cargo

* [WIP] fix cargo and qtip

* fix clog, qtip, rename private raw functions and cleanup

* experiment to avoid write overflow

* use Config->Route->DatapathType for data allocation

* more strict if conditions

* fix comments

* fix uwp build

* fix clog and artifact name

* fix back xdp dependency

* Simply build automation

* missed one

* apply unification to linux and remove QUIC_USE_XDP flag

* move types to any platform

* add abstruction layer for linux

* add clog

* add clog dependencies

* fix CodeCheck issues

* remove xdp specific artifact dir name and always install xdp deps

* add docs

* More Fixes for XDP in automation (mostly OneBranch)

---------

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2023-09-23 12:45:17 -07:00
Nick Banks a564e605ae
Regenerate Suppression File (#3798) 2023-08-09 11:23:56 -04:00
Jack He (Github) 21ea4975a5
Support retrieving the initial destination CID from GetParam (#3755)
* add new parameter

* remember to set success status

* add test cases

* fix test cases

* fix styling

* no need to redefine client config

* add non-null checking

* fix formatting and use helpers

* update description and add trailing whitespace

* add null ptr queries

* run ./scripts/generate-dotnet.ps1

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2023-07-15 07:07:39 -04:00
Yi Huang 96ae1426d8
Migrate Windows Prerelease tests to 1ES hosted pool (#3732)
Use 1ES pool for windows prerelease tests
2023-07-05 12:08:43 -07:00
Jack He (Github) cb5a20e3dd
Update docs to reflect what is in msquic.h (#3730) 2023-07-01 17:07:53 +00:00
Nick Banks 4e30ff8d72
Support Delaying Stream ID FC Updates to StreamClose (#3665) 2023-06-09 13:12:04 -04:00
William Yang e11cd12e41
doc: clarify BufferCount in QUIC_STREAM_EVENT_RECEIVE (#3666) 2023-06-01 15:07:15 -04:00
Nick Banks 290e634880
Update TSG for URO (#3633) 2023-05-16 14:39:16 -04:00
PeteAudinate 77af9141f2
Replace NEW_STREAM with PEER_STREAM_STARTED (#3586) 2023-04-26 13:22:27 +00:00
Nick Banks 08cf334ef6
Update issue template for bugs for v2.2 (#3584) 2023-04-25 09:10:32 -07:00
Anthony Rossi 71558a3475
Update CredScan suppressions for OpenSSL (#3580) 2023-04-24 18:34:57 -04:00
Nick Banks a029d2b42f
Release 2.2 Notes (#3571) 2023-04-18 12:37:21 -07:00
Yi Huang f956bab775
Doc: use Strawberry Perl (#3558) 2023-04-10 17:34:21 -07:00
Yi Huang f6c47e7ec7
Add instructions for testing on a different machine (#3552) 2023-04-06 20:36:21 -07:00
Anthony Rossi 054a0acd9b
Update release instructions (#3540)
* Update release instructions

* Update Release.md
2023-03-29 08:03:14 -04:00
Nick Banks 86083a74aa
Update LTTng to Latest (v2.13) (#3537) 2023-03-27 19:09:28 -04:00