Skip to main content

4. Implementation Notes and Guidelines

Implementations need a conservative definition of path equivalence. They should observe path capacity from acknowledged data, save a minimum RTT, and age out retained CC parameters using Lifetime.

The Reconnaissance Phase should confirm that the current path resembles the saved path before the sender uses saved_cwnd. The sender should be careful with local signals such as address change, interface change, routing change, DSCP change, and RTT reduction. A current RTT much larger than saved_rtt, for example current RTT > saved_rtt x 10, can also indicate variable network conditions or path change.

In the Unvalidated Phase, pacing is required because a sudden burst at jump_cwnd could harm other flows. Implementations also need to limit the lifetime of saved parameters and exit when network conditions vary.

When using Safe Retreat, the implementation deletes saved information, reduces CWND, continues loss recovery, keeps CWND from growing during the phase, and sets ssthresh conservatively on exit. Transport protocols can limit or shape how Careful Resume is applied.

For BBR, Appendix C describes how to send unvalidated packets, validate delivery, and retreat safely. If the carefully-resuming flag is True, any delivery rates measured in the Drain state MUST be discarded.