nfq_create_queue():资源暂时不可用

时间:2013-03-04 07:11:23

标签: iptables recv netfilter

当我尝试在我的应用程序中创建多个nf_queues时出现错误'资源暂时不可用'。我找不到任何关于此错误的文档。

我正在尝试使用NFQUEUE实现多线程应用程序。我打开了库并绑定到主线程中的AF_INET并尝试创建多个NFQUEUE。它成功创建了5个队列,下一个nfq_create_queue返回'资源暂时不可用'。

我也尝试过睡眠(1);在调用nfq_create_queue()之间但是得到了同样的错误。

全局变量:

struct nfq_handle *h;
int fd;

主线程:

h = nfq_open();
nfq_unbind_pf(h, AF_INET)
nfq_bind_pf(h, AF_INET)
qh = nfq_create_queue(h,  NFQ_NUMBER_START_IPv4 + self_index, &cb_ip4, NULL);
nfq_set_mode(qh, NFQNL_COPY_PACKET, 0xffff);
nfq_set_queue_maxlen(qh, NFQ_LENGTH);
fd = nfq_fd(h);
nfnl_rcvbufsiz(nfq_nfnlh(h), NFQLENGTH * BUFSIZE);

工作线程:

qh = nfq_create_queue(h,  NFQ_NUMBER_START_IPv4 + self_index, &cb_ip4, NULL);
nfq_set_mode(qh, NFQNL_COPY_PACKET, 0xffff)
nfq_set_queue_maxlen(qh, NFQ_LENGTH);

0 个答案:

没有答案