Compare commits

..

No commits in common. "1175b171bac49a9de90abbced23d5ee75f43ff3e" and "addc813956f675023a8fab5e3e2eef37dea70bfb" have entirely different histories.

View File

@ -217,12 +217,10 @@ static bool nfq_init(struct nfq_handle **h,struct nfq_q_handle **qh)
if (!rawsend_preinit(params.bind_fix4,params.bind_fix6)) if (!rawsend_preinit(params.bind_fix4,params.bind_fix6))
goto exiterr; goto exiterr;
int yes=1, fd = nfq_fd(*h); // increase socket buffer size. on slow systems reloading hostlist can take a while.
// if too many unhandled packets are received its possible to get "no buffer space available" error
#if defined SOL_NETLINK && defined NETLINK_NO_ENOBUFS if (!set_socket_buffers(nfq_fd(*h),Q_RCVBUF/2,Q_SNDBUF/2))
if (setsockopt(fd, SOL_NETLINK, NETLINK_NO_ENOBUFS, &yes, sizeof(yes)) == -1) goto exiterr;
DLOG_PERROR("setsockopt(NETLINK_NO_ENOBUFS)");
#endif
return true; return true;
exiterr: exiterr:
@ -269,7 +267,7 @@ static int nfq_main(void)
errno=e; errno=e;
DLOG_PERROR("recv"); DLOG_PERROR("recv");
// do not fail on ENOBUFS // do not fail on ENOBUFS
} while(e==ENOBUFS); } while(errno==ENOBUFS);
nfq_deinit(&h,&qh); nfq_deinit(&h,&qh);