1*afdbf109SJoseph Mingrone# Compiling and using libpcap on Haiku 2*afdbf109SJoseph Mingrone 3*afdbf109SJoseph MingroneHaiku R1/beta4 and earlier versions do not support packet capture on the 4*afdbf109SJoseph Mingroneloopback interface. Using this version of libpcap, loopback capture works 5*afdbf109SJoseph Mingronesince Haiku revision hrev57585 and is expected to work in Haiku R1/beta5 when 6*afdbf109SJoseph Mingronethe latter becomes available. Packet timestamping and filtering always occur 7*afdbf109SJoseph Mingronein userland. Wireless monitor mode is not supported. The "any" 8*afdbf109SJoseph Mingronepseudo-interface is not supported. 9*afdbf109SJoseph Mingrone[**pcap_set_buffer_size**](https://www.tcpdump.org/manpages/pcap_set_buffer_size.3pcap.html)(3PCAP) 10*afdbf109SJoseph Mingronehas no effect. 11*afdbf109SJoseph Mingrone[**pcap_setdirection**](https://www.tcpdump.org/manpages/pcap_setdirection.3pcap.html)(3PCAP) 12*afdbf109SJoseph Mingroneis not supported. 13*afdbf109SJoseph Mingrone[**pcap_inject**](https://www.tcpdump.org/manpages/pcap_inject.3pcap.html)(3PCAP) 14*afdbf109SJoseph Mingroneis not supported. 15*afdbf109SJoseph Mingrone 16*afdbf109SJoseph MingroneThe statistics reported by 17*afdbf109SJoseph Mingrone[**pcap_stats**](https://www.tcpdump.org/manpages/pcap_stats.3pcap.html)(3PCAP) 18*afdbf109SJoseph Mingroneon Haiku are as follows: 19*afdbf109SJoseph Mingrone* `ps_recv` is the number of packets successfully delivered by the kernel, 20*afdbf109SJoseph Mingrone before libpcap applies a filter. 21*afdbf109SJoseph Mingrone* `ps_drop` is the number of packets rejected by the filter. 22*afdbf109SJoseph Mingrone* `ps_ifdrop` is the number of packets dropped by the network interface (as 23*afdbf109SJoseph Mingrone seen via `SIOCGIFSTATS`) since the capture handle became active. 24*afdbf109SJoseph Mingrone 25*afdbf109SJoseph Mingrone## 64-bit x86 R1/beta4 26*afdbf109SJoseph Mingrone 27*afdbf109SJoseph Mingrone* Autoconf 2.71 works. 28*afdbf109SJoseph Mingrone* CMake 3.28.3 works. 29*afdbf109SJoseph Mingrone* GCC 13.2.0 works. 30*afdbf109SJoseph Mingrone* Clang 12.0.1 works with the latest llvm12_clang-12.0.1-5 version. 31*afdbf109SJoseph Mingrone* flex 2.6.4 works. 32*afdbf109SJoseph Mingrone* bison 3.8.2 works. 33*afdbf109SJoseph Mingrone 34*afdbf109SJoseph MingroneThe following command will install respective non-default packages: 35*afdbf109SJoseph Mingrone``` 36*afdbf109SJoseph Mingronepkgman install cmake llvm12_clang 37*afdbf109SJoseph Mingrone``` 38*afdbf109SJoseph Mingrone 39*afdbf109SJoseph MingroneFor reference, the tests were done using a system installed from 40*afdbf109SJoseph Mingrone`haiku-r1beta4-x86_64-anyboot.iso`. 41*afdbf109SJoseph Mingrone 42*afdbf109SJoseph Mingrone## 32-bit x86 R1/beta4 43*afdbf109SJoseph Mingrone 44*afdbf109SJoseph Mingrone* Autoconf 2.71 works. 45*afdbf109SJoseph Mingrone* CMake 3.24.2 works. 46*afdbf109SJoseph Mingrone* GCC 11.2.0 works. 47*afdbf109SJoseph Mingrone* Clang does not work. 48*afdbf109SJoseph Mingrone* flex 2.6.4 works. 49*afdbf109SJoseph Mingrone* bison 3.0.5 works. 50*afdbf109SJoseph Mingrone 51*afdbf109SJoseph MingroneThe following command will install respective non-default packages: 52*afdbf109SJoseph Mingrone``` 53*afdbf109SJoseph Mingronepkgman install cmake_x86 54*afdbf109SJoseph Mingrone``` 55*afdbf109SJoseph Mingrone 56*afdbf109SJoseph MingroneFor reference, the tests were done using a system installed from 57*afdbf109SJoseph Mingrone`haiku-r1beta4-x86_gcc2h-anyboot.iso`. 58