From 1efd8fce10bf2fddc1954f0a872d383e0b796509 Mon Sep 17 00:00:00 2001 From: Pavel Odintsov Date: Thu, 14 Nov 2013 15:29:10 +0400 Subject: [PATCH] Speed up network lookup --- fastnetmon.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fastnetmon.cpp b/fastnetmon.cpp index 2426d63..92dc3c1 100644 --- a/fastnetmon.cpp +++ b/fastnetmon.cpp @@ -5,7 +5,7 @@ 3) Перенести список бана в структуру черного списка 4) Перейти на cap_admin при работе от штатного юзера 5) Оптимизировать belongs_to_network на префиксном дереве - 6) Не создавайте больших списков айпи сетей! Будет тормозить! + 6) Не создавайте больших списков сетей! Будет тормозить! */ @@ -200,7 +200,7 @@ void pcap_main_loop(char* dev); void ulog_main_loop(); void signal_handler(int signal_number); uint32_t convert_cidr_to_binary_netmask(int cidr); -bool belongs_to_networks(vector networks_list, uint32_t ip); +bool belongs_to_networks(vector& networks_list, uint32_t ip); // Function for sorting Vector of pairs bool compare_function_by_in_packets (pair_of_map_elements a, pair_of_map_elements b) { @@ -496,7 +496,7 @@ uint32_t convert_cidr_to_binary_netmask(int cidr) { return htonl(binary_netmask); } -bool belongs_to_networks(vector networks_list, uint32_t ip) { +bool belongs_to_networks(vector& networks_list, uint32_t ip) { for( vector::iterator ii=networks_list.begin(); ii!=networks_list.end(); ++ii) { if ( (ip & (*ii).second) == ((*ii).first & (*ii).second) ) {