uint16_t data_offset;
if (likely(SEQ_GEQ(seg->seq, stream->base_seq))) {
- stream_offset = stream->base_seq_offset + (seg->seq - stream->base_seq);
+ stream_offset = STREAM_BASE_OFFSET(stream) + (seg->seq - stream->base_seq);
data_offset = 0;
} else {
/* segment is partly before base_seq */
data_offset = stream->base_seq - seg->seq;
- stream_offset = stream->base_seq_offset;
+ stream_offset = STREAM_BASE_OFFSET(stream);
}
SCLogDebug("stream %p buffer %p, stream_offset %"PRIu64", "
}
}
- if (left_edge > stream->base_seq_offset) {
- uint32_t slide = left_edge - stream->base_seq_offset;
+ if (left_edge > STREAM_BASE_OFFSET(stream)) {
+ uint32_t slide = left_edge - STREAM_BASE_OFFSET(stream);
SCLogDebug("buffer sliding %u to offset %"PRIu64, slide, left_edge);
StreamingBufferSlideToOffset(stream->sb, left_edge);
- stream->base_seq_offset += slide;
stream->base_seq += slide;
SCLogDebug("stream base_seq %u at stream offset %"PRIu64,
- stream->base_seq, stream->base_seq_offset);
+ stream->base_seq, STREAM_BASE_OFFSET(stream));
}
}
static inline bool STREAM_LASTACK_GT_BASESEQ(const TcpStream *stream)
{
/* last ack not yet initialized */
- if (stream->base_seq_offset == 0 && stream->last_ack == 0)
+ if (STREAM_BASE_OFFSET(stream) == 0 && stream->last_ack == 0)
return false;
if (SEQ_GT(stream->last_ack, stream->base_seq))
return true;
SCReturnUInt(0);
}
- seg_depth = stream->base_seq_offset + size - (stream->base_seq - seq);
+ seg_depth = STREAM_BASE_OFFSET(stream) + size - (stream->base_seq - seq);
} else {
- seg_depth = stream->base_seq_offset + ((seq + size) - stream->base_seq);
+ seg_depth = STREAM_BASE_OFFSET(stream) + ((seq + size) - stream->base_seq);
}
/* if the base_seq has moved passed the depth window we stop
uint32_t delta = stream->last_ack - stream->base_seq;
/* get max absolute offset */
- uint64_t max_offset = stream->base_seq_offset + delta;
+ uint64_t max_offset = STREAM_BASE_OFFSET(stream) + delta;
int64_t diff = max_offset - stream->raw_progress;
uint32_t delta = stream->last_ack - stream->base_seq;
/* get max absolute offset */
- uint64_t max_offset = stream->base_seq_offset + delta;
+ uint64_t max_offset = STREAM_BASE_OFFSET(stream) + delta;
int64_t diff = max_offset - stream->raw_progress;
SCLogDebug("last_ack %u, base_seq %u", stream->last_ack, stream->base_seq);
uint32_t delta = stream->last_ack - stream->base_seq;
/* get max absolute offset */
- last_ack_abs = stream->base_seq_offset + delta;
+ last_ack_abs = STREAM_BASE_OFFSET(stream) + delta;
right_edge_abs = last_ack_abs;
if (StreamTcpInlineMode() == TRUE) {
stream_config.reassembly_toclient_chunk_size;
SCLogDebug("pkt SEQ %u, payload_len %u; base_seq %u => base_seq_offset %"PRIu64,
TCP_GET_SEQ(p), p->payload_len,
- stream->base_seq, stream->base_seq_offset);
+ stream->base_seq, STREAM_BASE_OFFSET(stream));
SCLogDebug("progress before adjust %"PRIu64", chunk_size %"PRIu32, progress, chunk_size);
SCLogDebug("adjusting left_edge to not be before base_seq: left_edge %u", rel_left_edge);
}
- progress = stream->base_seq_offset + (rel_left_edge - stream->base_seq);
+ progress = STREAM_BASE_OFFSET(stream) + (rel_left_edge - stream->base_seq);
right_edge_abs = progress + chunk_size;
SCLogDebug("working with progress %"PRIu64, progress);
going from 'progress' to SEQ => (progress - base_seq_offset) + base_seq;
*/
#define GET_SEQ_FOR_PROGRESS(stream, progress) \
- (((progress) - (stream)->base_seq_offset) + (stream->base_seq))
+ (((progress) - STREAM_BASE_OFFSET((stream))) + (stream->base_seq))
/* we have data. Use it to setup StreamMsg(s) */
StreamMsg *smsg = NULL;