Search Linux Wireless

Re: [PATCH 3/7] iwlwifi: fix priv->iw_mode setting when multiple vif are configured

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2008-11-06 at 10:34 +0800, Zhu Yi wrote:
> On Wed, 2008-11-05 at 19:27 +0800, Johannes Berg wrote:
> > > > This example is not correct, mac80211 will only support multiple virtual
> > > > interfaces when the driver allows this via add_interface (which I don't
> > > > think yours does) and it will *never* tell you about monitor interfaces at
> > > > all except by way of configuring the filter differently.
> > > 
> > > We do support add_interface in iwlagn. But it works correctly only if
> > > the second one is a monitor interface.
> > 
> > But like I said, add_interface is _never_ called with _MONITOR.
> 
> I'm confused. We do hook up in the configure_filter handler to set up
> the monitor. I assume you did read our code in iwl-agn.c. No?

Yes, but it confuses me that you use the monitor interface type.

> > > > Therefore, all the "is monitor" checks in iwlwifi are pretty pointless
> > > > unless you really want to have differing behaviour between "monitor +
> > > > something" and "just monitor"?
> > > 
> > > In case of BSS + monitor, we need to tell firmware about the
> > > association status. This differs with pure montior mode.
> > 
> > You can only distinguish those by the filter flags, and should probably
> > base the firmware knowledge on that. We want to be able to pull up
> > "plain" monitor interfaces w/o any special flags that show things
> > exactly as they'd go to mac80211 if the monitor interface was not
> > present. I suspect you should look at the FIF_OTHER_BSS flag?
> 
> We do handle FIF_OTHER_BSS in configure_filter. Please take a look at it
> and let me know if anything is wrong.

Ok, for one, it seems weird that you're saying you handled
 * other bss
 * allmulti
 * bcn/presp promisc
 * control
without doing anything. Does your hw/fw really always pass up control
frames? I didn't think it does.

Also, it seems rather odd that you need to reconnect etc. when a monitor
interface is added, that would destroy AP and mesh modes completely when
somebody adds a new monitor interface on AP mode to see what's going on.

Can you really not actually implement the filter flags but have to
completely reprogram the firmware for monitor mode? What exactly does
monitor mode do? It seems that at least, the logic in configure_filter
should mask out the control/allmulti flags when otherbss is not set,
because right now, if I add a monitor interface that _only_ asks for
control frames and _not_ other bss frames, it doesn't look like it would
work.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux