tcpbridge under OSX & older *BSD is broken
|Reported by:||aturner||Owned by:||aturner|
|Operating System:||OS X||Add to FAQ?:||yes|
|Output of tcpreplay -V:|
Description (last modified by aturner)
There is a bug in the Darwin/old *BSD kernels where poll() doesn't work properly on BPF devices. Hence poll() won't always show a fd as readable when it has data. The solution by Guy Harris is to turn on non-blocking on the fd's, select() with a timeout, and then process ALL fd's- regardless which are marked as ready for read.
for more details.