All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Netfilter Development Mailinglist
	<netfilter-devel@lists.netfilter.org>,
	Netfilter-failover list <netfilter-failover@lists.netfilter.org>
Subject: Re: states worth to replicate [was Re: [PATCH] add TCP protocol state event groups]
Date: Fri, 22 Jun 2007 14:49:21 +0200	[thread overview]
Message-ID: <467BC551.2060602@trash.net> (raw)
In-Reply-To: <467ACD6B.2020009@netfilter.org>

Pablo Neira Ayuso wrote:
> Patrick McHardy wrote:
> 
>>>Replicate ESTABLISHED TIME_WAIT for TCP
>>>
>>>Thus, only established and time_wait states are replicated. My plan is
>>>to add similar clauses for other protocols so:
>>
>>Is that set of states useful in real-life? 
> 
> 
> I think so. In general, syn states have a very short lifetime. Thus,
> they are quickly superseded by established, making the replication
> effort barely useful. Moreover, I assume that clients usually reissue
> connections that fail in (early) syn states. I'm assuming that we are
> focusing on the recovery of connection established.
> 
> 
>>How are connections destroyed?
> 
> 
> Once we received the time_wait, we tell other replicas to destroy the
> connection. We miss previous teardown states that have also short
> lifetime. This is a tradeoff, we reduce the "copy-equivalence" degree
> among replicas but reduce the number of messages generated in return.


Connections don't go through TIME_WAIT in case they are reset.

>>Again, what I would like to understand before we add something
>>we have to live with forever is what it will look like in the
>>end and what the gain of it is, so I would like to see a realistic
>>example. Since the vast majority of updates is in TCP ESTABLISHED
>>state and basically everyone is going to synchronize that I have
>>a hard time believing that this is really going to give a notable
>>performance improvement.
> 
> 
> Well, since there is usually just one messages per state change in the
> case of TCP connections, we would just generate two, one to notify the
> established state and one to destroy it. Thus, in the particular case of
> a HTTP connection, we would need just two messages instead of seven.
> 
> 
>>I also only see new groups related to protocol states, what
>>about helpers, timeouts, ...?
> 
> 
> Same thing as above, the protocol events groups are just a way to group
> events. Thus, if the conntrack mark changes while in established state,
> an event message to the established group is delivered.


Mhh OK. I'll think about it some more over the weekend.

Something not directly related: we're generating events (internally)
for every packet and call the notifiers, yet we don't use them for
anything (for example IPCT_PROTOINFO_VOLATILE and IPCT_REFRESH),
which seems like a complete waste. I think we should remove them.

  reply	other threads:[~2007-06-22 12:49 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-11 18:05 [PATCH] add TCP protocol state event groups Pablo Neira Ayuso
2007-06-19 13:33 ` Patrick McHardy
2007-06-19 14:13   ` Pablo Neira Ayuso
2007-06-19 14:44     ` Patrick McHardy
2007-06-20 17:17       ` Pablo Neira Ayuso
2007-06-20 17:40         ` Patrick McHardy
2007-06-21 15:47           ` Pablo Neira Ayuso
2007-06-21 16:04             ` Patrick McHardy
2007-06-21 19:11               ` states worth to replicate [was Re: [PATCH] add TCP protocol state event groups] Pablo Neira Ayuso
2007-06-22 12:49                 ` Patrick McHardy [this message]
2007-07-02  9:40   ` [PATCH] add TCP protocol state event groups Holger Eitzenberger
2007-07-02 15:36     ` Patrick McHardy

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=467BC551.2060602@trash.net \
    --to=kaber@trash.net \
    --cc=netfilter-devel@lists.netfilter.org \
    --cc=netfilter-failover@lists.netfilter.org \
    --cc=pablo@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.