All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: "David S. Miller" <davem@davemloft.net>
Cc: netdev@oss.sgi.com, bdschuym@pandora.be, bridge@osdl.org,
	snort2004@mail.ru, gandalf@wlug.westbo.se,
	Netfilter development mailing list
	<netfilter-devel@lists.netfilter.org>,
	dwmw2@infradead.org, ak@suse.de, shemminger@osdl.org
Subject: [Bridge] Re: [PATCH/RFC] Reduce call chain length in netfilter
Date: Fri, 28 Jan 2005 11:29:29 +1100	[thread overview]
Message-ID: <1106872169.18360.6.camel@localhost.localdomain> (raw)
In-Reply-To: <20050127152450.6daba4fa.davem@davemloft.net>

On Thu, 2005-01-27 at 15:24 -0800, David S. Miller wrote:
> It is never the case that both indev and outdev are both
> set, so we can use some nf_hook_desc piece of state to
> indicate which (in or out) the passed device pointer is.

NF_IP_FORWARD... it's really *really* useful for filtering forwarded
packets.  However, is it ever the case that indev != skb->dev?  If not,
we can simply drop that arg and use skb->dev.

> Now, back to the compatability issue.  We could create a
> new macro, NF_HOOK_DESC() and keep the existing ones around
> via some nf_hook_slow() that basically does:

No, let's just fix them all.  Also, gcc 3.4 will discard unused static
variables, so I prefer the kernel start just declaring structs as
normal, and have them "used" in the !CONFIG case by an inline function
which allows gcc to realize that it can be eliminated, but suppresses
unused warnings.  This also means you get type checking etc without the
config option.

BTW, someone should go through and start ripping out #ifdef
CONFIG_PROC_FS around those structs, too...

Cheers,
Rusty.
-- 
A bad analogy is like a leaky screwdriver -- Richard Braakman


WARNING: multiple messages have this Message-ID (diff)
From: Rusty Russell <rusty@rustcorp.com.au>
To: "David S. Miller" <davem@davemloft.net>
Cc: Patrick McHardy <kaber@trash.net>,
	bdschuym@pandora.be, netdev@oss.sgi.com,
	Netfilter development mailing list
	<netfilter-devel@lists.netfilter.org>,
	snort2004@mail.ru, ak@suse.de, bridge@osdl.org,
	gandalf@wlug.westbo.se, dwmw2@infradead.org, shemminger@osdl.org
Subject: Re: [PATCH/RFC] Reduce call chain length in netfilter
Date: Fri, 28 Jan 2005 11:29:29 +1100	[thread overview]
Message-ID: <1106872169.18360.6.camel@localhost.localdomain> (raw)
In-Reply-To: <20050127152450.6daba4fa.davem@davemloft.net>

On Thu, 2005-01-27 at 15:24 -0800, David S. Miller wrote:
> It is never the case that both indev and outdev are both
> set, so we can use some nf_hook_desc piece of state to
> indicate which (in or out) the passed device pointer is.

NF_IP_FORWARD... it's really *really* useful for filtering forwarded
packets.  However, is it ever the case that indev != skb->dev?  If not,
we can simply drop that arg and use skb->dev.

> Now, back to the compatability issue.  We could create a
> new macro, NF_HOOK_DESC() and keep the existing ones around
> via some nf_hook_slow() that basically does:

No, let's just fix them all.  Also, gcc 3.4 will discard unused static
variables, so I prefer the kernel start just declaring structs as
normal, and have them "used" in the !CONFIG case by an inline function
which allows gcc to realize that it can be eliminated, but suppresses
unused warnings.  This also means you get type checking etc without the
config option.

BTW, someone should go through and start ripping out #ifdef
CONFIG_PROC_FS around those structs, too...

