[roll] Roll fuchsia [packet-formats] TCP Options Parsing/Serialization

Migrate the implementation of parsing and serializing of TCP Options off
of the "Records" framework. Benchmarks have revealed performance issues
with that framework, and a handrolled implementation of
parsing/serialization can be far more efficient when TCP options are in
use. This performance difference is particularly noticeable when a
connection uses the TCP Timestamp feature, as such connections have
options present in every segment.

From perfcompare, this change:
* Parsing with TCP Options (between a 1% & 5% improvement)
* Serialization with TCP Options (between a 0% & 17% improvement)
* Parsing without TCP Options (between a 1% improvement and a 2%
  regression)
* Serialization without TCP Options (between a 10% improvement and an 8%
  regression)

Original-Bug: 462085360.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1430375
Original-Revision: 021bbf6d38f7de1ba2e354b2dbba9821ead583fe
GitOrigin-RevId: 7c56e97bb1b66b6ddd702ebaf96250d1d0624c42
Change-Id: I161ffdbeb5aef8d9d03dd67de956bb87378e3ccd
1 file changed
tree: 227dd469f7efab1f217dd72ed64296998c0e72bc
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. 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.