diff options
-rw-r--r-- | sys/netinet/tcp_input.c | 9 | ||||
-rw-r--r-- | sys/netinet/tcp_reass.c | 9 |
2 files changed, 10 insertions, 8 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 1784551..c10a94c 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -1102,8 +1102,6 @@ after_listen: if (tp->sack_enable) { /* Delete stale (cumulatively acked) SACK holes */ tcp_del_sackholes(tp, th); - tp->rcv_laststart = th->th_seq; /* last recv'd segment*/ - tp->rcv_lastend = th->th_seq + tlen; } /* @@ -2297,8 +2295,11 @@ dodata: /* XXX */ thflags = tcp_reass(tp, th, &tlen, m); tp->t_flags |= TF_ACKNOW; } - if (tp->sack_enable) - tcp_update_sack_list(tp); + if (tp->sack_enable) { + tp->rcv_laststart = th->th_seq; /* last recv'd segment*/ + tp->rcv_lastend = th->th_seq + tlen; + tcp_update_sack_list(tp); + } /* * Note the amount of data that peer has sent into * our window, in order to estimate the sender's diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c index 1784551..c10a94c 100644 --- a/sys/netinet/tcp_reass.c +++ b/sys/netinet/tcp_reass.c @@ -1102,8 +1102,6 @@ after_listen: if (tp->sack_enable) { /* Delete stale (cumulatively acked) SACK holes */ tcp_del_sackholes(tp, th); - tp->rcv_laststart = th->th_seq; /* last recv'd segment*/ - tp->rcv_lastend = th->th_seq + tlen; } /* @@ -2297,8 +2295,11 @@ dodata: /* XXX */ thflags = tcp_reass(tp, th, &tlen, m); tp->t_flags |= TF_ACKNOW; } - if (tp->sack_enable) - tcp_update_sack_list(tp); + if (tp->sack_enable) { + tp->rcv_laststart = th->th_seq; /* last recv'd segment*/ + tp->rcv_lastend = th->th_seq + tlen; + tcp_update_sack_list(tp); + } /* * Note the amount of data that peer has sent into * our window, in order to estimate the sender's |