From abccbe13f352c244f0af3aebef0241fa3242c9d4 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Tue, 5 Nov 2013 14:41:31 +0100 Subject: [PATCH] stream: add size debug code --- src/stream-tcp-reassemble.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/stream-tcp-reassemble.c b/src/stream-tcp-reassemble.c index 0ee90070e8..1ce3ecdbf7 100644 --- a/src/stream-tcp-reassemble.c +++ b/src/stream-tcp-reassemble.c @@ -2590,6 +2590,39 @@ void StreamTcpPruneSession(Flow *f, uint8_t flags) { } } +#ifdef DEBUG +static uint64_t GetStreamSize(TcpStream *stream) { + if (stream) { + uint64_t size = 0; + uint32_t cnt = 0; + + TcpSegment *seg = stream->seg_list; + while (seg) { + cnt++; + size += (uint64_t)seg->payload_len; + + seg = seg->next; + } + + SCLogDebug("size %"PRIu64", cnt %"PRIu32, size, cnt); + return size; + } + return (uint64_t)0; +} + +static void GetSessionSize(TcpSession *ssn, Packet *p) { + uint64_t size = 0; + if (ssn) { + size = GetStreamSize(&ssn->client); + size += GetStreamSize(&ssn->server); + + //if (size > 900000) + // SCLogInfo("size %"PRIu64", packet %"PRIu64, size, p->pcap_cnt); + SCLogDebug("size %"PRIu64", packet %"PRIu64, size, p->pcap_cnt); + } +} +#endif + /** * \brief Update the stream reassembly upon receiving an ACK packet. * @@ -2623,6 +2656,7 @@ int StreamTcpReassembleAppLayer (ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, SCLogDebug("stream->seg_list %p", stream->seg_list); #ifdef DEBUG PrintList(stream->seg_list); + GetSessionSize(ssn, p); #endif /* if no segments are in the list or all are already processed,