HomeFreeBSD

- Estimate the amount of data in flight in sack recovery and use it
Concern RaisedrS136151Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

  • Estimate the amount of data in flight in sack recovery and use it to control the packets injected while in sack recovery (for both retransmissions and new data).
  • Cleanups to the sack codepaths in tcp_output.c and tcp_sack.c.
  • Add a new sysctl (net.inet.tcp.sack.initburst) that controls the number of sack retransmissions done upon initiation of sack recovery.

Submitted by: Mohan Srinivasan <mohans@yahoo-inc.com>

Details

Auditors
rscheff
Provenance
psAuthored on
Parents
rS136150: Add a critical section in turnstile_unpend() from before dropping the
Branches
Unknown
Tags
Unknown

Event Timeline

rscheff added a subscriber: rscheff.

The variable sack_newdata really is "RecoveryPoint" in RFC3517/RFC6675 when in SACK context, while RFC3782 calls this "recover" in the NewReno context.

However, this variable really tracks the same point in the sequence space, which is the value of snd_max when initiating FastRecovery. And that is true for both NewReno and SACK.

It makes no sense to track the same variable, for the same purpose, under two different names in TCPCB.

Suggest to replace all uses of sack_newdata with snd_recover.

This commit now has outstanding concerns.Dec 24 2018, 1:02 AM