tcpdump mailing list archives

Re: What's the correct new API to request pcap_linux to not open an eventfd


From: Denis Ovsienko via tcpdump-workers <tcpdump-workers () lists tcpdump org>
Date: Tue, 5 Jul 2022 12:07:05 +0100

--- Begin Message --- From: Denis Ovsienko <denis () ovsienko info>
Date: Tue, 5 Jul 2022 12:07:05 +0100
On Fri, 1 Jul 2022 13:55:30 -0400
Bill Fenner via tcpdump-workers <tcpdump-workers () lists tcpdump org>
wrote:

If we set
pcap_nonblock after pcap_create and before pcap_activate, we get -3 -
which I don't get at all, unless, -3 means "you didn't activate the
pcap yet". My naive reading of the Linux pcap_getnonblock code says
it'll return the integer value of a bool, and I don't know how that
can be -3.

Hello Bill.

The pcap_setnonblock(3PCAP) man page describes two functions:

int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf);
int pcap_getnonblock(pcap_t *p, char *errbuf);

If your comments concern pcap_getnonblock(), what you describe is
consistent with the documented behaviour:

In pcap/pcap.h:

#define PCAP_ERROR_NOT_ACTIVATED        -3      /* the capture needs to
be activated */

In the man page:

RETURN VALUE
       pcap_getnonblock()  returns  the  current ``non-blocking''
       state of the capture descriptor; it always  returns  0  on
       ``savefiles''.   If  called  on  a capture handle that has
       been created but not  activated,  PCAP_ERROR_NOT_ACTIVATED
       is returned.  If there is another error, PCAP_ERROR is re‐
       turned and errbuf is filled in with an  appropriate  error
       message.

Did you mean there is an issue with pcap_setnonblock()?

-- 
    Denis Ovsienko

--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers () lists tcpdump org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Current thread: