linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jouni Malinen <j@w1.fi>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "Rindjunsky, Ron" <ron.rindjunsky@intel.com>,
	linville@tuxdriver.com, linux-wireless@vger.kernel.org, "Winkler,
	Tomas" <tomas.winkler@intel.com>,
	flamingice@sourmilk.net
Subject: Re: [PATCH 06/14] mac80211: adding 802.11n essential A-MSDU Rxcapability
Date: Sun, 18 Nov 2007 16:19:33 -0800	[thread overview]
Message-ID: <20071119001933.GD8672@jm.kir.nu> (raw)
In-Reply-To: <1194885942.5229.62.camel@johannes.berg>

On Mon, Nov 12, 2007 at 05:45:42PM +0100, Johannes Berg wrote:

> > Would appreciate your opinion for next possible solution:
> > I'll Move ieee80211_rx_h_data_agg before ieee80211_rx_h_802_1x_pae, and
> > assuming I identify A-MSDU, I'll loop for each internal MSDU on:
> >   ieee80211_rx_h_802_1x_pae 
> >   ieee80211_rx_h_drop_unencrypted
> >   ieee80211_rx_h_data
> > return value of ieee80211_rx_h_data_agg to
> > __ieee80211_invoke_rx_handlers will be this small loop's return value 
> 
> I'm not sure I'd like to see such a thing. One thing I'm generally
> unhappy with here is how the handlers are in a list but there isn't a
> point in adding/removing any. Also, I'm not convinced that what you're
> saying will actually work because the handlers expect 802.11 frames so
> you'd have to make 802.11 frames out of the 802.3 frames you get...

When working with a proprietary (pre-802.11n) frame aggregation, we
ended up doing more or less this, i.e., converting the frames to a list
of skb's that had generated 802.11 headers and then passing them one by
one to ieee80211_rx_h_data. I don't know whether I would say that I
likeed the end result, but at least it seemed to work without major
problems.

This was assuming that there were never frames that would need special
handling in the aggregate (i.e., need for special PAE or
unencrypted/encrypted processing). Since the aggregate was encrypted as
a single unit, the drop_unencrypted was not an issue. Same was, in
practice, true for most of PAE processing. I don't think the initial
EAPOL handshake is an issue, but at least in theory, there could be an
EAPOL re-authentication happening at some point and if EAPOL frames
require special processing, this would need to be taken into account.

> What I originally wanted to do for this was to add a new
> "handle_data_frame" function that operates on 802.3 frames but has all
> the info available, is called from the rx_h_data handler and
> incorporates all the three callbacks you list above.That'd be similar to
> what I did with the crypto code (where we now only have a single handler
> doing it all rather than a bunch doing different pieces of the
> functionality)

Please note that data frame handling requires support for four addresses
and plain 802.3 header would not be sufficient without some additional
meta data. I would assume this to be doable, but some of the
functionality will need to moved around to handle the 802.11 specific
things first (like WDS interface selection) and then pass some meta data
in addition to the frame. This would get relatively close to the
MA-UNITDATA service primitives from the MAC (which do indeed only pass
two addresses; 802.3 header would just be one example of how this
information can be passed).

> You should be able to do this in the code right now because I removed
> the management interface and hence EAPOL frames aren't handled
> specially. Hostapd wants to have eapol frames on the management
> interface and 802.11 framed, but I don't understand that and would
> rather have it be done differently.

As long as the issues with encrypted vs. unencrypted frames can be
resolved for both TX and RX in a way that handles the 802.1X and WPA
cases, it should be fine passing EAPOL frames as normal data frames. In
addition, bridging code should be told not to bridge this ethertype if
that has not been done yet.

-- 
Jouni Malinen                                            PGP id EFC895FA

  parent reply	other threads:[~2007-11-19  0:19 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-09  8:01 [PATCH 0/14] mac80211/iwlwifi (#everything): integrate IEEE802.11n support Ron Rindjunsky
2007-11-09  8:01 ` [PATCH 01/14] mac80211: adding MAC80211_HT config variable Ron Rindjunsky
2007-11-09  8:01   ` [PATCH 02/14] mac80211: adding 802.11n definitions in ieee80211.h Ron Rindjunsky
2007-11-09  8:01     ` [PATCH 03/14] mac80211: adding 802.11n HT framework definitions Ron Rindjunsky
2007-11-09  8:01       ` [PATCH 04/14] mac80211: adding 802.11n IEs handling Ron Rindjunsky
2007-11-09  8:01         ` [PATCH 05/14] mac80211: adding 802.11n essential A-MPDU addBA capability Ron Rindjunsky
2007-11-09  8:01           ` [PATCH 06/14] mac80211: adding 802.11n essential A-MSDU Rx capability Ron Rindjunsky
2007-11-09  8:01             ` [PATCH 07/14] mac80211: adding 802.11n configuration flows Ron Rindjunsky
2007-11-09  8:02               ` [PATCH 08/14] iwlwifi: 802.11n new framework structures preperation Ron Rindjunsky
2007-11-09  8:02                 ` [PATCH 09/14] iwlwifi: 802.11n configuring hw_mode parameters to support HT in A/G Ron Rindjunsky
2007-11-09  8:02                   ` [PATCH 10/14] iwlwifi: 802.11n handling probe request HT IE Ron Rindjunsky
2007-11-09  8:02                     ` [PATCH 11/14] iwlwifi: 802.11n comply HT self configuration flow with mac80211 framework Ron Rindjunsky
2007-11-09  8:02                       ` [PATCH 12/14] iwlwifi: 802.11n comply HT add station " Ron Rindjunsky
2007-11-09  8:02                         ` [PATCH 13/14] iwlwifi: 802.11n comply HT rate scaling flows " Ron Rindjunsky
2007-11-09  8:02                           ` [PATCH 14/14] iwlwifi: 802.11n add support to 8K A-MSDU Rx frames Ron Rindjunsky
2007-11-09 16:53                         ` [PATCH 12/14] iwlwifi: 802.11n comply HT add station flow with mac80211 framework Johannes Berg
2007-11-11 20:21                           ` [PATCH 12/14] iwlwifi: 802.11n comply HT add station flow withmac80211 framework Rindjunsky, Ron
2007-11-12 16:35                             ` Johannes Berg
2007-11-09 16:52                     ` [PATCH 10/14] iwlwifi: 802.11n handling probe request HT IE Johannes Berg
2007-11-09 16:51                   ` [PATCH 09/14] iwlwifi: 802.11n configuring hw_mode parameters to support HT in A/G Johannes Berg
2007-11-09 16:48               ` [PATCH 07/14] mac80211: adding 802.11n configuration flows Johannes Berg
2007-11-11 20:20                 ` Rindjunsky, Ron
2007-11-12 16:37                   ` Johannes Berg
2007-11-13 15:58                     ` Rindjunsky, Ron
2007-11-09 16:41             ` [PATCH 06/14] mac80211: adding 802.11n essential A-MSDU Rx capability Johannes Berg
2007-11-11 20:20               ` [PATCH 06/14] mac80211: adding 802.11n essential A-MSDU Rxcapability Rindjunsky, Ron
2007-11-12 16:45                 ` Johannes Berg
2007-11-13 15:58                   ` [PATCH 06/14] mac80211: adding 802.11n essential A-MSDURxcapability Rindjunsky, Ron
2007-11-13 16:22                   ` Rindjunsky, Ron
2007-11-13 16:32                     ` Johannes Berg
2007-11-14 15:14                       ` Ron Rindzonski
2007-11-19  0:19                   ` Jouni Malinen [this message]
2007-11-19 13:29                     ` [PATCH 06/14] mac80211: adding 802.11n essential A-MSDU Rxcapability Ron Rindjunsky
2007-11-19 15:27                     ` Johannes Berg
2007-11-09 16:34           ` [PATCH 05/14] mac80211: adding 802.11n essential A-MPDU addBA capability Johannes Berg
2007-11-11 20:20             ` [PATCH 05/14] mac80211: adding 802.11n essential A-MPDU addBAcapability Rindjunsky, Ron
2007-11-12 16:48               ` Johannes Berg
2007-11-13 15:58                 ` [PATCH 05/14] mac80211: adding 802.11n essential A-MPDUaddBAcapability Rindjunsky, Ron
2007-11-09 16:23       ` [PATCH 03/14] mac80211: adding 802.11n HT framework definitions Johannes Berg
2007-11-11 20:20         ` Rindjunsky, Ron
2007-11-09 16:26     ` [PATCH 02/14] mac80211: adding 802.11n definitions in ieee80211.h Johannes Berg
2007-11-11 20:20       ` [PATCH 02/14] mac80211: adding 802.11n definitions inieee80211.h Rindjunsky, Ron
2007-11-12 16:49         ` Johannes Berg
2007-11-12  3:24   ` [PATCH 01/14] mac80211: adding MAC80211_HT config variable Michael Wu
2007-11-12  7:33     ` Rindjunsky, Ron

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=20071119001933.GD8672@jm.kir.nu \
    --to=j@w1.fi \
    --cc=flamingice@sourmilk.net \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=ron.rindjunsky@intel.com \
    --cc=tomas.winkler@intel.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).