From: Johannes Berg <johannes@sipsolutions.net>
To: Ben Greear <greearb@candelatech.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
Bob Copeland <me@bobcopeland.com>
Subject: Re: question on "mac80211_hwsim: support any address in userspace"
Date: Wed, 16 Dec 2015 14:25:08 +0100 [thread overview]
Message-ID: <1450272308.8247.11.camel@sipsolutions.net> (raw)
In-Reply-To: <56716386.4070107@candelatech.com>
On Wed, 2015-12-16 at 05:13 -0800, Ben Greear wrote:
> On 12/16/2015 01:17 AM, Johannes Berg wrote:
> > On Tue, 2015-12-15 at 19:29 -0800, Ben Greear wrote:
> > > This patch below was added to the kernel around 2/24/2015
> > >
> > > I am curious mostly about the first change: I thought the
> > > transmitter-addr relates to the radio device, not the vdev (sta,
> > > ap,
> > > etc).
> >
> > It doesn't, even on real hardware.
>
> No, I mean that the HWSIM_ATTR_ADDR_TRANSMITTER should relate to the
> radio, and not the vdev, see the mac80211_hwsim.h:
>
> * @HWSIM_ATTR_ADDR_TRANSMITTER: MAC address of the radio device that
> * the frame was broadcasted from
I think that just means the documentation is misleading. Clearly, the
TA (hdr->addr2) is intended and implemented. "radio device" is a bit of
a misleading term when you have virtual interfaces.
> Since we are asking user-space to provide HWSIM_ATTR_ADDR_TRANSMITTER,
> then we can use that to find the radio device. Then, normal mac80211
> logic can handle finding the vdevs (just as it does for ath9k).
Oh.
So you're basically arguing that we should treat it as a cookie, and on
outgoing frames give the hardware address, and on incoming frames use
it only to look up the struct mac80211_hwsim_data.
> And in this case, there is no reason to have more than one address
> associated with the hwsim radio device. We could add a pretty simple
> hash to keep the lookup near constant time instead of linear search
> as the current behaviour is...
Yeah, ok, that would be (have been) doable I guess. We'd still have the
real TA in the frame itself (hdr->addr2).
> I think that wmediumd should keep it's own mapping of what radio
> a vdev is on and use the proper hwsim radio addr for the
> HWSIM_ATTR_ADDR_TRANSMITTER attribute.
That's somewhat difficult for it, since it could only populate that
mapping on actual TX frames.
I think this is pretty much a done deal by now though since I don't
really want to break wmediumd.
If we wanted to go this route I think we should be more explicit and
simply use the HWSIM_ATTR_RADIO_ID attribute. We could support that
easily - just see if the RADIO_ID is present and look up the
transmitter (or receiver btw) radio based on the RADIO_ID if present -
that gives a clean path forward too since wmediumd can be taught to
specify both knowing the kernel will prefer the radio ID if present.
johannes
next prev parent reply other threads:[~2015-12-16 13:25 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-16 3:29 question on "mac80211_hwsim: support any address in userspace" Ben Greear
2015-12-16 9:17 ` Johannes Berg
2015-12-16 13:13 ` Ben Greear
2015-12-16 13:25 ` Johannes Berg [this message]
2015-12-16 13:35 ` Ben Greear
2015-12-16 13:42 ` Johannes Berg
2015-12-16 14:11 ` Ben Greear
2015-12-16 14:14 ` Johannes Berg
2015-12-16 14:15 ` Johannes Berg
2015-12-16 14:59 ` Bob Copeland
2015-12-16 15:52 ` Ben Greear
2015-12-16 17:30 ` Adam R. Welle
2015-12-16 17:46 ` Bob Copeland
2015-12-16 18:57 ` Adam R. Welle
2015-12-16 22:14 ` Ben Greear
2015-12-16 22:56 ` Adam R. Welle
2015-12-16 23:20 ` Ben Greear
2015-12-16 23:56 ` Adam R. Welle
2015-12-17 13:26 ` Bob Copeland
2015-12-16 13:21 ` me@bobcopeland.com >> Bob Copeland
2015-12-16 13:27 ` Ben Greear
2015-12-16 13:57 ` me@bobcopeland.com >> Bob Copeland
2015-12-16 14:16 ` Ben Greear
2015-12-16 14:33 ` me@bobcopeland.com >> Bob Copeland
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=1450272308.8247.11.camel@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=greearb@candelatech.com \
--cc=linux-wireless@vger.kernel.org \
--cc=me@bobcopeland.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).