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

40 Коммитов

Автор SHA1 Сообщение Дата
Anthony Rossi 9587f74cc2
Improve version deployment documentation (#4646) 2024-11-06 09:45:25 +00: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
Radek Zikmund d33bc56d5e
Support setting flow control limits for individual stream types (#3948) 2023-10-31 15:16:38 -04: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
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
Jack He (Github) cb5a20e3dd
Update docs to reflect what is in msquic.h (#3730) 2023-07-01 17:07:53 +00:00
Daiki AMINAKA 55dd0a5a5d
remove Handshake state check (#3321)
* remove Handshake state check

* add doc

* add detail
2023-01-03 11:38:01 +09:00
Yi Huang 22e14863c4
Add ECN support: ECN validation (#3168)
This PR implements 13.4.2. ECN Validation in RFC9000. The ECN validation algorithm implemented in this PR is very similar to the sample algorithm given in RFC9000 A.4. The details can be found at the top of path.h.

This PR also adds a new global QUIC setting, EcnEnabled and a flag, EcnCapable, in connection stats.

This PR does not implement CC ECN reaction, which will be done in a separate PR.
2022-10-24 15:38:52 -07:00
Anthony Rossi 85164f56a8
Rename OtherVersions to AvailableVersions. (#3147) 2022-10-13 13:19:21 -07:00
Nick Banks 86f7c77773
Increase Initial Packet Sizes to Help with Amplification Protection (#2697) 2022-10-12 17:57:10 +00:00
Nick Banks 5b921c9e18
App Controlled Execution Config (#3034) 2022-09-30 17:00:02 -04:00
Matt Olson 621b2800ce
Revert "Revert Recent BBR Support (#2937)" (#2943) 2022-08-24 14:27:33 -07:00
Ahmet İbrahim AKSOY e248e8693d
[Extension]: Grease Quic Bit Support (#2967) 2022-08-20 12:06:37 -04:00
Nick Banks e9c028324f
Revert Recent BBR Support (#2937)
* Revert "Rename QUIC_ACK_EVENT/QUIC_LOSS_EVENT fields to match their QUIC_LOSS_DETECTION counterparts (#2919)"

This reverts commit ec3c56fab5.

* Revert "Implement BBR congestion control algorithm (#2071)"

This reverts commit f1950591ef.
2022-08-03 14:18:45 -04:00
Ahmet İbrahim AKSOY 89ac83ba07
On connection idle cid changes (#2876) 2022-08-02 18:17:53 -04:00
Moody Wizmann f1950591ef
Implement BBR congestion control algorithm (#2071)
Initial commit. Several followup fixes are needed:

-no SendPostedBytes variable in QuicLossDetectionOnPacketSent (also remove "Entry" and "Stream"?)
-"LargestSentPacketNumber" and "LargestPacketNumberSent" names inconsistent (use LargestSentPacketNumber as used in QUIC_LOSS_DETECTION)
-Remove BbrCongestionControlUpdateRoundTripCounter nonhelper
-Remove BbrRttStatsUpdate nonhelper
-Remove NewBbrRttStats nonhelper
-Remove BbrBandwidthFilterOnAppLimited nonhelper
-Remove BbrCongestionControlHandleAckInProbeBw nonhelper
-QuicLossDetectionOnPacketSent checks for nonzero TimeOfLastPacketAcked- is there a bug on overflow of this uint32_t?
-Get rid of "Iterator" variables?
-Better name for QuicLossDetectionDiscardPackets?
-Combine SlidingWindowExtremumUpdateMin and SlidingWindowExtremumUpdateMax, then merge in SlidingWindowExtremumExpire
-Add comment for where the spec is for the logic gating the call to QuicCongestionControlSetAppLimited
-SendPostedBytes initialization in QuicLossDetectionOnPacketSent assumes send buffering is being used?


Co-authored-by: Nick Banks <nibanks@microsoft.com>
2022-07-29 13:56:40 -07:00
Anthony Rossi a8f3325cd7
Add registry configuration for Version Settings. (#2907) 2022-07-29 09:30:49 -04:00
Yi Huang 596ac3f49b
Stream level stats API (#2873)
A stream level GetParam API to stats (mainly for flow blocked timings).

Flow blocked timings include both stream level and parent connection level flow blocked timings.
2022-07-14 22:52:09 -07:00
Nick Banks afa87818cf
Documentation and Improvements to Help Consumers of QUIC_STATISTICS_V2 (#2780) 2022-06-06 21:15:44 -04:00
Daiki AMINAKA 12c47a091a
GetParam for QUIC_PARAM_STREAM_ID must be called 'after' StreamStart (#2796) 2022-06-06 21:15:08 -04:00
Anthony Rossi 5f7efad67e
Update Rust definitions and documentation for new parameters. (#2783) 2022-06-04 09:36:45 -04:00
Nick Banks 3c8faf6e31
Expose Parameter for TLS Provider (#2762) 2022-05-27 09:38:01 -07:00
Daiki AMINAKA 7542d4d371
QUIC_PARAM_STREAM_ID is get only (#2760) 2022-05-27 07:06:57 -04:00
Nick Banks 79f414e38c
Leverage GitHub's new Note and Warning Markdown 2022-05-20 11:17:20 -04:00
Nick Banks e59a8818cb
Multi-Core XDP Polling Support (#2578) 2022-03-29 13:19:39 -07:00
Anthony Rossi a7c635429e
Version Negotiation Draft5+ changes (#2458) 2022-03-17 08:33:53 -04:00
Yi Huang 17ee580bb3
Raw datapath processor candidates knob (#2519) 2022-03-15 08:08:33 -04:00
Thad House 19f8b40367
Embed git commit hash into binary (#2494) 2022-03-10 07:59:00 -05:00
Nick Banks da414da87a
Support CIBIR Extension (#2445) 2022-03-01 16:07:40 -05:00
Thad House b0d45e54e9
Split public settings structs (#2399)
* Initial settings split code

* More setting split

* Fix compilation

* Finish settings configuration

* Fix fallthrough

* Fix out of range error, disable VN tests

* Disable more VN tests

* Revert "Disable more VN tests"

This reverts commit 42fbb358fc.

* Fix some more tests

* Fix more VN tests

* Regenerate .NET

* Fix build

* Move VN behind a compile wall

* Remove legacy mode from reach

* Add a bunch of settings tests

* Remove version from reach

* Single preview feature

* Fix test compile

* Fix primary build

* Switch VNE layout

* More tests

* Fix kernel
2022-02-23 15:35:46 -08:00
Nick Banks 82c823adc0
QUIC_STATISTICS_V2 (#2386) 2022-02-17 14:38:55 -05:00
Nick Banks 57b5ef919b
Connection ID Prefixes (#2363) 2022-02-09 14:45:20 -05:00
Nick Banks 47ee814b4d
Remove Level from SetParam/GetParam (#2322)
* Remove Level from SetParam/GetParam

* Fix CLOG

* Fix param API test case

* Fix rust param level

* Fix interop IDs

* Update spinquic getparam calls

* Fix spinquic setparam

* Fix Linux spinquic

* Fix issue

* More fixes

* Fix clog and sidecar

Co-authored-by: Thad House <thhous@microsoft.com>
2022-02-07 11:13:07 -05:00
Daiki AMINAKA 4b41f2469b
Document how to disable Idle Timeout (#2189) 2021-11-29 16:39:17 -05:00
Thad House 1665554332
Add MTU documentation to settings documentation (#1825) 2021-07-15 13:16:45 -07:00
Nick Banks 65b6c9210d
Setting for Binding Stateless Operations (#1723) 2021-06-16 11:52:59 -07:00
Anthony Rossi 0c3acc3ac8
Expand listener documentation. (#1643) 2021-05-27 11:18:02 -07:00
Anthony Rossi 565be1e5ce
Refactor settings to be a separate document from deployment. (#1641) 2021-05-26 13:55:54 -07:00