netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Ketrenos <jketreno@linux.intel.com>
To: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Garzik <jgarzik@pobox.com>,
	vkondra@mail.ru, greg@atheros.com, netdev@oss.sgi.com,
	acx100-devel@lists.sourceforge.net, hadi@cyberus.ca,
	jkmaline@cc.hut.fi, prism54-devel@prism54.org, sam@errno.com,
	vda@port.imtp.ilyichevsk.odessa.ua
Subject: Re: generic 802.11 stack
Date: Wed, 15 Sep 2004 12:57:44 -0500	[thread overview]
Message-ID: <41488298.7060909@linux.intel.com> (raw)
In-Reply-To: <20040912174544.630a0b44.davem@davemloft.net>

David S. Miller wrote:

>On Sun, 12 Sep 2004 20:09:08 -0400
>Jeff Garzik <jgarzik@pobox.com> wrote:
>  
>
>>Vladimir Kondratiev wrote:
>>    
>>
>>>To inform about status:
>>>I started to work on idea of 802.11 generic stack. I start from code by Dave. 
>>>This far I fixed it to compile for 2.6 (Makefile and couple of syntax 
>>>errors).
>>>I am going to implement minimum functionality, at this stage I will somehow 
>>>publish the project. Anyone can suggest what it the right solution for 
>>>hosting? Sourceforge? Something else?
>>>      
>>>
>>I can put it into the wireless-2.6 queue, which is where I would prefer 
>>that work on a generic 802.11 stack went.
>>    
>>
>
>This is fine with me as well.
>  
>
I have seen two paths that need to occur:

1) Creation of a generic 802.11 frame handling stack (management, data, 
etc.) sufficient to do .3 to .11 conversion, .11 fragmentation, state 
machine, etc.
2) Tight integration of a .11 stack into the kernel

The first step can occur with minimal changes to the rest of the 
kernel,  isolated completely within drivers/net/wireless.  Once a stack 
is there, all the drivers there can be adapted to use that.  This would 
seem reasonable to pull into the 2.6 stable series.

The second step will likely require more invasive changes to other parts 
of the networking stack and I hadn't thought such changes would be 
considered for 2.6.

Am I incorrect in the above?

We have been cleaning up the ipw2200/ipw2100 and their corresponding 
ieee80211 stack so that it could then be used with the other wifi 
drivers (adapting it to add back in features from HostAP that are 
currently stub'd out) in a non-intrusive way (we would like to get ipw* 
merged in soon).  We have a bk tree for this cloned from wireless-2.6 
avialable at ipw.bkbits.net/ipw-2.6.

Right now a driver can register with netdev's xmit to receive the 
ethernet frame and then pass it to ieee80211_skb_to_txb() to transform 
it into a chain of 802.11 fragments (encrypted if configured to do so) 
which the device can then pass to the HW.  I don't like the way the 
skb_to_txb transform occurs, but its working right now.  The next level 
of integration would be to have the device driver register an ieee80211 
stack callback as the xmit handler, and then register a .11 xmit with 
the ieee80211 stack.

Anyway, based on what I had read previously on this group, the sequence 
of steps I understood needing to be followed were:

0) Get the ipw2100 and ipw2200 drivers functionally complete so that end 
users can fully utilize that hardware.
1) Create generic ieee80211 frame handling stack.  HW specific piece 
should be limited to Tx/Rx of raw frames as much as possible (while 
supporting drivers that can not do full 802.11 frame tx/rx).  For 
nonintrusive inclusion in kernel, this would be achieved through calls 
into the ieee80211 stack from the driver vs. addition of netdev entry 
points.  To date this has been achieved by adding infrastructure into 
either the ipw2100 or ipw2200 project, then merging it into ieee80211 so 
that the other project could leverage it.
2) Adapt other drivers besides ipw2100 and ipw2200 to use the stack
3) Once 1 and 2 are stabilized, begin restructuring the entry points to 
more tightly integrate the .11 handling into the netdev core.

One area where I wasn't sure on how invasive it would be for stack 
optimizations deal with 802.11 fragmentation and encryption of said 
fragments such that TCP retries do not require 
re-fragmentation/encryption when host based enc/frag is enabled.

The next potentially invasive area is the addition of TGe support which 
Vladimir has discussed previously.

We based the current ieee80211 stack in part on the Host AP stack.  In 
looking through the madwifi stack, there are traights that it carries 
that would be nice to be able to use as well moving forward -- whether 
through code (CVS madwifi is licensed under a GPL compatible BSD 
license) or aspects of design. 

The whole of the ieee80211 stack (and ipw2100/ipw2200 drivers) are 
licensed under GPL version 2.

James

  reply	other threads:[~2004-09-15 17:57 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       ` [RFC] acx100 inclusion in mainline; " greg chesson
2004-09-07 17:10         ` 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 [this message]
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=41488298.7060909@linux.intel.com \
    --to=jketreno@linux.intel.com \
    --cc=acx100-devel@lists.sourceforge.net \
    --cc=davem@davemloft.net \
    --cc=greg@atheros.com \
    --cc=hadi@cyberus.ca \
    --cc=jgarzik@pobox.com \
    --cc=jkmaline@cc.hut.fi \
    --cc=netdev@oss.sgi.com \
    --cc=prism54-devel@prism54.org \
    --cc=sam@errno.com \
    --cc=vda@port.imtp.ilyichevsk.odessa.ua \
    --cc=vkondra@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 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).