Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ moq-mux = { version = "0.10.8", path = "rs/moq-mux" }
moq-net = { version = "0.3.7", path = "rs/moq-net" }
# The MoQ fork of noq (moq-dev/noq). iroh keeps upstream noq, so a build with the
# iroh feature carries both stacks.
moq-noq-proto = { version = "1.3.1", default-features = false }
moq-noq-udp = "1.3.1"
moq-noq-proto = { version = "1.3.2", default-features = false }
moq-noq-udp = "1.3.2"
# NVENC bindings, forked from ViliamVadocz/nvidia-video-codec-sdk to dlopen the
# driver at runtime. Compiles on any platform (macOS included) but only actually
# used by moq-video on Linux.
Expand Down Expand Up @@ -234,7 +234,7 @@ web-transport-iroh = "0.7"
# default-features off so the QUIC crypto provider is chosen by moq-tokio's
# aws-lc-rs / ring features.
# The WebTransport adapter released with moq-noq, from the same repository.
web-transport-moq = { version = "1.3.1", default-features = false }
web-transport-moq = { version = "1.3.2", default-features = false }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Mark the bundled raw-close fix complete

This upgrade also carries noq#11, but quest/m1/close-codes.md:21-23 still presents the raw QUIC ApplicationClosed mapping as unfinished work, while quest/m1/raw-stream-codes.md:18-20 already says noq#11 fixed it. Update the close-code quest to distinguish the completed noq portion from the remaining qmux work so a future quest owner does not redo or wait on an already released fix.

AGENTS.md reference: AGENTS.md:L28-L28

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, fixed in 6a9e856: the close-codes quest now marks the noq#11 half as released in 1.3.2.

(Written by Opus 5.5)

web-transport-proto = "0.6"
web-transport-trait = "0.4"
web-transport-wasm = "0.6"
Expand Down
1 change: 0 additions & 1 deletion quest/m1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ transport, benchmark tooling); worktrees isolate commits, not semantics.
## Quests

- [Drill sensitivity](/quest/m1/drill-sensitivity.md) - the nightly drill-sensitivity job passes: the subscriber-leaks-broadcasts mutation applies to the current lite subscriber again
- [BBR classic ECN](/quest/m1/bbr-classic-ecn.md) - Startup and bandwidth probing respond to CE marks before the bottleneck drops packets
- [Cluster routing](/quest/m1/cluster-routing.md) - an announcement says where a broadcast originates, not how to reach it, and a relay hears only the prefixes its clients asked for
- [lite-07 count settle](/quest/m1/lite-count-settle.md) - moq-lite-07 subscribers stop waiting for a subscription's tail once SUBSCRIBE_END's stream count is reached
- [Dropped sources](/quest/m1/dropped-sources.md) - track consumers see the producer's real error on every end path, never `Dropped`
Expand Down
1 change: 0 additions & 1 deletion quest/m1/bbr-ack-cleanup.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,5 @@ is needed.

## Related

- [Classic ECN](/quest/m1/bbr-classic-ecn.md) - an independent correctness fix in the same controller; coordinate ownership of the shared file
- [Loss sampling](/quest/m1/quic/bbr-loss-parity.md) - preserve packet metadata needed by the separate loss-sample repair
- [Benchmark comparisons](/quest/m1/performance-comparisons.md) - reusable measurement guidance, not a prerequisite for this fix
61 changes: 0 additions & 61 deletions quest/m1/bbr-classic-ecn.md

This file was deleted.

5 changes: 2 additions & 3 deletions quest/m1/close-codes.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@ Both bugs are upstream; fix them at the source, release, and bump the pins.
`accept_bi` also return a bare `Closed`. Make the first close win, make
`close()` a no-op once closed, and have `accept_*` return the recorded
reason. Add a qmux test where APPLICATION_CLOSE and EOF arrive together.
- `web-transport-moq` 1.3.1 (`moq-dev/noq`) maps `ApplicationClosed` only
through the HTTP/3 code space in `error.rs`, so a raw `moqt://` code yields
no `session_error()`. Map raw QUIC codes directly.
- `web-transport-moq` 1.3.2 (`moq-dev/noq#11`) maps a raw `moqt://` peer's
`ApplicationClosed` code directly. Done; only the regression below remains.
- moq-net's `close(Internal)` after a transport error is correct: closing a
closed connection does nothing. Do not work around it here.
- One moq-tokio regression runs the issue's three cases (abort after accept,
Expand Down
7 changes: 2 additions & 5 deletions quest/m1/quic/ecn-measure.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ A manual procedure on Linux, run as root, with the commands and what to
record written here so the dualpi2 run and any later provider re-check
repeat it.

Use the released [classic BBR ECN fix](/quest/m1/bbr-classic-ecn.md) for the
Use moq-noq 1.3.2 or later, which carries the classic BBR CE response
([moq-dev/noq#12](https://github.com/moq-dev/noq/pull/12)), for the
controller-response verdict and record the exact dependency version. Provider
mark-survival captures alone do not establish a controller response; a result
from 1.3.1 is a defective baseline, not evidence that classic ECN cannot help.
Expand All @@ -35,7 +36,3 @@ from 1.3.1 is a defective baseline, not evidence that classic ECN cannot help.
and the tcpdump summaries beside the numbers in the L4S quest's Plan.
If neither provider preserves the marks, say so there: L4S stays off and
the marking response is only a lab result.

## Required

- [Classic BBR ECN](/quest/m1/bbr-classic-ecn.md) - the final response verdict needs the corrected released controller
7 changes: 3 additions & 4 deletions quest/m2/quic-ecn.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ marks fall back to no ECN, and a viewer's session is unaffected.

## Plan

ECT(0) marking and ACK ECN counts are carried end to end, but BBR's
[classic CE response](/quest/m1/bbr-classic-ecn.md) must be corrected before
it is used as the baseline. This quest adds the scalable policy separately.
ECT(0) marking and ACK ECN counts are carried end to end, and BBR's classic
CE response ([moq-dev/noq#12](https://github.com/moq-dev/noq/pull/12), in
moq-noq 1.3.2) is the baseline. This quest adds the scalable policy separately.
noq-proto has no ECN knob: `sending_ecn` starts on per path and validation
failure or an ACK without counts turns it off, so both `off` and `ect1`
need the fork.
Expand All @@ -35,6 +35,5 @@ need the fork.

## Required

- [Classic BBR ECN](/quest/m1/bbr-classic-ecn.md) - establish a corrected released classic response before comparing L4S
- [Measure ECN on the backbone](/quest/m1/quic/ecn-measure.md) - the
provider verdict this quest acts on
Loading