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

TLP doesn't change the congestion window #1075

Closed
martinthomson opened this issue Jan 29, 2018 · 3 comments
Closed

TLP doesn't change the congestion window #1075

martinthomson opened this issue Jan 29, 2018 · 3 comments
Labels
-recovery editorial An issue that does not affect the design of the protocol; does not require consensus.

Comments

@martinthomson
Copy link
Member

If recovery sends a tail loss probe, no change is made to the congestion window.

-- Section 4.4

Does this mean that the TLP doesn't count towards bytes_in_flight? Though it's probably not a problem in this case given that nothing has been sent for a while, another exemption is annoying.

Since that interpretation is directly in conflict with the next sentence, I think that this sentence is just unclear about intent (TLP isn't special when it comes to its sending and handling, the only special handling is in deciding to send a TLP packet - and maybe what you put in that packet).

@martinthomson martinthomson added editorial An issue that does not affect the design of the protocol; does not require consensus. -recovery labels Jan 29, 2018
@yangchi
Copy link

yangchi commented Jan 31, 2018

Does this mean that the TLP doesn't count towards bytes_in_flight?

This is answered by section 3.1.1:

A TLP packet MUST NOT be blocked by the sender’s congestion controller. The sender MUST however count these bytes as additional bytes in flight, since a TLP adds network load without establishing packet loss.

OTOH, I think as an implementer I'd like to have some leeway on this. MUST might be too strong.

@ianswett
Copy link
Contributor

@martinthomson would it be clearer if I changed it to: "If recovery sends a tail loss probe, no change is made to the congestion window, but the packet does increase bytes_in_flight." ?

I can't see a reason not to count it towards bytes in flight, so I chose MUST. Can you think of reasons to change this to a SHOULD?

@yangchi
Copy link

yangchi commented Jan 31, 2018

@ianswett : never mind about the "MUST being too strong". I was thinking that for a short moment after I send out a TLP packet, if an ACK comes back and acking all packets before TLP, but not TLP, I'm only allowed to send congestion_window - bytes_in_flight number of bytes, while bytes_in_flight still holds the TLP bytes. But now i realize that's the way it was intended. (There might be a case that after onRetransmissionTimeoutVerified, congestion_window drops to a small value, but not everything in bytes_in_flight will be cleared up, but that's a different issue (#935 ).)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-recovery editorial An issue that does not affect the design of the protocol; does not require consensus.
Projects
None yet
Development

No branches or pull requests

3 participants