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 5,767 Lines • ▼ Show 20 Lines | #endif | ||||
} else { | } else { | ||||
/* | /* | ||||
* XXX: Due to the header drop above "th" is | * XXX: Due to the header drop above "th" is | ||||
* theoretically invalid by now. Fortunately | * theoretically invalid by now. Fortunately | ||||
* m_adj() doesn't actually frees any mbufs when | * m_adj() doesn't actually frees any mbufs when | ||||
* trimming from the head. | * trimming from the head. | ||||
*/ | */ | ||||
tcp_seq temp = save_start; | tcp_seq temp = save_start; | ||||
tp->t_flags |= TF_DELACK; | |||||
thflags = tcp_reass(tp, th, &temp, &tlen, m); | thflags = tcp_reass(tp, th, &temp, &tlen, m); | ||||
tp->t_flags &= ~TF_DELACK; | |||||
tp->t_flags |= TF_ACKNOW; | tp->t_flags |= TF_ACKNOW; | ||||
} | } | ||||
if ((tp->t_flags & TF_SACK_PERMIT) && (save_tlen > 0)) { | if ((tp->t_flags & TF_SACK_PERMIT) && (save_tlen > 0)) { | ||||
if ((tlen == 0) && (SEQ_LT(save_start, save_rnxt))) { | if ((tlen == 0) && (SEQ_LT(save_start, save_rnxt))) { | ||||
/* | /* | ||||
* DSACK actually handled in the fastpath | * DSACK actually handled in the fastpath | ||||
* above. | * above. | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 4,788 Lines • Show Last 20 Lines |