[tcpdump-workers] TPACKET v3 / pcap_open_live - backwards compatibility for projects

2014-03-27 Thread John Farnsworth
Hello - had a question regarding the changes in newer versions of libpcap that support tpacket v3 for linux capture. I can't seem to find a sane method to do a backwards compatible set of code between versions of libpcap prior to this support and with it. Since the only described way to interr

Re: [tcpdump-workers] TPACKET v3 / pcap_open_live - backwards compatibility for projects

2014-03-27 Thread John Farnsworth
> If your application is expecting a low rate of packet delivery and needs to > see packets as soon as they arrive, it should simply call > pcap_set_immediate_mode() if it is available, regardless of what operating > system it's running on or what version of libpcap it's using (as long as that

Re: [tcpdump-workers] TPACKET v3 / pcap_open_live - backwards compatibility for projects

2014-03-27 Thread Guy Harris
On Mar 27, 2014, at 1:50 PM, John Farnsworth wrote: >> If your application is expecting a low rate of packet delivery and needs to >> see packets as soon as they arrive, it should simply call >> pcap_set_immediate_mode() if it is available, regardless of what operating >> system it's running

Re: [tcpdump-workers] TPACKET v3 / pcap_open_live - backwards compatibility for projects

2014-03-27 Thread Guy Harris
On Mar 27, 2014, at 3:15 PM, Guy Harris wrote: > On Mar 27, 2014, at 1:50 PM, John Farnsworth > wrote: > >> However, I don't see a method to place logic into code to invoke >> pcap_set_immediate_mode only if it exists, as I can't trust it to exist, >> since it is new. Yet I must specify it

Re: [tcpdump-workers] TPACKET v3 / pcap_open_live - backwards compatibility for projects

2014-03-27 Thread Guy Harris
On Mar 27, 2014, at 3:27 PM, Guy Harris wrote: > A third alternative A *fourth* alternative, *if* your application can handle a delay between packet arrival and delivery of up to 1 millisecond, would be to use a timeout value of 1 in pcap_open_live() (or pcap_set_timeout(), if you're using pc