pcap_set_protocol_linux(3PCAP) man page
This man page documents libpcap version 1.10.4 (see also: git master branch, 1.10.2, 1.10.1, 1.10.0, 1.9.1).Your system may have a different version installed, possibly with some local modifications. To achieve the best results, please make sure this version of this man page suits your needs. If necessary, try to look for a different version on this web site or in the man pages available in your installation.
#include <pcap/pcap.h> int pcap_set_protocol_linux(pcap_t *p, int protocol);
header file, specified in host byte order.
is non-zero, packets of that protocol will be captured when the
handle is activated, otherwise, all packets will be captured. This
function is only provided on Linux, and, if it is used on any device
other than a network interface, it will have no effect.
It should not be used in portable code; instead, a filter should be specified with pcap_setfilter(3PCAP).
If a given network interface provides a standard link-layer header, with a standard packet type, but provides some packet types with a different socket-layer protocol type from the one in the link-layer header, that packet type cannot be filtered with a filter specified with pcap_setfilter() but can be filtered by specifying the socket-layer protocol type using pcap_set_protocol_linux().
if called on a capture handle that has been activated.