troglobit / pimd

PIM-SM/SSM multicast routing for UNIX and Linux
http://troglobit.com/projects/pimd/
BSD 3-Clause "New" or "Revised" License
194 stars 86 forks source link

Remove read retry logic and instead use select() with timeout. #191

Closed stormshield-damiend closed 3 years ago

stormshield-damiend commented 3 years ago

This is needed because FreeBSD route socket replies for RTM_GET are queued by the kernel and thus are asynchronous. This fixes "Kernel busy" error messages which happens when pimd reads too fast after a write on route socket.

Sponsored by: Stormshield

This closes #152