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 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.