aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/bgp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/protocols/bgp.c')
-rw-r--r--src/lib/protocols/bgp.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/protocols/bgp.c b/src/lib/protocols/bgp.c
index a45514b7d..f7896968b 100644
--- a/src/lib/protocols/bgp.c
+++ b/src/lib/protocols/bgp.c
@@ -20,16 +20,24 @@
* along with nDPI. If not, see <http://www.gnu.org/licenses/>.
*
*/
-#include "ndpi_protocols.h"
+
+#include "ndpi_protocol_ids.h"
#ifdef NDPI_PROTOCOL_BGP
+#define NDPI_CURRENT_PROTO NDPI_PROTOCOL_BGP
+
+#include "ndpi_api.h"
+
+
/* this detection also works asymmetrically */
void ndpi_search_bgp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow)
{
struct ndpi_packet_struct *packet = &flow->packet;
u_int16_t bgp_port = htons(179);
+ NDPI_LOG_DBG(ndpi_struct, "search BGP\n");
+
if(packet->tcp) {
if(packet->payload_packet_len > 18
&& packet->payload[18] < 5
@@ -38,13 +46,13 @@ void ndpi_search_bgp(struct ndpi_detection_module_struct *ndpi_struct, struct nd
&& (get_u_int64_t(packet->payload, 8) == 0xffffffffffffffffULL)
&& (ntohs(get_u_int16_t(packet->payload, 16)) <= packet->payload_packet_len)) {
- NDPI_LOG(NDPI_PROTOCOL_BGP, ndpi_struct, NDPI_LOG_DEBUG, "BGP detected.\n");
+ NDPI_LOG_INFO(ndpi_struct, "found BGP\n");
ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_BGP, NDPI_PROTOCOL_UNKNOWN);
return;
}
}
- /* exclude BGP */
- NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_BGP);
+
+ NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
}