Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_input.c
Show First 20 Lines • Show All 3,351 Lines • ▼ Show 20 Lines | #endif | ||||
/* tcp_respond consumes the mbuf chain. */ | /* tcp_respond consumes the mbuf chain. */ | ||||
if (th->th_flags & TH_ACK) { | if (th->th_flags & TH_ACK) { | ||||
tcp_respond(tp, mtod(m, void *), th, m, (tcp_seq)0, | tcp_respond(tp, mtod(m, void *), th, m, (tcp_seq)0, | ||||
th->th_ack, TH_RST); | th->th_ack, TH_RST); | ||||
} else { | } else { | ||||
if (th->th_flags & TH_SYN) | if (th->th_flags & TH_SYN) | ||||
tlen++; | tlen++; | ||||
if (th->th_flags & TH_FIN) | |||||
tlen++; | |||||
tcp_respond(tp, mtod(m, void *), th, m, th->th_seq+tlen, | tcp_respond(tp, mtod(m, void *), th, m, th->th_seq+tlen, | ||||
(tcp_seq)0, TH_RST|TH_ACK); | (tcp_seq)0, TH_RST|TH_ACK); | ||||
} | } | ||||
return; | return; | ||||
drop: | drop: | ||||
m_freem(m); | m_freem(m); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 553 Lines • Show Last 20 Lines |