Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grab a UDP Port Reservation #2017

Merged
merged 11 commits into from
Oct 5, 2021
Merged

Grab a UDP Port Reservation #2017

merged 11 commits into from
Oct 5, 2021

Conversation

nibanks
Copy link
Member

@nibanks nibanks commented Sep 21, 2021

Explicitly grab a UDP port reservation to make sure other processes fail to use the same port in parallel.

@nibanks nibanks added OS: Windows (User) Bug: Platform A code bug in platform/TLS specific code. labels Sep 21, 2021
@nibanks nibanks requested a review from a team as a code owner September 21, 2021 19:53
@thhous-msft
Copy link
Contributor

Can interference happen between kernel and user in this same way? Is there a way to add this behavior in kernel as well?

@nibanks
Copy link
Member Author

nibanks commented Sep 21, 2021

Can interference happen between kernel and user in this same way? Is there a way to add this behavior in kernel as well?

Kernel mode doesn't use the per-processor socket option, so I believe it doesn't have the same problem.

@maolson-msft
Copy link
Contributor

I thought you needed to associate each socket with the port reservation with SIO_ASSOCIATE_PORT_RESERVATION before binding?

@nibanks
Copy link
Member Author

nibanks commented Sep 21, 2021

I thought you needed to associate each socket with the port reservation with SIO_ASSOCIATE_PORT_RESERVATION before binding?

It doesn't look like we do? I'm not getting any bind failures on the other sockets? What should I do?

@nibanks
Copy link
Member Author

nibanks commented Sep 25, 2021

Marking as blocked on a crash this seems to be hitting.

@thhous-msft
Copy link
Contributor

This is now fixed and good to go. The QuicInterop failure unrelated.

@nibanks nibanks merged commit 8d14aba into main Oct 5, 2021
@nibanks nibanks deleted the nibanks/port-reservation branch October 5, 2021 13:03
thhous-msft added a commit that referenced this pull request Oct 7, 2021
thhous-msft added a commit that referenced this pull request Oct 7, 2021
Wizmann added a commit to Wizmann/msquic that referenced this pull request Nov 17, 2021
code done

minor refine

fix compiling

compile done, error on running

compile done, error on running

bugfix

try fix bug

bugfix

remove test code

fix style

Run more BVT and SpinQuic on windows-2022 (microsoft#2028)

Rework issue templates (microsoft#2030)

YAML-based issue forms (microsoft#2031)

* Merge from pivotman319/issue-templates-rework-2

* Merge from pivotman319/issue-templates-rework-2

* Update bug_report.yaml

* Add label "feature request"

As requested by @nibanks

* fix label

* Final touches

* Remove validations on additional OS info

Add error code and docs for invalid address error (microsoft#2032)

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

Publish Docker Image to GitHub Registry (microsoft#2038)

Build linux binaries in onebranch (microsoft#2042)

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

Fix onebranch official pipeline (microsoft#2043)

Grab a UDP Port Reservation (microsoft#2017)

Co-authored-by: Thad House <thhous@microsoft.com>

Move/Rename QNS Dockerfile (microsoft#2040)

Correctly Handle FIN after Stream Reset (microsoft#2049)

Fix Flow Control Assert (microsoft#2050)

Fix clog sidecar printing out port in reverse order (microsoft#2051)

Fix CLOG sidecar (microsoft#2053)

Trigger a test pipeline from the onebranch pipelines (microsoft#2054)

* Add trigger tests

* Fix main trigger

* Add test file

* Test triggering from onebranch pipeline

* Test distribution again

* Print out env vars

* one more artifact thing

* More distribution test

* Add the rest of the triggers back in

* Some more triggering

* Some more cleanup

* Fix CI again

* Hopefully just 1 last fix

* 1 more linux fix...

* Fix a few low hanging things

Sign Linux Packages (microsoft#2055)

Move Check CLOG to Action (microsoft#2059)

Enable Linux Signing Preview (microsoft#2058)

Use default container for ubuntu signing (microsoft#2062)

Revert "Grab a UDP Port Reservation (microsoft#2017)" (microsoft#2065)

This reverts commit 8d14aba.

Generate vpacks from onebranch binaries (microsoft#2067)

Disable perf tests until we can repair perf systems (microsoft#2068)

* Disable perf tests until we can repair perf systems

* Disable post process

Run WAN Perf on WS2022 (microsoft#2061)

Run Kernel BVT on WS2022 (microsoft#2064)

Fix onebranch test pipelines having wrong dependency order (microsoft#2069)

* Fix onebranch test pipelines having wrong dependency order

* Fix winkernel name

Add tls provider to onebranch kernel mode build task (microsoft#2070)

Fix Connection FC Handling on Stream Abort (microsoft#2066)

Fix update sidecar script to work on non windows platforms (microsoft#2072)

fix clog and PROBE_RTT bug

fix comments

fix compile error

fix clog compile error, and add TODO

try fix sidecar build error

fix compile error

fix driver compile error by replace float to uint32_t

update ci pipeline for wan tests

try fix ci script

fix comments

fix comments

fix clog and compile

fix comments

try fix ci pipeline

try fix run-wanperf.yml

bugfix for bbr

bugfix for SendQuantum

try fix wan perf problem by refine pacing

temporarily disable pacing to check the performance (will revert later)

try fix wan perf for bbr

fix MeasuredBw big

bug fix for kExpectedStartupGrowth and TotalBytesSentAtLastAck

enable deep buffer test

bugfix for SendRate

use uint32_t to replace uint64_t for loss_detection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug: Platform A code bug in platform/TLS specific code. OS: Windows (User)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants