From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Max Kellermann <max@duempel.org>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: [conntrack-utils PATCH r7285 00/11] conntrackd with libevent
Date: Wed, 23 Jan 2008 13:50:36 +0100 [thread overview]
Message-ID: <4797381C.5060307@netfilter.org> (raw)
In-Reply-To: <20080123122639.GA17074@swift.blarg.de>
Max Kellermann wrote:
> On 2008/01/23 13:07, Pablo Neira Ayuso <pablo@netfilter.org> wrote:
>> My experience is that synchronization software is a bit hard because
>> bugs are somehow more difficult to detect (you need a good testbed
>> and QA testing requires a considerable amount of time). If we
>> introduce more source code lines, chances to introduce bugs
>> increase, for that reason I try to keep it as simple as possible.
>
> I understand, but think about how many critical bugs we fixed in this
> so simple 200 lines alarm implementation. libevent has proven quite
> stable in the past, many daemons use it nowadays. We not only use it
> for alarms, but also for socket events (local_server, nfnetlink) and
> for signal handlers. There is the decision between well-tested but
> complex external code, and on the other hand untested new code, which
> is simple currently but might grow in the future.
You can blame me for those critical bugs during the development, I
should take my time before comitting untested code. We don't use that
many descriptors so conntrackd cannot exploit the main benefit of
libevent IMO.
BTW, there's an implementation of the RB-trees in the kernel under lib/
that seems to be quite stable and which has several clients. We may use
it to implement the alarm scheduler. Moreover it is GPLv2 or any later.
Although I have not investigate it further yet.
> By the way, the libevent migration is not completely finished with my
> patch, run() should be replaced with event_dispatch(), but for this,
> STATE(mode)->run() has to be rewritten to be event driven. I believe
> this rewrite could make conntrackd even better and cleaner (and
> faster), even if we do not use libevent.
I would apply such rewrite on the fly if it improves the code and
doesn't depend on libevent for now.
--
"Los honestos son inadaptados sociales" -- Les Luthiers
next prev parent reply other threads:[~2008-01-23 12:50 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-22 14:10 [conntrack-utils PATCH r7285 00/11] conntrackd with libevent Max Kellermann
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 11/11] remove the alarm library Max Kellermann
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 02/11] added struct local_server Max Kellermann
2008-01-23 10:36 ` Pablo Neira Ayuso
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 07/11] use size_t Max Kellermann
2008-01-23 12:29 ` Pablo Neira Ayuso
2008-01-23 12:37 ` Max Kellermann
2008-01-23 12:58 ` Pablo Neira Ayuso
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 03/11] moved process function pointer to struct local_server Max Kellermann
2008-01-23 10:45 ` Pablo Neira Ayuso
2008-01-23 10:52 ` Max Kellermann
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 01/11] -1 means error, not 0 Max Kellermann
2008-01-23 10:16 ` Pablo Neira Ayuso
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 04/11] added alarm_pending() Max Kellermann
2008-01-23 11:50 ` Pablo Neira Ayuso
2008-01-23 11:58 ` Max Kellermann
2008-01-23 12:16 ` Pablo Neira Ayuso
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 06/11] remove obsolete prototypes Max Kellermann
2008-01-23 11:15 ` Pablo Neira Ayuso
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 08/11] check if the received packet is large enough Max Kellermann
2008-01-23 11:46 ` Pablo Neira Ayuso
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 05/11] added missing ntohs() Max Kellermann
2008-01-23 11:07 ` Pablo Neira Ayuso
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 09/11] added handler callback to mcast_sock Max Kellermann
2008-01-22 14:10 ` [conntrack-utils PATCH r7285 10/11] use libevent Max Kellermann
2008-01-23 12:07 ` [conntrack-utils PATCH r7285 00/11] conntrackd with libevent Pablo Neira Ayuso
2008-01-23 12:26 ` Max Kellermann
2008-01-23 12:50 ` Pablo Neira Ayuso [this message]
2008-01-25 18:01 ` Pablo Neira Ayuso
2008-01-25 18:03 ` Pablo Neira Ayuso
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=4797381C.5060307@netfilter.org \
--to=pablo@netfilter.org \
--cc=max@duempel.org \
--cc=netfilter-devel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).