On Thu, Mar 16, 2006 at 05:45:48PM +0100, Jiri Benc wrote:
> On Wed, 15 Mar 2006 16:36:16 -0800, Jouni Malinen wrote:

> See the patch below. Is it viable?

I'll test this with our low-level driver.

> > This and similar change for ieee80211_get_buffered_bc() add more
> > requirements for the low-level driver. It used to be enough to just know
> > that the low-level code should ask for up to N beacon frames. However,
> > with this change, the low-level driver would need to maintain a list of
> > ifindexes for the virtual interfaces. This is somewhat against the
> > original design of hiding all the virtual interfaces from low-level
> > code.
> 
> I like the approach, but I'm afraid it's not generic enough. The new
> code should cover all possibilities (even such hypothetical case as a
> card capable of multiple APs in its firmware with host-buffering of
> frames for STAs in PS mode).

Your proposed change does not cover at least one case..

> In a typical case of only-one-AP capable card the code will be nearly
> the same. In your case it indeed means one extra list.

Agreed.

> Yes, I wanted to add ifindex into ieee80211_if_conf but apparently
> forgot to. See patch below.

OK. I'll test this.

> This patch fixes some problems in interface configuration.
> 
> - Pass interface ID to add_interface and remove_interface callbacks. This ID
>   is used by a driver when calling ieee80211_beacon_get and
>   ieee80211_get_buffered_bc functions.

There is one more corner case that I did not remember yesterday: Atheros
XR. It is using two BSSIDs and two different beacons per network
interface (or at least our implementation of it is doing this; in
theory, it could be possible to do this with two interfaces and
bridging, but it gets somewhat complex for couple of cases)..

With the current d80211 implementation, this can be handled by just
multiplying bss_count with two. With per-ifindex call, this is more
difficult. One option would be to modify the interface to return more
than one skb in this case.. This might actually be useful way to handle
all indexes if the beacons are to be sent at the same time. However, if
beacons are to be sent at different times for different BSSes, it may be
easier to just maintain the current mechanism (one call per virtual AP)
and allow XR to return two beacon frames.

-- 
Jouni Malinen                                            PGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to