I have a strange problem with tcpdump - it's like the filter I want to be applied to captured packets doesn't work instantly. Maybe it's perfectly normal but to be honest I've never seen this before. Here's an example :
tcpdump -i ife0 -n not udp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ife0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
08:23:24.720889 IP 10.0.21.67.45892 > 10.2.32.7.667: UDP, length 37
08:23:24.721170 IP 10.2.32.7.5778 > 10.0.21.67.45892: UDP, length 10
This doesn't happen every time, sometimes I see 2 packets, sometimes more. ife0 is a GRE interface (not much traffic, small UDP packets, usually ~150 pps). I'm using tcpdump version 4.1-PRE-CVS_2015_07_23 with libpcap version 1.4.0