• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..24-Aug-2021-

README.pcap.mdH A D24-Aug-20211.8 KiB3830

daq_pcap.cH A D24-Aug-202124.3 KiB801636

libdaq_static_pcap.pc.inH A D24-Aug-2021315 1613

README.pcap.md

1PCAP Module
2===========
3
4A DAQ module built around LibPCAP that supports both read-file and passive
5interface modes.  All input specifications are directly passed to LibPCAP and
6thus should match the input given to something like the -i or -r options of
7tcpdump.
8
9You can override the buffer size PCAP uses with the 'buffer_size' variable.
10
11The PCAP DAQ module defaults to listening in promiscuous mode.  To listen in
12non-promiscuous mode instead, use the 'no_promiscuous' variable.
13
14The PCAP DAQ module defaults to using immediate ((less-buffered or unbuffered)
15delivery mode.  This behavior can be disabled with the 'no_immediate' variable.
16This immediate delivery mode can be particularly useful on modern Linux systems
17with TPACKET_V3 support.  LibPCAP will attempt to use this mode when it is
18available, but it introduces some potentially undesirable behavior in exchange
19for better performance.  The most notable behavior change is that the packet
20timeout will never occur if packets are not being received, causing the poll()
21to potentially hang indefinitely.  Enabling immediate delivery mode will cause
22LibPCAP to use TPACKET_V2 instead of TPACKET_V3.
23
24Most DAQ modules operating in file readback mode do not bother returning a
25timeout receive status, no matter the timestamps involved.  To have the PCAP
26DAQ module simulate these, use the 'readback_timeout' variable.  With that
27enabled, packets with time deltas greater than the configured timeout duration
28will be held for a subsequent receive call and a timeout status returned.
29Given a great enough delta, multiple timeouts may occur before the next packet
30is returned.  This option has no effect in non-file readback mode.
31
32The PCAP DAQ module does not count filtered packets.
33
34Requirements
35------------
36* libpcap >= 1.5.0
37    (LibPCAP 1.9.0 is available at the time of writing and is recommended.)
38