suricata
stream-tcp-sack.c File Reference
#include "suricata-common.h"
#include "stream-tcp.h"
#include "stream-tcp-private.h"
#include "stream-tcp-sack.h"
#include "util-unittest.h"
Include dependency graph for stream-tcp-sack.c:

Go to the source code of this file.

Functions

 RB_GENERATE (TCPSACK, StreamTcpSackRecord, rb, TcpSackCompare)
 
int TcpSackCompare (struct StreamTcpSackRecord *a, struct StreamTcpSackRecord *b)
 
int StreamTcpSackUpdatePacket (TcpStream *stream, Packet *p)
 Update stream with SACK records from a TCP packet. More...
 
bool StreamTcpSackPacketIsOutdated (TcpStream *stream, Packet *p)
 
void StreamTcpSackPruneList (TcpStream *stream)
 
void StreamTcpSackFreeList (TcpStream *stream)
 Free SACK tree from a stream. More...
 
void StreamTcpSackRegisterTests (void)
 

Detailed Description

Author
Victor Julien victo.nosp@m.r@in.nosp@m.linia.nosp@m.c.ne.nosp@m.t

Stream engine TCP SACK handling.

Definition in file stream-tcp-sack.c.

Function Documentation

◆ RB_GENERATE()

RB_GENERATE ( TCPSACK  ,
StreamTcpSackRecord  ,
rb  ,
TcpSackCompare   
)

◆ StreamTcpSackFreeList()

void StreamTcpSackFreeList ( TcpStream stream)

Free SACK tree from a stream.

Parameters
streamStream to cleanup

Definition at line 438 of file stream-tcp-sack.c.

References StreamTcpSackRecord::le, RB_FOREACH_SAFE, StreamTcpSackRecord::re, TcpStream_::sack_size, TcpStream_::sack_tree, and SCEnter.

Referenced by StreamTcpStreamCleanup().

Here is the caller graph for this function:

◆ StreamTcpSackPacketIsOutdated()

bool StreamTcpSackPacketIsOutdated ( TcpStream stream,
Packet p 
)

Definition at line 357 of file stream-tcp-sack.c.

◆ StreamTcpSackPruneList()

◆ StreamTcpSackRegisterTests()

void StreamTcpSackRegisterTests ( void  )

Definition at line 910 of file stream-tcp-sack.c.

References UtRegisterTest().

Here is the call graph for this function:

◆ StreamTcpSackUpdatePacket()

int StreamTcpSackUpdatePacket ( TcpStream stream,
Packet p 
)

Update stream with SACK records from a TCP packet.

Parameters
streamThe stream to update.
ppacket to get the SACK records from
Return values
-1error
0ok

Definition at line 249 of file stream-tcp-sack.c.

References SCEnter.

◆ TcpSackCompare()

int TcpSackCompare ( struct StreamTcpSackRecord a,
struct StreamTcpSackRecord b 
)

Definition at line 34 of file stream-tcp-sack.c.

References StreamTcpSackRecord::le, StreamTcpSackRecord::re, SEQ_EQ, SEQ_GT, and SEQ_LT.