From: "Randy.Dunlap" <rddunlap@osdl.org>
To: James Ketrenos <jketreno@linux.intel.com>
Cc: netdev@oss.sgi.com
Subject: Re: [PATCH] ieee80211 subsystem
Date: Fri, 04 Feb 2005 22:07:56 -0800 [thread overview]
Message-ID: <420462BC.6010903@osdl.org> (raw)
In-Reply-To: <4203C32A.70402@linux.intel.com>
James Ketrenos wrote:
> Attached is the patch against 2.6.11-rc3-mm1 that adds the ieee80211
> subsystem used by the ipw2100 and ipw2200 projects.
>
> I'll be sending out the patches for ipw2100-1.0.0 and ipw2200-1.0.0 that
> use thist stack to the list on Monday.
>
> In terms of what the stack currently does:
>
> * HW independent -- it only knows about 802.11 data and structures
> * Performs an 802.3 <-> 802.11 transform for data Tx/Rx
> * Host based support for fragmentation, WEP, and WPA using the kernel's
> crypto functions
> * Beacon and probe response collection and parsing
> * Default implementation of some of the WE handlers that can be managed
> without hardware knowledge
>
> We are working to merge in Dave Miller's p80211 code into the ieee80211
> subsystem so that it hooks into the kernel as a true network layer as
> opposed to a mutated offspring of ethernet.
> Once that is done, hopefully the skb to txb code can be reworked and
> 802.11 fragments can be treated either as normal skbs, or skbs can be
> modified to directly support them (ideally so that encrypted 802.11
> frames in support of IP packets can be cached by the stack instead of
> having to be re-encrypted on TCP retries)
>
> Support for HW/FW crypto and fragmentation offload, in a HW independent
> fashion, is also on the short-term list.
>
> When you look through the patch you'll likely notice the #ifdef
> NOTYET/#endif sequences surrounding portions of code from the hostap
> project. Portions of this subsystem were based on an earlier version of
> the hostap project. Those areas that weren't directly supported by the
> ipw* projects weren't ported to be completely hardware independent
> (since I don't have the hardware to test it), and so are still wrapped
> in the ifdefs. These sections mainly cover support for MASTER and WDS
> modes.
>
> Anyway, please let me know what you think. Hopefully I built the patch
> right...
It applies fine.
A few comments:
1. config IEEE80211_DEBUG
bool "Enable full debugging output"
depends on IEEE80211
+ /proc/net/ieee80211/debug_level
+
+ For example:
+
+ % echo 0x00000FFO > /sys/bus/pci/drivers/ipw2200/debug_level
I get the impression that one of these file names is incorrect:
/proc vs. /sys.....
+ % . idvals
+
+ From within drivers/net/wireless/ipw2200
Is there some good place for this other than in
drivers/net/wireless? I don't know.
+ If you are not trying to debug or develop the IPW2200 driver,
+ you
+ most likely want to say N here.
Combine those last 2 lines.
2. This can be compiled as a modules and it will be called
+ "ieee80211_crypt.ko".
Don't use the ".ko" suffix at all (anywhere).
3. +static int __init ieee80211_crypto_init(void)
+ (void) ieee80211_register_crypto_ops(&ieee80211_crypt_null);
That register call can fail, so I'd rather see it checked, as in all
of the other similar register calls.
4. +static void * ieee80211_ccmp_init(int key_idx)
+ if (priv == NULL) {
+ goto fail;
+ }
Lose the braces. Same for:
ieee80211_ccmp_init()
5. +static void ccmp_init_blocks()
+ /* CCM Initial Block:
+ * Flag (Include authentication header, M=3 (8-octet MIC),
+ * L=1 (2-octet Dlen))
+ * Nonce: 0x00 | A2 | PN
+ * Dlen */
Kernel long comment style begins with "/*" by itself and
ends with "*/" by itself.
6. +struct ieee80211_ccmp_data {
+ u32 dot11RSNAStatsCCMPFormatErrors;
+ u32 dot11RSNAStatsCCMPReplays;
+ u32 dot11RSNAStatsCCMPDecryptErrors;
Are these MIB-mandated names? otherwise the studlyCaps should go.
7. +static int ieee80211_ccmp_decrypt()
Does anything care about the various negative/error case return
values?
8. What calls the .print_stats functions?
static char * ieee80211_ccmp_print_stats()
Is it possible to use seq_file there instead of sprintf(),
or is this in /sysfs (so seq_file is not possible)?
Are there any overflow possibilities?
Enough for tonight...
--
~Randy
next prev parent reply other threads:[~2005-02-05 6:07 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-04 18:47 [PATCH] ieee80211 subsystem James Ketrenos
2005-02-04 22:48 ` Jeff Garzik
2005-02-05 6:07 ` Randy.Dunlap [this message]
2005-02-08 3:57 ` Jouni Malinen
2005-02-08 9:41 ` James Ketrenos
2005-02-05 8:13 ` Christoph Hellwig
2005-02-08 2:49 ` Randy.Dunlap
2005-02-08 8:24 ` James Ketrenos
2005-02-10 4:36 ` Randy.Dunlap
2005-02-08 4:29 ` Jouni Malinen
2005-02-08 9:26 ` James Ketrenos
2005-02-08 23:25 ` Jeff Garzik
2005-02-08 23:33 ` James Ketrenos
2005-02-11 0:49 ` James Ketrenos
2005-02-11 21:44 ` Jeff Garzik
2005-02-08 4:45 ` Randy.Dunlap
2005-02-08 19:13 ` Stephen Hemminger
-- strict thread matches above, loose matches on Subject: below --
2005-02-08 21:45 Jean Tourrilhes
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=420462BC.6010903@osdl.org \
--to=rddunlap@osdl.org \
--cc=jketreno@linux.intel.com \
--cc=netdev@oss.sgi.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).