From: bruno randolf <bruno@thinktube.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: mcgrof@gmail.com, jirislaby@gmail.com, mickflemm@gmail.com,
linux-wireless@vger.kernel.org, linville@tuxdriver.com,
Ivo van Doorn <ivdoorn@gmail.com>
Subject: Re: [PATCH] mac80211: enable IBSS merging
Date: Fri, 25 Jan 2008 17:01:59 +0900 [thread overview]
Message-ID: <200801251701.59629.bruno@thinktube.com> (raw)
In-Reply-To: <1201193704.3454.137.camel@johannes.berg>
On Friday 25 January 2008 01:55:04 Johannes Berg wrote:
> > i can see now how you could interpret this as only applying to timers,
> > but i think that does just not make sense - why would you want to sync
> > timers and adapt beacon intervals if you don't share the same BSSID?
>
> Hmm. Well I thought that was pretty much just for optimising performance
> but now that I think about it again...
>
> > i agree that the standard is quite ambigious when it comes to IBSS, but
> > practically speaking, it is necessary to merge IBSS cells most of the
> > time if you want to have IBSS working as expected. therefore i tend to
> > interpret the ambigious parts of the standard in a way that will improve
> > functionality.
>
> I think "working as expected" is stretching it a bit ;) How do you
> expect IBSS to work?
i think it's a reasonable expectation from a users point of view that two or
more IBSS nodes using the same ESSID on the same channel can communicate with
each other, regardless of when and where they were configured.
> I'd expect only the simplest use case from it:
> start IBSS on one station and have another one in the vicinity find it
> while scanning and join it. That works regardless of merging or not.
this is probably a valid, but a most conservative interpretation of the
standard, which makes IBSS practically unusable in many (or most) occasions.
i guess you have never actually used IBSS much. otherwise you would know from
experience that your simplest use case practically rarely happens. usually
you have situations where you miss the others BSS while scanning and end up
with 2 different BSSIDs. or what happens if there is a third station within
station 2's reach but out of range for station 1? sta2 will adopt the BSSID
of sta3, but sta1 will not and start a new BSSID. so not even your simplest
use case of two newly started stations will just work (without ibss merge).
examples and scenarios are endless, do you want me to continue? ;)
also i am not inventing this "non-standard merge". it is *not* non-standard,
it's just not directly obvious from reading the standard.
IBSS merges are done like this by various cards and drivers: prism54 does the
same (in firmware), hostap driver did it like this (probably does but i
haven't used it in quite a while), the broadcom driver in openwrt acts like
this, madwifi merges like this (ups, maybe i shouldn't have said that ;)) and
so on...
aren't there any other serious IBSS users out there who can support this case
and confirm that we need IBSS merge functionality?
> > please see my last post where i suggest to use:
> >
> > + if (rx_status->flag & RX_FLAG_TSFT)
> > + /* in order for correct IBSS merging we need
> > mactime*/ + mactime = rx_status->mactime;
> > + else if (local && local->ops && local->ops->get_tsf)
> > + /* second best option: get current TSF */
> > + mactime =
> > local->ops->get_tsf(local_to_hw(local)); + else
> > + /* can't merge without knowing the TSF */
> > + mactime = -1LLU;
> >
> > instead.
>
> Not sure. That's a bit on a fine line, if you have a slow device
> get_tsf() might be well off and this could trigger a BSSID change in
> both stations.
i don't see that problem: if get_tsf() is called very late on a slow device,
it would be higher than the beacons TSF, and nothing would happen.
also usually the beacons TSF is quite old, maybe from an IBSS running for
several hours or even days or weeks and therefore we would catch most
situations where IBSS merge is necessary even if get_tsf() is a bit off the
beacon reception time. but in order to be able to merge more correctly it
would be better if these devices could get the TSF as early as possible.
regards,
bruno
next prev parent reply other threads:[~2008-01-25 8:01 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-18 12:52 [PATCH] mac80211: enable IBSS merging Bruno Randolf
2008-01-20 10:17 ` Luis R. Rodriguez
2008-01-20 10:43 ` Ivo van Doorn
2008-01-21 1:52 ` bruno randolf
2008-01-21 16:05 ` Ivo van Doorn
2008-01-22 19:47 ` Luis R. Rodriguez
2008-01-22 19:54 ` Ivo van Doorn
2008-01-22 20:32 ` Luis R. Rodriguez
2008-01-22 20:51 ` Ivo van Doorn
2008-01-23 1:59 ` [ath5k-devel] " bruno randolf
2008-01-22 23:16 ` Adam Baker
2008-01-22 23:25 ` Ivo van Doorn
2008-01-23 14:49 ` Johannes Berg
2008-01-24 5:51 ` bruno randolf
2008-01-21 1:57 ` bruno randolf
2008-01-23 14:48 ` Johannes Berg
2008-01-23 17:22 ` Dan Williams
2008-01-24 3:49 ` bruno randolf
2008-01-24 3:26 ` bruno randolf
2008-01-24 16:55 ` Johannes Berg
2008-01-25 8:01 ` bruno randolf [this message]
2008-02-02 23:22 ` Luis R. Rodriguez
2008-02-05 1:50 ` bruno randolf
2008-02-05 1:56 ` Luis R. Rodriguez
2008-02-06 10:01 ` Johannes Berg
2008-02-06 4:34 ` Jouni Malinen
2008-02-06 18:33 ` Luis R. Rodriguez
2008-02-06 20:10 ` John W. Linville
2008-02-07 3:58 ` Jouni Malinen
2008-02-08 9:22 ` Luis R. Rodriguez
2008-02-12 2:00 ` bruno randolf
2008-02-15 1:06 ` Luis R. Rodriguez
2008-02-15 1:40 ` bruno randolf
2008-02-07 3:52 ` Jouni Malinen
2008-02-08 9:10 ` Luis R. Rodriguez
2008-01-24 5:43 ` bruno randolf
2008-01-24 8:51 ` Kalle Valo
2008-01-24 14:27 ` Johannes Berg
2008-01-24 14:30 ` Johannes Berg
2008-01-25 6:16 ` bruno randolf
-- strict thread matches above, loose matches on Subject: below --
2008-02-05 11:08 [PATCH 2/2] " Johannes Berg
2008-02-06 2:49 ` [PATCH] " Bruno Randolf
2008-02-06 23:52 ` Johannes Berg
2008-02-08 9:25 ` Luis R. Rodriguez
2008-02-12 3:25 ` bruno randolf
2008-02-12 9:50 ` Johannes Berg
2008-02-14 6:19 ` bruno randolf
2008-02-14 14:12 ` Johannes Berg
2008-02-12 9:52 ` Johannes Berg
2008-02-14 10:19 ` bruno randolf
2008-02-08 9:41 Joerg Pommnitz
2008-02-15 15:09 [PATCH 3/3] " Johannes Berg
2008-02-16 2:29 ` [PATCH] " Bruno Randolf
2008-02-17 9:11 ` Johannes Berg
2008-02-18 1:42 ` bruno randolf
2008-02-18 11:15 ` Johannes Berg
2008-02-18 2:03 ` bruno randolf
2008-02-18 11:16 ` 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=200801251701.59629.bruno@thinktube.com \
--to=bruno@thinktube.com \
--cc=ivdoorn@gmail.com \
--cc=jirislaby@gmail.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=mcgrof@gmail.com \
--cc=mickflemm@gmail.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).