TmEcode ReceiveIPFWThreadInit(ThreadVars *tv, const void *initdata, void **data)
{
struct timeval timev;
- int flag;
IPFWThreadVars *ntv = (IPFWThreadVars *) initdata;
IPFWQueueVars *nq = IPFWGetQueue(ntv->ipfw_index);
SCReturnInt(TM_ECODE_FAILED);
}
- /* set SO_BROADCAST on the divert socket, otherwise sendto()
- * returns EACCES when reinjecting broadcast packets. */
- flag = 1;
-
- if (setsockopt(nq->fd, SOL_SOCKET, SO_BROADCAST, &flag, sizeof(flag)) == -1) {
- SCLogError(SC_ERR_IPFW_SETSOCKOPT,"Can't set IPFW divert socket broadcast flag: %s", strerror(errno));
- SCReturnInt(TM_ECODE_FAILED);
- }
-
nq->ipfw_sinlen=sizeof(nq->ipfw_sin);
memset(&nq->ipfw_sin, 0, nq->ipfw_sinlen);
nq->ipfw_sin.sin_family = PF_INET;