Okay, here is the first of the five patches. After applying all of them you should be able to build/join huge city mesh networks (e.g. with the OLSR protocol) with the most of the mac80211 wireless drivers by setting a fixed BSSID in the ad hoc mode. (If you found no other bug/problem.) This was not specified in the original standard, but is a widely used de facto standard.
The first patch now completely disallow to set multicast MAC addresses as BSSID. The behavior before was really strange.
Signed-off-by: Alina Friedrichsen <[email protected]>
diff -urN compat-wireless-2009-01-05.orig/net/mac80211/mlme.c compat-wireless-2009-01-05.work/net/mac80211/mlme.c
--- compat-wireless-2009-01-05.orig/net/mac80211/mlme.c 2009-01-06 01:38:05.000000000 +0100
+++ compat-wireless-2009-01-05/net/mac80211/mlme.c 2009-01-06 01:47:41.000000000 +0100
@@ -2576,11 +2576,16 @@
{
struct ieee80211_if_sta *ifsta;
int res;
+ bool valid;
ifsta = &sdata->u.sta;
+ valid = is_valid_ether_addr(bssid);
if (memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0) {
- memcpy(ifsta->bssid, bssid, ETH_ALEN);
+ if(valid)
+ memcpy(ifsta->bssid, bssid, ETH_ALEN);
+ else
+ memset(ifsta->bssid, 0, ETH_ALEN);
res = 0;
/*
* Hack! See also ieee80211_sta_set_ssid.
@@ -2594,7 +2599,7 @@
}
}
- if (is_valid_ether_addr(bssid))
+ if (valid)
ifsta->flags |= IEEE80211_STA_BSSID_SET;
else
ifsta->flags &= ~IEEE80211_STA_BSSID_SET;
--
Psssst! Schon vom neuen GMX MultiMessenger geh?rt? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger
On Tue, Jan 6, 2009 at 10:39 AM, Johannes Berg
<[email protected]> wrote:
> On Tue, 2009-01-06 at 19:35 +0100, Alina Friedrichsen wrote:
>> Is there somewhere a git repository, with all the new patches merged?
>> So that I have link where other people can download easily the newest
>> version and test it, to maybe look for other problem in the ad hoc
>> mode, before it is in compat-wireless.
>
> well, wireless-testing, but compat-wireless is updated nightly, iirc.
Affirmative.
Alina, check this guide out, it may help you to post your patches:
http://wireless.kernel.org/en/developers/Documentation/git-guide
Luis
Hello Johannes!
> These look ok to me, with proper changelogs. Thanks. You should have
> made the subjects
>=20
> [PATCH 1/5] mac80211: Disallow ...
>=20
> etc. and also line-wrapped the changelogs, since these are fed direct=
ly
> into git normally.
Okay, but can I do this with the next patches and not repost all this a=
gain?
Is there somewhere a git repository, with all the new patches merged? S=
o that I have link where other people can download easily the newest ve=
rsion and test it, to maybe look for other problem in the ad hoc mode, =
before it is in compat-wireless.
Regards
Alina
--=20
Psssst! Schon vom neuen GMX MultiMessenger geh=F6rt? Der kann`s mit all=
en: http://www.gmx.net/de/go/multimessenger
On Tue, 2009-01-06 at 19:35 +0100, Alina Friedrichsen wrote:
> Hello Johannes!
>
> > These look ok to me, with proper changelogs. Thanks. You should have
> > made the subjects
> >
> > [PATCH 1/5] mac80211: Disallow ...
> >
> > etc. and also line-wrapped the changelogs, since these are fed directly
> > into git normally.
>
> Okay, but can I do this with the next patches and not repost all this again?
I'll leave that to John to answer, he gets to do the work if you don't
repost.
> Is there somewhere a git repository, with all the new patches merged?
> So that I have link where other people can download easily the newest
> version and test it, to maybe look for other problem in the ad hoc
> mode, before it is in compat-wireless.
well, wireless-testing, but compat-wireless is updated nightly, iirc.
johannes
Hi Luis!
> Alina, check this guide out, it may help you to post your patches:
>=20
> http://wireless.kernel.org/en/developers/Documentation/git-guide
Okay, thanks!
Regards
Alina
--=20
Psssst! Schon vom neuen GMX MultiMessenger geh=F6rt? Der kann`s mit all=
en: http://www.gmx.net/de/go/multimessenger
On Tue, 2009-01-06 at 02:41 +0100, Alina Friedrichsen wrote:
> Okay, here is the first of the five patches. After applying all of them you should be able to build/join huge city mesh networks (e.g. with the OLSR protocol) with the most of the mac80211 wireless drivers by setting a fixed BSSID in the ad hoc mode. (If you found no other bug/problem.) This was not specified in the original standard, but is a widely used de facto standard.
>
> The first patch now completely disallow to set multicast MAC addresses as BSSID. The behavior before was really strange.
>
> Signed-off-by: Alina Friedrichsen <[email protected]>
These look ok to me, with proper changelogs. Thanks. You should have
made the subjects
[PATCH 1/5] mac80211: Disallow ...
etc. and also line-wrapped the changelogs, since these are fed directly
into git normally.
> diff -urN compat-wireless-2009-01-05.orig/net/mac80211/mlme.c compat-wireless-2009-01-05.work/net/mac80211/mlme.c
> --- compat-wireless-2009-01-05.orig/net/mac80211/mlme.c 2009-01-06 01:38:05.000000000 +0100
> +++ compat-wireless-2009-01-05/net/mac80211/mlme.c 2009-01-06 01:47:41.000000000 +0100
> @@ -2576,11 +2576,16 @@
> {
> struct ieee80211_if_sta *ifsta;
> int res;
> + bool valid;
>
> ifsta = &sdata->u.sta;
> + valid = is_valid_ether_addr(bssid);
>
> if (memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0) {
> - memcpy(ifsta->bssid, bssid, ETH_ALEN);
> + if(valid)
> + memcpy(ifsta->bssid, bssid, ETH_ALEN);
> + else
> + memset(ifsta->bssid, 0, ETH_ALEN);
> res = 0;
> /*
> * Hack! See also ieee80211_sta_set_ssid.
> @@ -2594,7 +2599,7 @@
> }
> }
>
> - if (is_valid_ether_addr(bssid))
> + if (valid)
> ifsta->flags |= IEEE80211_STA_BSSID_SET;
> else
> ifsta->flags &= ~IEEE80211_STA_BSSID_SET;
>
> Is there somewhere a git repository, with all the new patches
> merged? So that I have link where other people can download
> easily the newest version and test it, to maybe look for other
> problem in the ad hoc mode, before it is in compat-wireless.
If your patch get's accepted, it will first end in
http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git
Hello Johannes!
> I'll leave that to John to answer, he gets to do the work if you don't
> repost.
Okay, if John want it, I will do this, sorry...
> well, wireless-testing, but compat-wireless is updated nightly, iirc.
Okay, thanks.
cu
Alina