All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wang Jian <lark@linux.net.cn>
To: Jonas Berlin <xkr47@outerspace.dyndns.org>
Cc: netfilter-devel@lists.netfilter.org
Subject: Re: About matching
Date: Thu, 07 Apr 2005 11:54:06 +0800	[thread overview]
Message-ID: <20050407113830.02B0.LARK@linux.net.cn> (raw)
In-Reply-To: <42542EBA.9050606@outerspace.dyndns.org>

Hi Jonas Berlin,

I have an idea before, that looks like the following

1. A match is marked as dup when insert into chain if it has the same
match rule with previous;
2. When a match gets deleted followed by match marked as dup , do
housekeeping to make sure the dup relation is correct;
3. When a match is hit, if non-return, the following match marked as dup
is evaluated immediately as hit.

This can be achieved with a little code. But the problem here is when
used in mangle table, the target action may make the matching rule false.

--previous is an indication that the previous matching is used anyway
even if the target action changes the evaluation result. You may use the
same algorithm above and save a lot trouble :)


On Wed, 06 Apr 2005 21:47:22 +0300, Jonas Berlin <xkr47@outerspace.dyndns.org> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Wang Jian wrote:
> 
> | iptables <match rule 1> -j CONNMARK --set-mark value/mask
> | iptables <match rule 1> -j RETURN
> |
> | How many times the match rule 1 is evaluated when matched? If two, then
> | the second time is waste of CPU cycle.
> 
> It evaluates twice. I have made a "previous" match which I haven't finished
> into a patch yet (some cleanup, documentation and iptables-save & -restore
> support). It lets you do the above like this:
> 
> iptables <match rule 1> -j CONNMARK --set-mark value/mask
> iptables --previous -j RETURN
> 
> | Then think these three
> |
> | iptables <match rule 1> -j CONNMARK --set-mark value/mask
> | iptables <match rule 1> -j CONNMARK --restore --mask mask
> | iptables <match rule 1> -j RETURN
> |
> | Are there any optimization for such case?
> 
> I would guess mask restoring is usually done globally without matching some
> specific criteria.. but nevertheless, the --previous could be used here if
> wanted, it can be used many times in a row.
> 
> I'll try to finish off the patch tomorrow.
> 
> - --
> - - xkr47
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
> 
> iD8DBQFCVC64xyF48ZTvn+4RAi8pAJ4sjXT1KZf5Ora6S0Rr5dCXmcGj9gCgzKQi
> OUx6jdlw3FvPEtVuWgZ2/j8=
> =bp5F
> -----END PGP SIGNATURE-----



-- 
  lark

  reply	other threads:[~2005-04-07  3:54 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-06 16:12 About matching Wang Jian
2005-04-06 18:47 ` Jonas Berlin
2005-04-07  3:54   ` Wang Jian [this message]
2005-04-07  5:43     ` Patrick Schaaf
2005-04-07  6:13       ` Wang Jian
2005-04-07  6:35         ` Patrick Schaaf
2005-04-07  6:43           ` Patrick Schaaf
2005-04-07  6:55             ` Wang Jian
2005-04-11  9:47             ` About matching (also was: Multiple Targets) Jonas Berlin
2005-04-13  0:48               ` Wang Jian
2005-04-13  0:52                 ` Jonas Berlin
2005-04-13  1:03                   ` Wang Jian
2005-04-13  6:52                     ` Patrick Schaaf
2005-04-13  7:03                       ` Jozsef Kadlecsik
2005-04-13  7:14                         ` Patrick Schaaf
2005-04-13  7:43                           ` Jozsef Kadlecsik
2005-04-13  7:52                             ` Patrick Schaaf
2005-04-13  8:35                               ` Jozsef Kadlecsik
2005-04-13  9:25                                 ` Patrick Schaaf
2005-04-13  7:50                           ` Wang Jian
2005-04-13 10:09                             ` Martijn Lievaart
2005-04-13 10:45                               ` Wang Jian
2005-04-13 11:17                                 ` Martijn Lievaart
2005-04-13 11:25                                   ` Patrick Schaaf
2005-04-13 11:35                                     ` Martijn Lievaart
2005-04-14  1:16                                     ` Henrik Nordstrom
2005-04-14  8:01                                       ` Ben La Monica
2005-04-14  8:56                                         ` Jonas Berlin
2005-04-14  9:20                                           ` Wang Jian
2005-04-14 11:43                                           ` Henrik Nordstrom
2005-04-14 13:21                                             ` Jonas Berlin
2005-05-03 23:48                                               ` Jonas Berlin
2005-05-04  7:16                                                 ` Jozsef Kadlecsik
2005-05-04  7:42                                                   ` Jonas Berlin
2005-05-04  8:09                                                     ` Jozsef Kadlecsik
2005-05-04 13:54                                                       ` Jonas Berlin
2005-05-05  6:36                                                         ` Jozsef Kadlecsik
2005-05-15  9:05                                                           ` Jonas Berlin
2005-05-15  9:12                                                             ` Jonas Berlin
2005-04-14  1:14                                   ` Henrik Nordstrom
2005-04-13 11:01                               ` Jonas Berlin
2005-04-13 11:36                                 ` Martijn Lievaart
2005-04-14  1:09                             ` Henrik Nordstrom
2005-04-14  1:03                           ` Henrik Nordstrom
2005-04-13  6:45                   ` Patrick Schaaf
2005-04-07  7:01           ` About matching Wang Jian
2005-04-07  7:37     ` Jonas Berlin
2005-04-07  8:34       ` Wang Jian
2005-04-08  7:18 ` Jozsef Kadlecsik

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=20050407113830.02B0.LARK@linux.net.cn \
    --to=lark@linux.net.cn \
    --cc=netfilter-devel@lists.netfilter.org \
    --cc=xkr47@outerspace.dyndns.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.