Changeset View
Changeset View
Standalone View
Standalone View
rack.c
Context not available. | |||||
rack = (struct tcp_rack *)tp->t_fb_ptr; | rack = (struct tcp_rack *)tp->t_fb_ptr; | ||||
INP_WLOCK_ASSERT(tp->t_inpcb); | INP_WLOCK_ASSERT(tp->t_inpcb); | ||||
nsegs = max(1, m->m_pkthdr.lro_nsegs); | nsegs = max(1, m->m_pkthdr.lro_nsegs); | ||||
if ((thflags & TH_ACK) && | if ((thflags & TH_ACK) && | ||||
(SEQ_LT(tp->snd_wl1, th->th_seq) || | (SEQ_LT(tp->snd_wl1, th->th_seq) || | ||||
Context not available. | |||||
/* Make sure we output to start the timer */ | /* Make sure we output to start the timer */ | ||||
rack->r_wanted_output++; | rack->r_wanted_output++; | ||||
} | } | ||||
if (tp->t_flags2 & TF2_DROP_AF_DATA) { | |||||
m_freem(m); | |||||
return (0); | |||||
} | |||||
/* | /* | ||||
* Process segments with URG. | * Process segments with URG. | ||||
*/ | */ | ||||
Context not available. |