Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_stacks/rack.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 12,291 Lines • ▼ Show 20 Lines | #endif | ||||
* | * | ||||
* In the normal retransmit-FIN-only case, however, snd_nxt will be | * In the normal retransmit-FIN-only case, however, snd_nxt will be | ||||
* set to snd_una, the sb_offset will be 0, and the length may wind | * set to snd_una, the sb_offset will be 0, and the length may wind | ||||
* up 0. | * up 0. | ||||
* | * | ||||
* If sack_rxmit is true we are retransmitting from the scoreboard | * If sack_rxmit is true we are retransmitting from the scoreboard | ||||
* in which case len is already set. | * in which case len is already set. | ||||
*/ | */ | ||||
if ((sack_rxmit == 0) && TCPS_HAVEESTABLISHED(tp->t_state)) { | if ((sack_rxmit == 0) && | ||||
(TCPS_HAVEESTABLISHED(tp->t_state) || IS_FASTOPEN(tp->t_flags))) { | |||||
uint32_t avail; | uint32_t avail; | ||||
avail = sbavail(sb); | avail = sbavail(sb); | ||||
if (SEQ_GT(tp->snd_nxt, tp->snd_una) && avail) | if (SEQ_GT(tp->snd_nxt, tp->snd_una) && avail) | ||||
sb_offset = tp->snd_nxt - tp->snd_una; | sb_offset = tp->snd_nxt - tp->snd_una; | ||||
else | else | ||||
sb_offset = 0; | sb_offset = 0; | ||||
if ((IN_FASTRECOVERY(tp->t_flags) == 0) || rack->rack_no_prr) { | if ((IN_FASTRECOVERY(tp->t_flags) == 0) || rack->rack_no_prr) { | ||||
▲ Show 20 Lines • Show All 2,670 Lines • Show Last 20 Lines |