diff options
Diffstat (limited to 'example/ndpiReader.c')
-rw-r--r-- | example/ndpiReader.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c index a626eb527..8854a7d23 100644 --- a/example/ndpiReader.c +++ b/example/ndpiReader.c @@ -3321,9 +3321,15 @@ static void ndpi_process_packet(u_char *args, * @brief Call pcap_loop() to process packets from a live capture or savefile */ static void runPcapLoop(u_int16_t thread_id) { - if((!shutdown_app) && (ndpi_thread_info[thread_id].workflow->pcap_handle != NULL)) + if((!shutdown_app) && (ndpi_thread_info[thread_id].workflow->pcap_handle != NULL)) { + int datalink_type = pcap_datalink(ndpi_thread_info[thread_id].workflow->pcap_handle); + if(!ndpi_is_datalink_supported(datalink_type)) { + printf("Unsupported datalink %d. Skip pcap\n", datalink_type); + return; + } if(pcap_loop(ndpi_thread_info[thread_id].workflow->pcap_handle, -1, &ndpi_process_packet, (u_char*)&thread_id) < 0) printf("Error while reading pcap file: '%s'\n", pcap_geterr(ndpi_thread_info[thread_id].workflow->pcap_handle)); + } } /** |