Search Linux Wireless

Re: [PATCH] zd1211rw-mac80211: debug output for mac80211 ops

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

 



On Tue, 31 Jul 2007 00:52:05 +0200, Ulrich Kunitz wrote:
> What about add_interface/remove_interfaces and monitor interfaces?

It depends on the IEEE80211_HW_MONITOR_DURING_OPER flag in hw.flags. If you
set the flag in the driver, then monitor interfaces work in the exactly
same way as STA or IBSS interfaces - the add_interface callback is called
(with conf.type equal to IEEE80211_IF_TYPE_MNTR) whenever user brings up a
monitor interface. You are responsible for switching the card to a monitor
mode (e.g. turning off hardware packet filtering).

If your hardware can't support monitor and regular interfaces concurrently,
don't set the IEEE80211_HW_MONITOR_DURING_OPER flag. In this case, the
stack calls add_interface with IEEE80211_IF_TYPE_MNTR in conf.type only
when there is no other interface active. If the user brings up a monitor
interface while he has a regular interface active, the driver is not
notified about that and the monitor interface is emulated by the stack with
a limited capabilities (this is called "soft monitor mode").

> There seems to be difference between "hard" and "soft" monitor
> mode. Currently I'm not sure what the semantics is.

You don't need to care about that in a driver, there is no difference for a
driver as you will never see a soft monitor interface; it's a
mac80211-level thing only.

>From the perspective of a user (and user space), the difference is as
follows:

"Hard monitor mode" is the usual monitor mode, i.e. all incoming frames,
regardless of their source/destination MAC addresses, are received through
the monitor interface.

"Soft monitor mode" is relevant only when the hardware has limited
capabilities for filter settings _and_ you have both regular (e.g. STA) and
monitor interface active (ifconfig up'ed). In such case, you receive only
frames addressed to your MAC address through the monitor interface. This is
still useful e.g. for debugging of network problems as you see management
frames.

> There seems to
> be also calls to add_interface/remote_interface with if_id -1. I
> guess that means something like all interfaces. The expected
> behaviour is not documented for that case. 

As Michael correctly said, don't care about the value, just store it and
hand it back to the stack when the stack wants it.

 Jiri

-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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