From: Pablo Neira Ayuso <pablo@netfilter.org>
To: fabien.marotte@mindspeed.com
Cc: netfilter-devel@lists.netfilter.org
Subject: Re: libnetfilter_conntrack, nfct_catch returns ENOBUFS
Date: Mon, 18 Jun 2007 20:11:13 +0200 [thread overview]
Message-ID: <4676CAC1.3070104@netfilter.org> (raw)
In-Reply-To: <OF7C77170F.72E89A61-ONC12572FE.005AF6F6-C12572FE.005D1649@mindspeed.com>
fabien.marotte@mindspeed.com wrote:
>> So am I. Could you post the code?
>
> I reduced my callback to the following :
> CtCatch( ...)
> {
> return NFCT_CB_CONTINUE;
> }
Well, this does not help too much. What is your callback actually doing?
If the operation that your callback does is expensive and slow, such as
printing the event, then may overrun sooner. Here I'm able to generate
up a bulk of 10000 HTTP GET requests in my testbed with no overrun. Of
course, using the callback that you suppose to be using. However, if I
print the event, the results are different.
> and I still see the bug with 20 simultaneous connections.
This is not a bug.
>> Default buffer size in your system? cat /proc/sys/net/core/rmem_default
>
> /proc/sys/net/core/rmem_default is set to 108544 by default.
> I tried to increase the value up to 262144 and I still get the same issue.
> Is it possible conntrack module to send more than one event in the same
> netlink messages ?
ENOBUFS tells you that your buffer has overrun. Each process has a
receiver buffer where netlink puts the messages into. If the sender puts
more messages into the queue than the receiver can consume, then the
buffer overruns. This happens if your userspace process is too slow to
consume messages, this usually happens if your CPU reaches 100%
consumption. Solution: You can delay the overrun by increasing the
buffer size.
--
The dawn of the fourth age of Linux firewalling is coming; a time of
great struggle and heroic deeds -- J.Kadlecsik got inspired by J.Morris
prev parent reply other threads:[~2007-06-18 18:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-18 15:47 libnetfilter_conntrack, nfct_catch returns ENOBUFS fabien.marotte
2007-06-18 16:10 ` Pablo Neira Ayuso
2007-06-18 16:56 ` fabien.marotte
2007-06-18 18:11 ` Pablo Neira Ayuso [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4676CAC1.3070104@netfilter.org \
--to=pablo@netfilter.org \
--cc=fabien.marotte@mindspeed.com \
--cc=netfilter-devel@lists.netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.