Lines Matching refs:p

65 	const struct tcphdr* tcph = pctx->p.tcph;  in HandleActiveOpen()
67 cur_stream->rcvvar->irs = pctx->p.seq; in HandleActiveOpen()
68 cur_stream->snd_nxt = pctx->p.ack_seq; in HandleActiveOpen()
69 cur_stream->sndvar->peer_wnd = pctx->p.window; in HandleActiveOpen()
72 cur_stream->rcvvar->last_ack_seq = pctx->p.ack_seq; in HandleActiveOpen()
73 ParseTCPOptions(cur_stream, pctx->p.cur_ts, (uint8_t *)tcph + TCP_HEADER_LEN, in HandleActiveOpen()
79 UpdateRetransmissionTimer(mtcp, cur_stream, pctx->p.cur_ts); in HandleActiveOpen()
91 const struct tcphdr* tcph = pctx->p.tcph; in ValidateSequence()
112 pctx->p.seq, ts.ts_val, cur_stream->rcvvar->ts_recent); in ValidateSequence()
121 TS_TO_USEC(pctx->p.cur_ts - cur_stream->rcvvar->ts_last_ts_upd)); in ValidateSequence()
122 cur_stream->rcvvar->ts_last_ts_upd = pctx->p.cur_ts; in ValidateSequence()
131 if (!TCP_SEQ_BETWEEN(pctx->p.seq + pctx->p.payloadlen, cur_stream->rcv_nxt, in ValidateSequence()
140 if (pctx->p.seq + 1 == cur_stream->rcv_nxt) { in ValidateSequence()
142 pctx->p.seq, cur_stream->rcvvar->rcv_wnd); in ValidateSequence()
148 if (TCP_SEQ_LEQ(pctx->p.seq, cur_stream->rcv_nxt)) { in ValidateSequence()
157 AddtoTimewaitList(mtcp, cur_stream, pctx->p.cur_ts); in ValidateSequence()
196 if (pctx->p.seq == 0 || in ProcessRST()
198 pctx->p.seq == cur_stream->rcv_nxt + 1 || in ProcessRST()
200 pctx->p.ack_seq == cur_stream->snd_nxt) in ProcessRST()
210 cur_stream->rcv_nxt + 1, pctx->p.ack_seq); in ProcessRST()
308 const struct tcphdr* tcph = pctx->p.tcph; in ProcessACK()
309 uint32_t seq = pctx->p.seq; in ProcessACK()
310 uint32_t ack_seq = pctx->p.ack_seq; in ProcessACK()
318 cwindow = pctx->p.window; in ProcessACK()
344 if (TCP_SEQ_GT(seq + pctx->p.payloadlen, cur_stream->rcv_nxt)) in ProcessACK()
345 cur_stream->rcv_nxt = seq + pctx->p.payloadlen; in ProcessACK()
384 if (ack_seq == cur_stream->rcvvar->last_ack_seq && pctx->p.payloadlen == 0) { in ProcessACK()
486 pctx->p.cur_ts - cur_stream->rcvvar->ts_lastack_rcvd); in ProcessACK()
538 UpdateRetransmissionTimer(mtcp, cur_stream, pctx->p.cur_ts); in ProcessACK()
560 if (TCP_SEQ_LT(pctx->p.seq + pctx->p.payloadlen, cur_stream->rcv_nxt)) in ProcessTCPPayload()
570 if (TCP_SEQ_GT(pctx->p.seq + pctx->p.payloadlen, cur_stream->rcv_nxt + rcvvar->rcv_wnd)) { in ProcessTCPPayload()
613 loff_t off = seq2loff(rb, pctx->p.seq, (rcvvar->irs + 1)); in ProcessTCPPayload()
625 int fflen = tcprb_fflen(rb, pctx->p.payload, pctx->p.payloadlen, off); in ProcessTCPPayload()
648 ret = tcprb_pwrite(rb, pctx->p.payload, pctx->p.payloadlen, off); in ProcessTCPPayload()
688 cur_stream->id, pctx->p.payloadlen, in ProcessTCPPayload()
704 const struct tcphdr* tcph = pctx->p.tcph; in Handle_TCP_ST_LISTEN()
720 cur_stream->rcv_nxt = pctx->p.seq; in Handle_TCP_ST_LISTEN()
733 const struct tcphdr* tcph = pctx->p.tcph; in Handle_TCP_ST_SYN_SENT()
738 if (TCP_SEQ_LEQ(pctx->p.ack_seq, cur_stream->sndvar->iss) in Handle_TCP_ST_SYN_SENT()
740 || TCP_SEQ_GT(pctx->p.ack_seq, cur_stream->snd_nxt) in Handle_TCP_ST_SYN_SENT()
783 cur_stream->rcv_nxt = pctx->p.seq; in Handle_TCP_ST_SYN_SENT()
827 const struct tcphdr* tcph = pctx->p.tcph; in Handle_TCP_ST_SYN_RCVD()
837 cur_stream->snd_nxt = pctx->p.ack_seq; in Handle_TCP_ST_SYN_RCVD()
853 if (pctx->p.ack_seq != sndvar->iss + 1) in Handle_TCP_ST_SYN_RCVD()
889 if (pctx->p.seq == cur_stream->pair_stream->sndvar->iss) { in Handle_TCP_ST_SYN_RCVD()
891 pctx->p.seq, cur_stream->pair_stream->sndvar->iss); in Handle_TCP_ST_SYN_RCVD()
908 const struct tcphdr* tcph = pctx->p.tcph; in Handle_TCP_ST_ESTABLISHED()
914 if (pctx->p.seq == cur_stream->pair_stream->sndvar->iss) { in Handle_TCP_ST_ESTABLISHED()
916 pctx->p.seq, cur_stream->pair_stream->sndvar->iss); in Handle_TCP_ST_ESTABLISHED()
923 cur_stream->id, pctx->p.seq, cur_stream->rcv_nxt, in Handle_TCP_ST_ESTABLISHED()
924 pctx->p.ack_seq, cur_stream->snd_nxt); in Handle_TCP_ST_ESTABLISHED()
925 cur_stream->snd_nxt = pctx->p.ack_seq; in Handle_TCP_ST_ESTABLISHED()
930 if (pctx->p.payloadlen > 0) { in Handle_TCP_ST_ESTABLISHED()
950 TCP_SEQ_GEQ(pctx->p.seq + pctx->p.payloadlen, cur_stream->rcv_nxt) in Handle_TCP_ST_ESTABLISHED()
952 pctx->p.seq + pctx->p.payloadlen == cur_stream->rcv_nxt in Handle_TCP_ST_ESTABLISHED()
956 cur_stream->rcv_nxt = pctx->p.seq + pctx->p.payloadlen; in Handle_TCP_ST_ESTABLISHED()
969 cur_stream->rcv_nxt, pctx->p.seq + pctx->p.payloadlen, in Handle_TCP_ST_ESTABLISHED()
970 pctx->p.seq, pctx->p.payloadlen); in Handle_TCP_ST_ESTABLISHED()
982 if (TCP_SEQ_LT(pctx->p.seq, cur_stream->rcv_nxt)) { in Handle_TCP_ST_CLOSE_WAIT()
985 cur_stream->id, pctx->p.seq, cur_stream->rcv_nxt); in Handle_TCP_ST_CLOSE_WAIT()
999 const struct tcphdr* tcph = pctx->p.tcph; in Handle_TCP_ST_LAST_ACK()
1001 if (TCP_SEQ_LT(pctx->p.seq, cur_stream->rcv_nxt)) { in Handle_TCP_ST_LAST_ACK()
1004 cur_stream->id, pctx->p.seq, cur_stream->rcv_nxt); in Handle_TCP_ST_LAST_ACK()
1019 DumpIPPacket(mtcp, pctx->p.iph, pctx->p.ip_len); in Handle_TCP_ST_LAST_ACK()
1029 if (pctx->p.ack_seq == cur_stream->sndvar->fss + 1) { in Handle_TCP_ST_LAST_ACK()
1032 UpdateRetransmissionTimer(mtcp, cur_stream, pctx->p.cur_ts); in Handle_TCP_ST_LAST_ACK()
1042 cur_stream->id, pctx->p.ack_seq, cur_stream->sndvar->fss + 1); in Handle_TCP_ST_LAST_ACK()
1058 const struct tcphdr* tcph = pctx->p.tcph;
1060 if (TCP_SEQ_LT(pctx->p.seq, cur_stream->rcv_nxt)) {
1064 cur_stream->id, pctx->p.seq, cur_stream->rcv_nxt);
1076 pctx->p.ack_seq == cur_stream->sndvar->fss) ||
1077 pctx->p.ack_seq == cur_stream->sndvar->fss + 1)) {
1081 pctx->p.ack_seq == cur_stream->sndvar->fss + 1) {
1083 cur_stream->sndvar->snd_una = pctx->p.ack_seq;
1084 if (TCP_SEQ_GT(pctx->p.ack_seq, cur_stream->snd_nxt)) {
1086 cur_stream->id, pctx->p.ack_seq);
1087 cur_stream->snd_nxt = pctx->p.ack_seq;
1103 pctx->p.ack_seq, cur_stream->sndvar->fss);
1110 pctx->p.tcph->syn ? "S" : "",
1111 pctx->p.tcph->fin ? "F" : "",
1112 pctx->p.tcph->rst ? "R" : "",
1113 pctx->p.tcph->psh ? "P" : "",
1114 pctx->p.tcph->urg ? "U" : "",
1115 pctx->p.tcph->ack ? "A" : "");
1122 if (pctx->p.payloadlen > 0) {
1136 TCP_SEQ_GEQ(pctx->p.seq + pctx->p.payloadlen, cur_stream->rcv_nxt)
1138 pctx->p.seq + pctx->p.payloadlen == cur_stream->rcv_nxt
1152 AddtoTimewaitList(mtcp, cur_stream, pctx->p.cur_ts);
1158 cur_stream->rcv_nxt, pctx->p.seq + pctx->p.payloadlen,
1159 pctx->p.seq, pctx->p.payloadlen);
1171 const struct tcphdr* tcph = pctx->p.tcph;
1183 if (pctx->p.payloadlen > 0) {
1197 TCP_SEQ_GEQ(pctx->p.seq + pctx->p.payloadlen, cur_stream->rcv_nxt)
1199 pctx->p.seq + pctx->p.payloadlen == cur_stream->rcv_nxt
1207 AddtoTimewaitList(mtcp, cur_stream, pctx->p.cur_ts);
1213 cur_stream->id, pctx->p.seq, pctx->p.ack_seq,
1216 DumpIPPacket(mtcp, pctx->p.iph, pctx->p.ip_len);
1226 const struct tcphdr* tcph = pctx->p.tcph;
1240 if (pctx->p.ack_seq != cur_stream->sndvar->fss + 1) {
1244 cur_stream->id, pctx->p.ack_seq, cur_stream->snd_nxt,
1246 DumpIPPacketToFile(stderr, pctx->p.iph, pctx->p.ip_len);
1254 cur_stream->sndvar->snd_una = pctx->p.ack_seq;
1256 UpdateRetransmissionTimer(mtcp, cur_stream, pctx->p.cur_ts);
1261 AddtoTimewaitList(mtcp, cur_stream, pctx->p.cur_ts);
1274 struct tcphdr* tcph = pctx->p.tcph;
1285 cur_stream->id, pctx->p.seq, cur_stream->rcv_nxt);
1287 DumpIPPacket(mtcp, pctx->p.iph, pctx->p.ip_len);
1297 cur_stream->sndvar->peer_wnd = pctx->p.window;
1300 (uint32_t)pctx->p.window << cur_stream->sndvar->wscale_peer;
1303 cur_stream->last_active_ts = pctx->p.cur_ts;
1318 pctx->p.tcph->fin) {
1324 if (pctx->p.seq == cur_stream->pair_stream->sndvar->fss) {
1326 pctx->p.seq, cur_stream->pair_stream->sndvar->fss);
1343 if (tcph->syn && pctx->p.seq == cur_stream->rcvvar->irs)
1347 if (pctx->p.payloadlen > 0 && cur_stream->state == TCP_ST_ESTABLISHED)
1381 AddtoTimewaitList(mtcp, cur_stream, pctx->p.cur_ts);
1413 EnqueueACK(mtcp, cur_stream, pctx->p.cur_ts, ACK_OPT_NOW);
1416 EnqueueACK(mtcp, cur_stream, pctx->p.cur_ts, ACK_OPT_AGGREGATE);
1419 AddtoControlList(mtcp, cur_stream, pctx->p.cur_ts);
1424 pctx->p.iph->daddr, pctx->p.tcph->dest,
1425 pctx->p.iph->saddr, pctx->p.tcph->source,
1426 0, pctx->p.seq + 1, 0, TCP_FLAG_RST | TCP_FLAG_ACK,
1427 NULL, 0, pctx->p.cur_ts, 0, 0, -1);
1430 pctx->p.iph->daddr, pctx->p.tcph->dest,
1431 pctx->p.iph->saddr, pctx->p.tcph->source,
1432 pctx->p.ack_seq, 0, 0, TCP_FLAG_RST | TCP_FLAG_ACK,
1433 NULL, 0, pctx->p.cur_ts, 0, 0, -1);