netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Jiri Benc <jbenc@suse.cz>
Cc: netdev <netdev@vger.kernel.org>,
	"John W. Linville" <linville@tuxdriver.com>,
	Jouni Malinen <jkm@devicescape.com>,
	Simon Barber <simon@devicescape.com>,
	Hong Liu <hong.liu@intel.com>, Ivo van Doorn <ivdoorn@gmail.com>,
	Michael Wu <flamingice@sourmilk.net>,
	Michael Buesch <mbuesch@freenet.de>,
	David Kimdon <david.kimdon@devicescape.com>,
	James Ketrenos <jketreno@linux.intel.com>
Subject: Re: [PATCH 0/11] convert d80211 to a proper protocol
Date: Tue, 07 Nov 2006 00:06:34 +0100	[thread overview]
Message-ID: <1162854394.1412.40.camel@johannes.berg> (raw)
In-Reply-To: <20061106210145.6824bec6@griffin.suse.cz>

[-- Attachment #1: Type: text/plain, Size: 1597 bytes --]

On Mon, 2006-11-06 at 21:01 +0100, Jiri Benc wrote:

> This definitely breaks AP mode. In the code, there is heavily (ab)used
> the fact that the master device is in fact an AP device. I tried to fix
> that but it was so difficult I gave up. It is needed to rewrite the
> whole RX path (and even that is probably not enough).

Alright, I see the point. Let's fix it up good while at it. Here's a
braindump.

Keeping with the protocol theme, we need to rewrite the rx path to do
the following in the order listed:

 1) if any monitor interfaces are up, copy the skb, add the
    prism/radiotap/whatever header and then clone it to all monitor
    interfaces (don't actually copy for each as we do now)
 2) if it is a unicast frame, determine which interface the frame should
    go to now, it can't be going to more than one afaik
 2) decrypt the frame
 3) defragment the frame
 4) send the frame off to each sub_if that might care about it
 5) do further device specific processing

I need to think more about this though.

If we're careful, we can probably get away with a lot less copying than
we do now by pushing the copying down into those handlers that really
need different data. This would probably only be the crypto handlers,
the others can live with just pskb_copy instead. Then again, we don't
handle non-linear skbs anyway. Actually, we should be calling
skb_linearize at least, no?

And if the frame is not encrypted at all, then we can even save the
skb_copy for the monitor and just use skb_clone and later pskb_copy...

Time for bed,
johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

  parent reply	other threads:[~2006-11-06 23:08 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-05 15:39 [PATCH 0/11] convert d80211 to a proper protocol Johannes Berg
2006-11-05 16:54 ` Ivo van Doorn
2006-11-05 17:05   ` Johannes Berg
2006-11-05 17:09     ` Johannes Berg
2006-11-05 17:06   ` Johannes Berg
2006-11-06 20:01 ` Jiri Benc
2006-11-06 21:09   ` Johannes Berg
2006-11-08 11:58     ` Jiri Benc
2006-11-08 12:33       ` Johannes Berg
2006-11-08 13:36       ` Jeff Garzik
2006-11-06 23:06   ` Johannes Berg [this message]
2006-11-08 12:09     ` Jiri Benc
2006-11-08 12:53       ` Johannes Berg
2006-11-07 18:52   ` Johannes Berg
2006-11-07 19:02     ` Ivo van Doorn
2006-11-07 20:33       ` Johannes Berg

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=1162854394.1412.40.camel@johannes.berg \
    --to=johannes@sipsolutions.net \
    --cc=david.kimdon@devicescape.com \
    --cc=flamingice@sourmilk.net \
    --cc=hong.liu@intel.com \
    --cc=ivdoorn@gmail.com \
    --cc=jbenc@suse.cz \
    --cc=jketreno@linux.intel.com \
    --cc=jkm@devicescape.com \
    --cc=linville@tuxdriver.com \
    --cc=mbuesch@freenet.de \
    --cc=netdev@vger.kernel.org \
    --cc=simon@devicescape.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).