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

Change PTO to be per packet number space #3066

Merged
merged 28 commits into from Nov 5, 2019
Merged
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
f7f22f9
Change PTO to be per packet number space
ianswett Sep 24, 2019
c551041
Update draft-ietf-quic-recovery.md
ianswett Sep 24, 2019
3abb835
Update draft-ietf-quic-recovery.md
ianswett Sep 24, 2019
33c994e
Merge branch 'master' into ianswett-pto-per-pn-space
ianswett Oct 24, 2019
6c3ae35
Update draft-ietf-quic-recovery.md
ianswett Oct 24, 2019
3f0da81
Update draft-ietf-quic-recovery.md
ianswett Oct 24, 2019
62e394f
Update draft-ietf-quic-recovery.md
ianswett Oct 24, 2019
8af3d28
Update draft-ietf-quic-recovery.md
ianswett Oct 24, 2019
49a2833
Update draft-ietf-quic-recovery.md
ianswett Oct 24, 2019
054fae1
Update draft-ietf-quic-recovery.md
ianswett Oct 24, 2019
2140c28
Martin's suggestion
ianswett Oct 24, 2019
69afe42
Marten's comment
ianswett Oct 25, 2019
1c9886e
Marten's pseudocode
ianswett Oct 25, 2019
a87a04c
line wrapping
ianswett Oct 25, 2019
545e788
Define loss_times
ianswett Oct 28, 2019
a00c475
Exponential backoff limits the packets sent
ianswett Oct 28, 2019
5e81481
Update draft-ietf-quic-recovery.md
ianswett Oct 28, 2019
ed8750a
Don't arm PTO for ApplicationData until complete
ianswett Oct 29, 2019
6322d36
Initial and Handshake have no max_ack_delay
ianswett Oct 29, 2019
45bf06c
Update draft-ietf-quic-recovery.md
ianswett Oct 29, 2019
34e3d61
Martin Duke's suggestions
ianswett Oct 29, 2019
54e26e7
Update draft-ietf-quic-recovery.md
ianswett Oct 29, 2019
d0e6996
Update draft-ietf-quic-recovery.md
ianswett Oct 31, 2019
50f6701
loss_times -> loss_time
ianswett Oct 31, 2019
355d1e5
Merge branch 'master' into ianswett-pto-per-pn-space
ianswett Nov 1, 2019
cff00e0
1 loss_times -> loss_time
ianswett Nov 1, 2019
7b29c66
Reword an awkward sentence
ianswett Nov 2, 2019
6e902d3
Jana's comments
ianswett Nov 5, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 4 additions & 4 deletions draft-ietf-quic-recovery.md
Expand Up @@ -524,10 +524,10 @@ removed from bytes in flight when the Initial and Handshake keys are discarded.
### Sending Probe Packets

When a PTO timer expires, a sender MUST send at least one ack-eliciting packet
in the packet number space as a probe, unless there is no data available to send.
An endpoint MAY send up to two full-sized datagrams containing ack-eliciting
packets, to avoid an expensive consecutive PTO expiration due to a single lost
datagram.
in the packet number space as a probe, unless there is no data available to
send. An endpoint MAY send up to two full-sized datagrams containing
ack-eliciting packets, to avoid an expensive consecutive PTO expiration due
Copy link
Member

Choose a reason for hiding this comment

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

I think that we can drop the "containing ack-eliciting packets" here, it's redundant with the first sentence.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's mostly redundant, but if there are two packets, this makes it clear they have to be ack-eliciting. This didn't change as part of this PR, FWIW.

to a single lost datagram.
Copy link
Member

Choose a reason for hiding this comment

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

Confirmation question: does this mean that we'd be permitting more datagrams to be sent in effectively one PTO, when multiple packet number spaces are involved?

Consider the case where the PTO is armed for both the Handshake packet number space and the 1-RTT packet number space. Now that we have a PTO timer for each of the packet number space, we'd see both of them firing, and the text reads that an endpoint is allowed to send two datagrams for each.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, I updated the PR to try to limit the number of packets sent when implementations did not coalesce.


In addition to sending data in the packet number space for which the timer
expired, the sender SHOULD coalesce ack-eliciting packets from all other packet
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this necessarily "all" spaces?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

'all' removed, since coalescing 2 is sufficient.

Expand Down