void StreamTcpInitConfig(char);
int StreamTcpGetFlowState(void *);
void StreamTcpSetOSPolicy(TcpStream*, Packet*);
-void StreamTcpPseudoPacketCreateStreamEndPacket(Packet *, TcpSession *, PacketQueue *);
+void StreamTcpPseudoPacketCreateStreamEndPacket(ThreadVars *tv, StreamTcpThread *stt, Packet *p, TcpSession *ssn, PacketQueue *pq);
static int StreamTcpValidateTimestamp(TcpSession * , Packet *);
static int StreamTcpHandleTimestamp(TcpSession * , Packet *);
return -1;
/* force both streams to reassemble, if necessary */
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
- SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
if (PKT_IS_TOSERVER(p)) {
StreamTcpPacketSetState(p, ssn, TCP_CLOSED);
return -1;
/* force both streams to reassemble, if necessary */
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
- SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
StreamTcpPacketSetState(p, ssn, TCP_CLOSED);
ssn->server.flags |= STREAMTCP_STREAM_FLAG_CLOSE_INITIATED;
return -1;
/* force both streams to reassemble, if necessary */
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
- SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
StreamTcpPacketSetState(p, ssn, TCP_CLOSED);
ssn->server.flags |= STREAMTCP_STREAM_FLAG_CLOSE_INITIATED;
return -1;
/* force both streams to reassemble, if necessary */
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
- SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
StreamTcpPacketSetState(p, ssn, TCP_CLOSED);
ssn->server.flags |= STREAMTCP_STREAM_FLAG_CLOSE_INITIATED;
return -1;
/* force both streams to reassemble, if necessary */
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
- SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
StreamTcpPacketSetState(p, ssn, TCP_CLOSED);
ssn->server.flags |= STREAMTCP_STREAM_FLAG_CLOSE_INITIATED;
return -1;
/* force both streams to reassemble, if necessary */
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
- SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
StreamTcpPacketSetState(p, ssn, TCP_CLOSED);
ssn->server.flags |= STREAMTCP_STREAM_FLAG_CLOSE_INITIATED;
return -1;
/* force both streams to reassemble, if necessary */
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
- SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
StreamTcpPacketSetState(p, ssn, TCP_CLOSED);
ssn->server.flags |= STREAMTCP_STREAM_FLAG_CLOSE_INITIATED;
"%" PRIu32 "", ssn, ssn->client.next_seq,
ssn->server.last_ack);
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
} else {
SCLogDebug("ssn %p: pkt (%" PRIu32 ") is to client: SEQ "
"%" PRIu32 ", ACK %" PRIu32 "", ssn, p->payload_len,
"%" PRIu32 "", ssn, ssn->server.next_seq,
ssn->client.last_ack);
- StreamTcpPseudoPacketCreateStreamEndPacket(p, ssn, pq);
+ StreamTcpPseudoPacketCreateStreamEndPacket(tv, stt, p, ssn, pq);
}
} else {
* \param p real packet
* \param pq packet queue to store the new pseudo packet in
*/
-void StreamTcpPseudoPacketCreateStreamEndPacket(Packet *p, TcpSession *ssn, PacketQueue *pq)
+void StreamTcpPseudoPacketCreateStreamEndPacket(ThreadVars *tv, StreamTcpThread *stt, Packet *p, TcpSession *ssn, PacketQueue *pq)
{
SCEnter();
PacketEnqueue(pq, np);
+ SCPerfCounterIncr(stt->counter_tcp_pseudo, tv->sc_perf_pca);
SCReturn;
}