TH_ACK
(TH_SYN|TH_ACK|TH_FIN|TH_RST) : 0);
pfr.rule.flagset = (TH_SYN|TH_ACK);
TH_RST|TH_ACK, 0, 0, 0, 1, cur->tag, NULL, NULL);
if (f & TH_ACK)
ntohl(th->th_ack), ack, TH_RST|TH_ACK, 0, 0,
if ((th->th_flags & (TH_SYN|TH_ACK)) ==
(th->th_flags & (TH_SYN|TH_ACK)) == TH_SYN &&
TH_SYN|TH_ACK, 0, s->src.mss, 0, 1, 0, NULL, NULL);
TH_SYN|TH_ACK, 0, (*state)->src.mss, 0, 1,
} else if (!(th->th_flags & TH_ACK) ||
if (((th->th_flags & (TH_SYN|TH_ACK)) != TH_ACK) ||
} else if (((th->th_flags & (TH_SYN|TH_ACK)) !=
(TH_SYN|TH_ACK)) ||
TH_ACK, (*state)->src.max_win, 0, 0, 0,
TH_ACK, (*state)->dst.max_win, 0, 0, 1,
if ((th->th_flags & TH_ACK) == 0) {
(th->th_flags & (TH_ACK|TH_RST)) == (TH_ACK|TH_RST)) ||
if (th->th_flags & TH_ACK) {
if ((th.th_flags & TH_ACK) && pd.p_len == 0)
if (!(flags & (TH_ACK|TH_RST)))
if (!(flags & TH_ACK)) {
if ((tcp->th_flags & (TH_SYN|TH_ACK)) != TH_SYN)
if (tcp.th_flags & TH_ACK)
th->th_flags = TH_ACK | TH_RST;
CTASSERT(TH_ACK == 0x10);
i = (tcpfl & (TH_SYN | TH_FIN)) | ((tcpfl & TH_ACK) >> 2);
if ((tcpfl & TH_ACK) == 0) {
} else if ((tcpfl & (TH_ACK|TH_RST)) == (TH_ACK|TH_RST) && ack == 0) {
if ((th->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_ACK)) != TH_ACK)
TH_RST|TH_ACK, /* CLOSED */
TH_SYN|TH_ACK, /* SYN_RCVD */
TH_ACK, /* ESTABLISHED */
TH_ACK, /* CLOSE_WAIT */
TH_FIN|TH_ACK, /* FIN_WAIT_1 */
TH_FIN|TH_ACK, /* CLOSING */
TH_FIN|TH_ACK, /* LAST_ACK */
TH_ACK, /* FIN_WAIT_2 */
TH_ACK, /* TIME_WAIT */
if ((tiflags & TH_ACK) == 0) {
(void)tcp_respond(0, m, m, th, th->th_seq + tlen, th->th_ack, TH_ACK);
if (tiflags & TH_ACK) {
TH_RST|TH_ACK);
(tiflags & (TH_RST|TH_ACK|TH_SYN)) == TH_SYN) {
(tiflags & (TH_RST|TH_ACK|TH_SYN)) == TH_SYN) {
if ((tiflags & (TH_RST|TH_ACK|TH_SYN)) != TH_SYN) {
} else if ((tiflags & (TH_ACK|TH_SYN)) ==
(TH_ACK|TH_SYN)) {
} else if (tiflags & TH_ACK) {
(tiflags & (TH_SYN|TH_FIN|TH_RST|TH_URG|TH_ECE|TH_CWR|TH_ACK))
== TH_ACK &&
if ((tiflags & TH_ACK) &&
if (tiflags & TH_ACK)
if (tiflags & TH_ACK) {
if (tiflags & TH_ACK) {
if ((tiflags & TH_ACK) &&
TH_ACK);
if ((tiflags & TH_ACK) == 0) {
if ((tiflags & TH_ACK) && (SEQ_LT(tp->snd_wl1, th->th_seq) ||
if (tiflags & TH_ACK) {
TH_RST|TH_ACK);
((flags & TH_ACK) == 0 ||
((flags & (TH_SYN|TH_ACK)) == TH_SYN ||
if (!TCP_SACK_ENABLED(tp) || ((th->th_flags & TH_ACK) == 0) ||
flags = TH_ACK;
th->th_flags = TH_SYN|TH_ACK;
npfctl_bpf_tcpfl(bc, TH_SYN, TH_SYN | TH_ACK | TH_FIN | TH_RST);
case 'A': tfl |= TH_ACK; break;
if (tfl & TH_ACK) buf[i++] = 'A';
#define A TH_ACK
forw ? ">" : "<", (th->th_flags & (TH_SYN | TH_ACK | TH_FIN)),
pf(TH_ACK, "ACK");