[roll] Roll fuchsia [netstack3] Update TCP CUBIC to RFC 9438

The TCP CUBIC Specification has been updated from RFC 8312 to RFC 9438.
In practice, most of the algorithm is unchanged, however there are a few
key differences:
* When updating the cwnd with the cubic_window function, the target is
  clamped to between 1 and 1.5 cwnds. This adds an upperbound to the
  growth rate.
* The TCP-Friendly Region defined in RFC 8312 was renamed to the
  Reno-Friendly Region. It aspires to compute a cwnd equivalent to Reno
  Congestion Control.
* The equation used to calculate w_est in the Reno-Friendly region
  changed in two ways: 1) It is now based on ACKed segments rather than
  elapsed time, and 2) the ALPHA_CUBIC parameter is set to 1.0 when
  w_est >= cwnd_prior. When this is true, cwnd growth is more aggressive
  in the Reno-friendly region than it would have been in the
  TCP-Friendly Region from RFC 8312. This brings the algorithm closer
  inline with true Reno Congestion Control.
* When reducing `cwnd` and `ssthresh` in response to a congestion event,
  the multiplicative decrease is based on `flight_size` based on `cwnd`.
  The `flight_size` is the amount of data sent but not yet acknowledged,
  which is semantically equivalent to the `pipe` tracked by SACK.

The rest of the diff in the CL is cosmetic changes: Updating RFC
citations & reflowing code.

Original-Original-Fixed: 404908966
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1614548
Original-Original-Revision: 8457d80713d4be559c8d7088dffda830f750c10f
GitOrigin-RevId: beef7f56cc9c66a77de5e011c51fe88bc7b7366c
Change-Id: Ifb6e29ab93f632f547e301e0b0ab788df194967a
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1678869
Cr-Commit-Position: refs/heads/main@{#195535}
1 file changed
tree: 248d55a5cb41b8abe456062791b71efdaa8cebf5
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.