From: greg chesson <greg@atheros.com>
To: Sam Leffler <sam@errno.com>
Cc: "David S. Miller" <davem@davemloft.net>,
vda@port.imtp.ilyichevsk.odessa.ua, jgarzik@pobox.com,
netdev@oss.sgi.com, acx100-devel@lists.sourceforge.net,
jt@bougret.hpl.hp.com, jkmaline@cc.hut.fi,
prism54-devel@prism54.org
Subject: Re: [RFC] acx100 inclusion in mainline; generic 802.11 stack
Date: Tue, 07 Sep 2004 10:03:41 -0700 [thread overview]
Message-ID: <413DE9ED.30300@atheros.com> (raw)
In-Reply-To: <200409062132.49356.sam@errno.com>
Oh really?
What about eth_type_trans()?
It is not implemented as a true network stack.
Many drivers call it, but it is a gross input packet
hooked eater thing that's an ugly wart bolted onto the
side of the driver API.
what's good for the goose, etc.
My point is that there is ample precedent in the OS for common
driver "assistance" subroutines that contain protocol knowledge or
implement
policy yet are not implemented in strict stack-like manner
because it didn't make sense to do 'em that way.
It seems to me that Sam's net80211 code is performing three essential
functions:
1. encap/decap service for converting between 802.3 and 802.11
2. the MLME protocol (802.11 management messages and state keeping)
3. interface to upper layer ioctl stuff, particularly user-land crypto
supplicants
and authenticators in addition to the usual group of tools.
The MLME protocol works as a stack already since it really does
implement a protocol.
The encap/decap could be implemented stack-like instead of
eth_type_trans-like,
but it seems very suboptimal to do it another way. The ioctl
interfaces are a wart on the side
of the driver API anyway, but let's not have an argument about that
since it is
a design feature of the OS inherited from unix.
The complaint seems to be mainly about the encap/decap procedures
which are implemented more as driver helper functions.
If somebody wants to rewrite them as a stack, then go for it.
I'll be interested in seeing whether or not good methods can be found
for exporting driver-local information (e.g. the mac address of the AP,
or the tx PHY rate needed to calculate the duration field value,
or whether or not to do mac tx fragmentation, etc)
up the stack without creating a pile of spaghetti to rival Microsoft's
failed "native 802.11" project.
I've thought about this problem and don't think there is a good answer
if a layered approach to protocol implementation stipulates that each layer
be self-contained. The 802.11 situation requires more data-sharing
between layers than is conducive to a strict layering approach.
I suspect that what's needed is a data structure tailored to wireless
which can be shared between layers and common across devices.
Perhaps it could be an extention to dev (wdev?) that captures
the necessary sharing. But the problems don't stop there.
Think for a moment about where power-save should be implemented -
which layer?
cheers,
g
Sam Leffler wrote:
> On Monday 06 September 2004 06:23 pm, David S. Miller wrote:
>
>>On Mon, 6 Sep 2004 11:13:31 -0700
>>
>>Sam Leffler <sam@errno.com> wrote:
>>
>>>I've suggested this code as a good starting point for a "generic 802.11
>>>stack" but received only misinformed responses.
>>
>>Sam, I've told you multiple times why your stack isn't a good
>>starting point. It isn't implemented as a true network stack,
>>like IPV4, Appletalk, etc. Instead it's a gross input packet
>>hooked packet eater thing that's an ugly wart bolted onto the
>>side of the driver API.
>
>
> Actually, this is the first time you've said anything to me about this code.
> We corresponded intensely for about a week 2+ years ago after which you
> declared you now knew how to "write an 802.11 stack right" and were going to
> do it that weekend. I waited but it seems the sum total result was the shell
> of code that Jeff referenced in a previous note.
>
> Perhaps you can point me at a description of what a "true network stack" means
> to you. I'm guessing this has to do with your wanting queues inserted at
> various places instead of direct handoffs. Regardless, I've never suggested
> the current code is suitable as-is but rather should be reshaped to suit the
> intended structure of the system. There is a lot of hard-earned experience
> in the code that is independent of coding style and operational
> infrastructure.
>
> Anyway, the point of my note was to correct a comment in the original posting
> and make folks aware that working code existed from which they could crib
> stuff. Good luck finding someone to reimplement eveything according to your
> wishes.
>
> Sam
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
next prev parent reply other threads:[~2004-09-07 17:03 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-31 18:11 [RFC] acx100 inclusion in mainline; generic 802.11 stack Denis Vlasenko
2004-08-31 18:21 ` Jeff Garzik
2004-08-31 19:14 ` Vladimir Kondratiev
2004-08-31 21:37 ` Luis R. Rodriguez
2004-08-31 22:06 ` Vladimir Kondratiev
2004-09-01 2:22 ` Jouni Malinen
2004-09-02 20:24 ` Vladimir Kondratiev
2004-09-02 20:33 ` Jeff Garzik
2004-09-03 17:37 ` Vladimir Kondratiev
2004-09-03 20:29 ` Jeff Garzik
2004-09-06 18:13 ` Sam Leffler
2004-09-06 18:57 ` Vladimir Kondratiev
2004-09-06 19:30 ` Sam Leffler
2004-09-06 20:09 ` Vladimir Kondratiev
2004-09-06 23:04 ` Sam Leffler
2004-09-07 1:23 ` David S. Miller
2004-09-07 4:32 ` Sam Leffler
2004-09-07 6:47 ` David S. Miller
2004-09-07 17:22 ` Vladimir Kondratiev
2004-09-07 17:32 ` David S. Miller
2004-09-07 18:06 ` Vladimir Kondratiev
2004-09-07 18:08 ` David S. Miller
2004-09-07 18:41 ` Vladimir Kondratiev
2004-09-07 19:10 ` David S. Miller
2004-09-07 19:54 ` Vladimir Kondratiev
2004-09-09 2:40 ` Sam Leffler
2004-09-09 4:36 ` Luis R. Rodriguez
2004-09-07 17:03 ` greg chesson [this message]
2004-09-07 17:10 ` [RFC] acx100 inclusion in mainline; " David S. Miller
2004-09-07 18:14 ` greg chesson
2004-09-07 18:16 ` David S. Miller
2004-09-08 7:38 ` jamal
2004-09-08 16:02 ` greg chesson
2004-09-08 19:51 ` Vladimir Kondratiev
2004-09-08 20:52 ` greg chesson
2004-09-08 21:54 ` Vladimir Kondratiev
2004-09-09 17:06 ` greg chesson
2004-09-12 18:03 ` Vladimir Kondratiev
2004-09-13 0:09 ` Jeff Garzik
2004-09-13 0:45 ` David S. Miller
2004-09-15 17:57 ` James Ketrenos
2004-09-13 0:14 ` David S. Miller
2004-09-13 5:39 ` Vladimir Kondratiev
2004-09-13 5:50 ` Jeff Garzik
2004-09-13 23:21 ` David S. Miller
2004-09-14 5:14 ` Vladimir Kondratiev
2004-09-14 5:35 ` David S. Miller
2004-09-14 23:55 ` Luis R. Rodriguez
2004-09-15 0:11 ` Jeff Garzik
2004-09-15 0:51 ` greg chesson
2004-09-15 1:19 ` Jeff Garzik
2004-09-15 3:02 ` Luis R. Rodriguez
2004-09-15 3:05 ` Jeff Garzik
2004-09-15 3:17 ` Luis R. Rodriguez
2004-09-15 5:44 ` Vladimir Kondratiev
2004-09-15 14:47 ` greg chesson
2004-09-15 15:55 ` David S. Miller
2004-09-15 16:48 ` Sam Leffler
2004-09-15 17:06 ` David S. Miller
2004-09-28 12:20 ` [RFC] acx100 inclusion in mainline; " Luis R. Rodriguez
2004-09-28 20:29 ` Vladimir Kondratiev
2004-09-29 0:48 ` Luis R. Rodriguez
2004-09-29 7:10 ` Vladimir Kondratiev
2004-09-29 8:00 ` Luis R. Rodriguez
2004-10-01 14:30 ` Vladimir Kondratiev
2004-10-01 22:53 ` David S. Miller
2004-10-01 23:25 ` Vladimir Kondratiev
2004-10-02 0:11 ` David S. Miller
2004-09-08 21:19 ` [Acx100-devel] Re: [RFC] acx100 inclusion in mainline; " Denis Vlasenko
2004-09-09 3:31 ` Sam Leffler
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=413DE9ED.30300@atheros.com \
--to=greg@atheros.com \
--cc=acx100-devel@lists.sourceforge.net \
--cc=davem@davemloft.net \
--cc=jgarzik@pobox.com \
--cc=jkmaline@cc.hut.fi \
--cc=jt@bougret.hpl.hp.com \
--cc=netdev@oss.sgi.com \
--cc=prism54-devel@prism54.org \
--cc=sam@errno.com \
--cc=vda@port.imtp.ilyichevsk.odessa.ua \
/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).