Skip to content

Commit

Permalink
add the number of duplicates (and collisions, if collision detection …
Browse files Browse the repository at this point in the history
…is enabled) to the log line - if the dedup_counter verbose parameter is used
  • Loading branch information
rbucek committed Apr 3, 2024
1 parent a40a962 commit e351a62
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 11 deletions.
2 changes: 2 additions & 0 deletions common.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ struct sVerbose {
int defrag;
int defrag_overflow;
int dedup;
int dedup_collision;
int dedup_counter;
int reassembly_sip;
int reassembly_sip_output;
int log_manager_cmd;
Expand Down
22 changes: 18 additions & 4 deletions pcap_queue.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2917,6 +2917,17 @@ void PcapQueue::pcapStat(pcapStatTask task, int statPeriod) {
}
long unsigned int rss;
if(task == pcapStatLog) {
if(sverb.dedup_counter) {
extern u_int64_t duplicate_counter;
extern u_int64_t duplicate_counter_collisions;
if(duplicate_counter) {
outStrStat << "DUPL[" << duplicate_counter;
if(duplicate_counter_collisions) {
outStrStat << "/" << duplicate_counter_collisions;
}
outStrStat << "] ";
}
}
outStrStat << "RSS/VSZ[";
rss = this->getRssUsage(true);
if(rss > 0) {
Expand Down Expand Up @@ -9762,12 +9773,15 @@ void PcapQueue_outputThread::processDedup(sHeaderPacketPQout *hp) {
if(this->dedup_buffer->check_dupl(_dc, (eDedupType)opt_dup_check_type)) {
#if DEDUPLICATE_COLLISION_TEST
if(opt_dup_check_collision_test && !dupl_ct_md5) {
static unsigned ct_md5_counter;
cout << " *** COLLISION B *** " << (++ct_md5_counter) << endl;
this->dedup_buffer->print_hash(_dc);
extern u_int64_t duplicate_counter_collisions;
++duplicate_counter_collisions;
if(sverb.dedup_collision) {
cout << " *** COLLISION B *** " << duplicate_counter_collisions << endl;
this->dedup_buffer->print_hash(_dc);
}
}
#endif
extern unsigned int duplicate_counter;
extern u_int64_t duplicate_counter;
duplicate_counter++;
if(sverb.dedup) {
cout << "*** DEDUP (processDedup) " << duplicate_counter << endl;
Expand Down
5 changes: 3 additions & 2 deletions sniff.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,9 @@ queue<pcap_packet*> readpacket_thread_queue;
extern pthread_mutex_t readpacket_thread_queue_lock;
#endif

unsigned int defrag_counter = 0;
unsigned int duplicate_counter = 0;
u_int64_t defrag_counter = 0;
u_int64_t duplicate_counter = 0;
u_int64_t duplicate_counter_collisions = 0;
extern struct pcap_stat pcapstat;
int pcapstatresCount = 0;

Expand Down
13 changes: 8 additions & 5 deletions sniff_inline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ extern char *ss7_rudp_portmatrix;
extern char *diameter_tcp_portmatrix;
extern TcpReassembly *tcpReassemblyHttp;
extern TcpReassembly *tcpReassemblyWebrtc;
extern unsigned int defrag_counter;
extern u_int64_t defrag_counter;
extern int opt_save_ip_from_encaps_ipheader_only_gre;


Expand Down Expand Up @@ -1013,13 +1013,16 @@ int pcapProcess(sHeaderPacket **header_packet, int pushToStack_queue_index,
if(ppd->dedup_buffer->check_dupl(_dc, (eDedupType)opt_dup_check_type)) {
#if DEDUPLICATE_COLLISION_TEST
if(opt_dup_check_collision_test && !dupl_ct_md5) {
static unsigned ct_md5_counter;
cout << " *** COLLISION A *** " << (++ct_md5_counter) << endl;
ppd->dedup_buffer->print_hash(_dc);
extern u_int64_t duplicate_counter_collisions;
++duplicate_counter_collisions;
if(sverb.dedup_collision) {
cout << " *** COLLISION A *** " << duplicate_counter_collisions << endl;
ppd->dedup_buffer->print_hash(_dc);
}
}
#endif
//printf("dropping duplicate md5[%s]\n", md5);
extern unsigned int duplicate_counter;
extern u_int64_t duplicate_counter;
duplicate_counter++;
if(sverb.dedup) {
cout << "*** DEDUP (pcapProcess) " << duplicate_counter << endl;
Expand Down
2 changes: 2 additions & 0 deletions voipmonitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7744,6 +7744,8 @@ void parse_verb_param(string verbParam) {
else if(verbParam == "defrag") sverb.defrag = 1;
else if(verbParam == "defrag_overflow") sverb.defrag_overflow = 1;
else if(verbParam == "dedup") sverb.dedup = 1;
else if(verbParam == "dedup_collision") sverb.dedup_collision = 1;
else if(verbParam == "dedup_counter") sverb.dedup_counter = 1;
else if(verbParam == "reassembly_sip") sverb.reassembly_sip = 1;
else if(verbParam == "reassembly_sip_output") sverb.reassembly_sip_output = 1;
else if(verbParam == "log_manager_cmd") sverb.log_manager_cmd = 1;
Expand Down

0 comments on commit e351a62

Please sign in to comment.