From: Fabrice MARIE <fabrice@celestix.com>
To: Harald Welte <laforge@gnumonks.org>,
Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Cc: netfilter-devel <netfilter-devel@lists.samba.org>
Subject: Re: [PATCH}: Make MARK target terminate (resend)
Date: Fri, 5 Jul 2002 12:01:21 +0800 [thread overview]
Message-ID: <200207051201.21457.fabrice@celestix.com> (raw)
In-Reply-To: <20020704235831.GO20357@naboo.ists.dartmouth.edu>
Hello Harald,
On Friday 05 July 2002 07:58, Harald Welte wrote:
> [...]
> yes. But then, how do we distinguish between terminating targets [where
> we can have only one per rule] and non-terminating targets AKA actions,
> where we can have multiple.
You could just add a boolean field 'terminating' to the iptables_target.
Then, make sure iptables abort and complains if it sees more than one terminating
target being requested in a single rule.
Iptables could even give a warning (and reorder on the fly if necessary) if a
terminating target is found before a non-terminating target.
For example, the iptables_target struct of the TTL target would become :
static
struct iptables_target TTL = { NULL,
"TTL",
IPTABLES_VERSION,
IPT_ALIGN(sizeof(struct ipt_TTL_info)),
IPT_ALIGN(sizeof(struct ipt_TTL_info)),
&help,
&init,
&parse,
&final_check,
&print,
&save,
- opts
+ opts,
+ 0 /* target is NOT terminating*/
};
and the iptables_target struct of the REJECT target would become :
static
struct iptables_target reject
= { NULL,
"REJECT",
IPTABLES_VERSION,
IPT_ALIGN(sizeof(struct ipt_reject_info)),
IPT_ALIGN(sizeof(struct ipt_reject_info)),
&help,
&init,
&parse,
&final_check,
&print,
&save,
- opts
+ opts,
+ 1 /* target is terminating */
};
But now, if you don't want to use the match piggybacking trick that Jozsef & Henrik
mentionned, then we can't implement that right now.
Do you think multiple targets is worth including in the design of the next
netfilter framework ?
I bielieve we should do that, multiple actions for one condition is very natural,
and I believe the usage of a custom chain for each of theses rules is a bit overkill..
Any thoughts ?
Fabrice.
--
Fabrice MARIE
Senior R&D Engineer
Celestix Networks
http://www.celestix.com/
"Silly hacker, root is for administrators"
-Unknown
next prev parent reply other threads:[~2002-07-05 4:01 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-29 9:46 [PATCH}: Make MARK target terminate (resend) Patrick McHardy
2002-06-29 10:03 ` Patrick Schaaf
2002-07-02 13:02 ` Patrick McHardy
2002-06-29 10:36 ` Henrik Nordstrom
2002-06-29 12:53 ` Brad Chapman
2002-07-01 7:50 ` Balazs Scheidler
2002-07-02 14:24 ` Harald Welte
2002-07-03 11:24 ` Jozsef Kadlecsik
2002-07-03 11:36 ` Patrick Schaaf
2002-07-03 12:41 ` Fabrice MARIE
2002-07-03 14:45 ` Hervé Eychenne
2002-07-03 23:50 ` Henrik Nordstrom
2002-07-04 23:58 ` Harald Welte
2002-07-05 4:01 ` Fabrice MARIE [this message]
2002-07-05 14:21 ` Harald Welte
2002-07-05 19:25 ` Patrick Schaaf
2002-07-05 1:15 ` Joakim Axelsson
2002-07-01 9:47 ` Jozsef Kadlecsik
2002-07-01 10:11 ` Henrik Nordstrom
2002-07-01 12:08 ` Jozsef Kadlecsik
2002-07-02 15:45 ` Harald Welte
2002-07-02 13:32 ` 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=200207051201.21457.fabrice@celestix.com \
--to=fabrice@celestix.com \
--cc=kadlec@blackhole.kfki.hu \
--cc=laforge@gnumonks.org \
--cc=netfilter-devel@lists.samba.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.