From: Ben Greear <greearb@candelatech.com>
To: jt@hpl.hp.com
Cc: Slavcho Nikolov <snikolov@okena.com>,
Linux kernel mailing list <linux-kernel@vger.kernel.org>,
Jeff Garzik <jgarzik@mandrakesoft.com>
Subject: Re: feature request - why not make netif_rx() a pointer?
Date: Wed, 23 Oct 2002 10:27:13 -0700 [thread overview]
Message-ID: <3DB6DBF1.4060009@candelatech.com> (raw)
In-Reply-To: 20021023164808.GG24123@bougret.hpl.hp.com
Jean Tourrilhes wrote:
> On Wed, Oct 23, 2002 at 09:39:12AM -0400, Slavcho Nikolov wrote:
>
>>Unfortunately, I cannot assume that every L2 (or maybe I can, we'll see) is
>>ethernet and I definitely cannot know in advance that every L3 is IP.
>>Nor can the assumption be made that netfilter has been built into the
>>kernel.
>
>
> So, you thing assuming a modified netif_rx is different than
> assuming netfilter support ?
> Your idea is just too dangerous.
If you added something like this to netif_rx, I think it would accomplish
the goals of those who want to add their own hooks. It would probably not
please the folks who want to keep this code out for GPL/political/legal/moral
reasons.
Note that the hook basically exists already in the bridging code. It may
be illegal for GPL reasons to assign your own method to this hook, but I'm
sure you could put up a good legal fight if you wanted to (the bridge hook
is not exported GPL)
int netif_rx(struct sk_buff *skb)
{
int this_cpu = smp_processor_id();
struct softnet_data *queue;
unsigned long flags;
+#idfef EVIL_COMPANY_NETWORK_HOOK_HACK
+ if (evil_hook) {
+ int rv = evil_hook(skb);
+ if (rv) { return; /* skb was consumed by evil hook, gawd help us all */ }
+ }
+#endif
if (skb->stamp.tv_sec == 0)
do_gettimeofday(&skb->stamp);
>
>
>>If I define my own private protocol handler (to catch all), I see cloned
>>skb's
>>which is not what I want. I tried that and dropped each one of them in the
>>handler, yet traffic continued to flow unimpeded (so I must have dropped
>>clones).
>
>
> For this to work, you need to modify the driver. The driver
> generates a private packet type or protocol, and you will be the only
> to to catch it.
So, it would be ok to modify the driver to call a new hook, one that
may be over-written by proprietary code? Otherwise, you have to write
a non-gpl driver....yuck!
Thanks,
Ben
--
Ben Greear <greearb@candelatech.com> <Ben_Greear AT excite.com>
President of Candela Technologies Inc http://www.candelatech.com
ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear
next prev parent reply other threads:[~2002-10-23 17:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-23 0:39 feature request - why not make netif_rx() a pointer? Jean Tourrilhes
2002-10-23 13:39 ` Slavcho Nikolov
2002-10-23 14:03 ` Chris Friesen
2002-10-23 16:23 ` over&out (Re: feature request - why not make netif_rx() a pointer?) Slavcho Nikolov
2002-10-23 22:59 ` jw schultz
2002-10-24 6:25 ` Gilad Ben-Yossef
2002-10-24 7:08 ` Ben Greear
2002-10-25 11:50 ` Adrian Bunk
2002-10-23 16:48 ` feature request - why not make netif_rx() a pointer? Jean Tourrilhes
2002-10-23 17:27 ` Ben Greear [this message]
2002-10-24 4:13 ` David S. Miller
2002-10-24 9:28 ` Henning P. Schmiedehausen
2002-10-24 10:15 ` David S. Miller
2002-10-24 11:01 ` Henning Schmiedehausen
2002-10-24 13:30 ` Slavcho Nikolov
2002-10-24 13:46 ` David S. Miller
-- strict thread matches above, loose matches on Subject: below --
2002-10-22 21:01 Slavcho Nikolov
2002-10-22 21:15 ` Matti Aarnio
2002-10-22 22:42 ` David S. Miller
2002-10-22 23:16 ` Ben Greear
2002-10-22 23:29 ` Jeff Garzik
2002-10-23 15:16 ` Henning P. Schmiedehausen
2002-10-23 16:11 ` Alan Cox
2002-10-23 16:26 ` Henning P. Schmiedehausen
2002-10-22 21:30 ` Alan Cox
2002-10-22 22:40 ` David S. Miller
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=3DB6DBF1.4060009@candelatech.com \
--to=greearb@candelatech.com \
--cc=jgarzik@mandrakesoft.com \
--cc=jt@hpl.hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=snikolov@okena.com \
/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).