Page MenuHomeFreeBSD

D35862.id108802.diff
No OneTemporary

D35862.id108802.diff

diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -12610,14 +12610,11 @@
rsm->r_rtr_bytes = 0;
if (tp->t_flags & TF_SENTFIN)
rsm->r_flags |= RACK_HAS_FIN;
- rsm->r_end = tp->snd_max;
- if (tp->snd_una == tp->iss) {
- /* The data space is one beyond snd_una */
+ if ((tp->snd_una == tp->iss) &&
+ !TCPS_HAVEESTABLISHED(tp->t_state))
rsm->r_flags |= RACK_HAS_SYN;
- rsm->r_start = tp->iss;
- rsm->r_end = rsm->r_start + (tp->snd_max - tp->snd_una);
- } else
- rsm->r_start = tp->snd_una;
+ rsm->r_start = tp->snd_una;
+ rsm->r_end = tp->snd_max;
rsm->r_dupack = 0;
if (rack->rc_inp->inp_socket->so_snd.sb_mb != NULL) {
rsm->m = sbsndmbuf(&rack->rc_inp->inp_socket->so_snd, 0, &rsm->soff);

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 12, 11:53 PM (45 m, 2 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23626691
Default Alt Text
D35862.id108802.diff (831 B)

Event Timeline