History

tcp: TLP loss detection.

This is the second of the TLP patch series; it augments the basic TLP algorithm with a loss detection scheme. This patch implements a mechanism for loss detection when a Tail loss probe retransmission plugs a hole thereby masking packet loss from the sender. The loss detection algorithm relies on counting TLP dupacks as outlined in Sec. 3 of: http://tools.ietf.org/html/draft-dukkipati-tcpm-tcp-loss-probe-01 The basic idea is: Sender keeps track of TLP "episode" upon retransmission of a TLP packet. An episode ends when the sender receives an ACK above the SND.NXT (tracked by tlp_high_seq) at the time of the episode. We want to make sure that before the episode ends the sender receives a "TLP dupack", indicating that the TLP retransmission was unnecessary, so there was no loss/hole that needed plugging. If the sender gets no TLP dupack before the end of the episode, then it reduces ssthresh and the congestion window, because the TLP packet arriving at the receiver probably plugged a hole.

Nandita Dukkipati committed 13 years ago

Commit 9b717a81 parent 6ba8a3b7 files · +54 −0Browse files

Showing the changes to include/uapi/linux (1 of 7 files). Show all

Unified · Split

include/uapi/linux/snmp.h+1−0
@@ -203,6 +203,7 @@ enum · 202 unmodified lines
203 LINUX_MIB_TCPSLOWSTARTRETRANS, /* TCPSlowStartRetrans */203 LINUX_MIB_TCPSLOWSTARTRETRANS, /* TCPSlowStartRetrans */
204 LINUX_MIB_TCPTIMEOUTS, /* TCPTimeouts */204 LINUX_MIB_TCPTIMEOUTS, /* TCPTimeouts */
205 LINUX_MIB_TCPLOSSPROBES, /* TCPLossProbes */205 LINUX_MIB_TCPLOSSPROBES, /* TCPLossProbes */
206 LINUX_MIB_TCPLOSSPROBERECOVERY, /* TCPLossProbeRecovery */
206 LINUX_MIB_TCPRENORECOVERYFAIL, /* TCPRenoRecoveryFail */207 LINUX_MIB_TCPRENORECOVERYFAIL, /* TCPRenoRecoveryFail */
207 LINUX_MIB_TCPSACKRECOVERYFAIL, /* TCPSackRecoveryFail */208 LINUX_MIB_TCPSACKRECOVERYFAIL, /* TCPSackRecoveryFail */
208 LINUX_MIB_TCPSCHEDULERFAILED, /* TCPSchedulerFailed */209 LINUX_MIB_TCPSCHEDULERFAILED, /* TCPSchedulerFailed */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t