Cheers,
Rusty.
-- 
A bad analogy is like a leaky screwdriver -- Richard Braakman

  parent reply	other threads:[~2005-01-28  0:29 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1131604877.20041218092730@mail.ru.suse.lists.linux.kernel>
2004-12-18  7:50 ` do_IRQ: stack overflow: 872 Andi Kleen
2004-12-18 11:12   ` Bart De Schuymer
2004-12-18 11:14     ` Andi Kleen
2004-12-18 11:51       ` Bart De Schuymer
2004-12-18 13:53         ` Andi Kleen
2004-12-18 16:07           ` Re[2]: " Crazy AMD K7
2004-12-18 16:46             ` Bart De Schuymer
2005-01-07 17:05   ` David Woodhouse
2005-01-07 18:00     ` [Bridge] " Stephen Hemminger
2005-01-07 18:00       ` Stephen Hemminger
2005-01-07 18:06       ` [Bridge] " David Woodhouse
2005-01-07 18:06         ` David Woodhouse
2005-01-07 21:27       ` [Bridge] " Bart De Schuymer
2005-01-07 21:27         ` Bart De Schuymer
2005-01-18 21:57         ` [Bridge] " David S. Miller
2005-01-18 21:57           ` David S. Miller
2005-01-22 22:30           ` [Bridge] [PATCH/RFC] Reduce call chain length in netfilter (was: Re: do_IRQ: stack overflow: 872..) Bart De Schuymer
2005-01-22 22:30             ` Bart De Schuymer
2005-01-22 23:22             ` [Bridge] " Martin Josefsson
2005-01-22 23:22               ` Martin Josefsson
2005-01-23 12:40               ` [Bridge] " Bart De Schuymer
2005-01-23 12:40                 ` Bart De Schuymer
2005-01-23 16:08                 ` [Bridge] " Martin Josefsson
2005-01-23 16:08                   ` Martin Josefsson
2005-01-26  6:05                   ` [Bridge] " David S. Miller
2005-01-26  6:05                     ` David S. Miller
2005-01-26  9:08                     ` [Bridge] " Bart De Schuymer
2005-01-26  9:08                       ` Bart De Schuymer
2005-01-26 23:49                       ` [Bridge] Re: [PATCH/RFC] Reduce call chain length in netfilter Patrick McHardy
2005-01-26 23:49                         ` Patrick McHardy
2005-01-27  7:18                         ` [Bridge] " David S. Miller
2005-01-27  7:18                           ` David S. Miller
2005-01-27 17:50                           ` [Bridge] " Patrick McHardy
2005-01-27 17:50                             ` Patrick McHardy
2005-01-27 19:47                             ` [Bridge] " David S. Miller
2005-01-27 19:47                               ` David S. Miller
2005-01-27 21:16                               ` [Bridge] " Bart De Schuymer
2005-01-27 21:16                                 ` Bart De Schuymer
2005-01-27 22:48                               ` [Bridge] " Patrick McHardy
2005-01-27 22:48                                 ` Patrick McHardy
2005-01-27 23:24                                 ` [Bridge] " David S. Miller
2005-01-27 23:24                                   ` David S. Miller
2005-01-28  0:08                                   ` [Bridge] " Patrick McHardy
2005-01-28  0:08                                     ` Patrick McHardy
2005-01-28  0:29                                   ` Rusty Russell [this message]
2005-01-28  0:29                                     ` Rusty Russell
2005-01-28  1:10                                     ` [Bridge] " David S. Miller
2005-01-28  1:10                                       ` David S. Miller
2005-01-28  1:32                                       ` [Bridge] " Rusty Russell
2005-01-28  1:32                                         ` Rusty Russell
2005-01-28  1:35                                         ` [Bridge] " Patrick McHardy
2005-01-28  1:35                                           ` 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=1106872169.18360.6.camel@localhost.localdomain \
    --to=rusty@rustcorp.com.au \
    --cc=ak@suse.de \
    --cc=bdschuym@pandora.be \
    --cc=bridge@osdl.org \
    --cc=davem@davemloft.net \
    --cc=dwmw2@infradead.org \
    --cc=gandalf@wlug.westbo.se \
    --cc=netdev@oss.sgi.com \
    --cc=netfilter-devel@lists.netfilter.org \
    --cc=shemminger@osdl.org \
    --cc=snort2004@mail.ru \
    /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.