Filter outbound packets in the kernel

It turns out that under Linux, libpcap implements the SetDirection
filtering in userspace, causing some spurious wake ups of the packet
capture thread.  So set a BPF filter to discard outbound packets inside
the kernel.