Re: [PATCH] mac80211: reduce the amount of unnecessary traffic on cooked monitor interfaces

Johannes Berg
2009-11-14T09:23:24Z

[-- Attachment #1: Type: text/plain, Size: 1113 bytes --]

On Sat, 2009-11-14 at 03:29 +0100, Felix Fietkau wrote:
> In order to handle association and authentication in AP mode,
> hostapd needs access to the tx status info of its own frames
> through a cooked monitor interface. Without this patch the
> cooked monitor interfaces also passed on tx status information
> for packets from other virtual interfaces. This creates a
> significant performance issue on embedded system. Hostapd
> tries to work around this by installing a Linux Socket Filter
> that only captures the frames it's interested in, however
> data duplication and socket filter matching still uses up
> enough CPU cycles to be very noticeable on small systems.
> This patch ensures that tx status information of non-injected
> frames does not make it to cooked monitor interfaces.
>
> Signed-off-by: Felix Fietkau <nbd@openwrt.org>

> + if ((sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES) &&
> + !(info->flags & IEEE80211_TX_CTL_INJECTED) &&
> + (type == IEEE80211_FTYPE_DATA))
> + continue;
> +

This patch also breaks IEEE 802.11 compliance. :)

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]