From 314e9825706950c231c95078b97b12ac678e4b0e Mon Sep 17 00:00:00 2001 From: wangyu- Date: Wed, 29 Aug 2018 15:55:54 -0500 Subject: [PATCH] fix ipv6 of libnet --- network.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/network.cpp b/network.cpp index 3fb02b7..23e7a2f 100644 --- a/network.cpp +++ b/network.cpp @@ -498,7 +498,15 @@ int init_raw_socket() #ifndef NO_LIBNET char libnet_errbuf[LIBNET_ERRBUF_SIZE]; - libnet_handle = libnet_init(LIBNET_RAW4, dev, libnet_errbuf); + if(raw_ip_version==AF_INET) + { + libnet_handle = libnet_init(LIBNET_RAW4, dev, libnet_errbuf); + } + else + { + assert(raw_ip_version==AF_INET6); + libnet_handle = libnet_init(LIBNET_RAW6, dev, libnet_errbuf); + } if(libnet_handle==0) { @@ -822,6 +830,8 @@ void init_filter(int port) //pthread_mutex_lock(&filter_mutex);//not sure if mutex is needed here + pcap_setdirection(pcap_handle,PCAP_D_IN); + pcap_freecode(&g_filter); if (pcap_compile(pcap_handle, &g_filter, filter_exp, 0, PCAP_NETMASK_UNKNOWN ) == -1) { @@ -835,6 +845,7 @@ void init_filter(int port) myexit(-1); } + //pthread_mutex_unlock(&filter_mutex); /* if(disable_bpf_filter) return;