From: Andrei Emeltchenko <Andrei.Emeltchenko.news@gmail.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: Johannes Berg <johannes@sipsolutions.net>,
linux-bluetooth@vger.kernel.org, linux-wireless@vger.kernel.org
Subject: Re: [RFCv1] mac80211: Adds Software / Virtual AMP 80211
Date: Wed, 18 Apr 2012 15:10:16 +0300 [thread overview]
Message-ID: <20120418121014.GD19228@aemeltch-MOBL1> (raw)
In-Reply-To: <1334749879.16897.221.camel@aeonflux>
Hi Marcel,
On Wed, Apr 18, 2012 at 01:51:19PM +0200, Marcel Holtmann wrote:
> Hi Andrei,
>
> > > > > > >> I don't get this patch at all. Why am I reviewing some very very basic
> > > > > > >> skeleton code when we should be discussing userspace APIs (we have
> > > > > > >> already discussed them with a few people years ago), how the AMP is
> > > > > > >> going to be managed, how the security handshake is going to work, etc.
> > > >
> > > > Do we have some outcome from that discussion?
> > >
> > > This API-defining patch is probably the best we have:
> > > http://johannes.sipsolutions.net/patches/kernel/all/2010-10-13-15%
> > > 3a24/035-bt3-amp.patch
> >
> > Thanks for the link. After looking to the patches I think that there are
> > some similarities with respect to interface type. As I understood the
> > basic idea is the same: create virtual interface. But in your case the
> > implementation is really difficult.
> >
> > Why do we need netlink commands like NL80211_CMD_HCI_AMP_ADD and
> > NL80211_CMD_HCI_AMP_DELETE if what we need is to create/delete virtual
> > interface which can be done with standard tools with a several lines
> > patch to iw:
>
> if we put the crypto piece aside for a minute, then we need to decide
> who is creating the actual AMP virtual interface on mac80211.
I think we can start with creating softAMP in advance.
>
> And here the problem starts. That part is actually not triggered from
> userspace via wpa_supplicant. It is triggered over the A2MP (AMP manager
> protocol) that runs inside the Bluetooth stack in the kernel.
A2MP might work without AMP present on the system. Do we need to create
AMP after "Discover AMP" requests? I believe we might be too smart here.
but this is possibly.
> Or is the idea to always keep the AMP virtual interface around? Meaning
> that as soon as we have a mac80211 card, we have an AMP virtual
> interface if the driver supports it?
IMO this shall be the case.
> This is also a little bit of confusing since FullMac cards will not
> create an AMP virtual interface. With them you just see the HCI AMP
> controller on the Bluetooth side. Can an AMP virtual interface be just
> virtual inside mac80211 or does it have to have a netdev attached to it?
If we create virtual interface then netdev is allocated and we can handle
it with common tools.
> <snip>
>
> > > > > The whole AMP control goes via A2MP and L2CAP and both are fully
> > > > > implemented inside the kernel. In theory we do not even need to expose
> > > > > HCI AMP interfaces to userspace.
> > > >
> > > > Johannes, you can think of SoftAMP as analog of SoftMAC (vs FullMAC).
> > > > SoftMAC is also possible to implement in user space but only
> > > > authentication is done this way.
> > >
> > > Yeah, and we also implement roaming and crypto stuff in userspace, for
> > > softmac. Heck, we implement crypto in userspace even for fullmac, so
> > > really ...
> >
> > Does crypto stuff mean getting symmetric key?
> >
> > I see that all commands by default are sent via netlink to wpa_supplicant.
> > I think that we can send those command which cannot be handled by us
> > directly but I believe most command might be handled directly.
>
> The crypto itself is done either in hardware or with the kernel crypto
> framework. Just the EAP part is done inside wpa_supplicant.
>
> With the changes that we did for Bluetooth and its management interface,
> all the link keys are present in the kernel. And these are used as the
> WPA2 PSK. I don't think it is a good idea to push these around into
> userspace to wpa_supplicant one more time. And we would need to do that
> since bluetoothd has no option to hand them out.
>
> I still think that WPA2 PSK only EAP implementation for Bluetooth AMP
> controllers would be a good idea in the kernel. It has nothing to do
> with policy or user input in this specific case. The roundtrip into
> userspace for doing EAP 4-way handshake and some HMAC-SHA1 where the PSK
> is already present in kernel space seems really pointless.
I do agree here with Marcel.
Best regards
Andrei Emeltchenko
next prev parent reply other threads:[~2012-04-18 12:10 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-10 12:11 [RFCv1] Draft Software/Virtual AMP80211 Andrei Emeltchenko
2012-04-10 12:11 ` [RFCv1] mac80211: Adds Software / Virtual AMP 80211 Andrei Emeltchenko
2012-04-10 12:26 ` Julian Calaby
2012-04-10 12:47 ` Andrei Emeltchenko
2012-04-10 16:39 ` Johannes Berg
2012-04-10 21:17 ` Marcel Holtmann
2012-04-10 21:20 ` Johannes Berg
2012-04-10 21:24 ` Johannes Berg
2012-04-11 7:11 ` Andrei Emeltchenko
2012-04-18 2:03 ` Johannes Berg
2012-04-18 12:15 ` Andrei Emeltchenko
2012-04-18 14:38 ` Johannes Berg
2012-04-18 14:52 ` Andrei Emeltchenko
2012-04-18 15:09 ` Johannes Berg
2012-04-18 15:39 ` Mat Martineau
2012-04-19 6:36 ` Andrei Emeltchenko
2012-04-19 13:28 ` Johannes Berg
2012-04-19 13:39 ` Andrei Emeltchenko
2012-04-19 14:21 ` Johannes Berg
2012-04-10 21:29 ` Marcel Holtmann
2012-04-11 7:05 ` Andrei Emeltchenko
2012-04-18 2:07 ` Johannes Berg
2012-04-18 11:20 ` Andrei Emeltchenko
2012-04-18 11:51 ` Marcel Holtmann
2012-04-18 12:10 ` Andrei Emeltchenko [this message]
2012-04-18 12:15 ` Marcel Holtmann
2012-04-18 12:33 ` Andrei Emeltchenko
2012-04-18 13:11 ` Marcel Holtmann
2012-04-18 13:22 ` Andrei Emeltchenko
2012-04-18 14:29 ` Marcel Holtmann
2012-04-18 15:02 ` Andrei Emeltchenko
2012-04-18 14:34 ` Johannes Berg
2012-04-18 14:56 ` Marcel Holtmann
2012-04-18 14:30 ` 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=20120418121014.GD19228@aemeltch-MOBL1 \
--to=andrei.emeltchenko.news@gmail.com \
--cc=johannes@sipsolutions.net \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=marcel@holtmann.org \
/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