Search Linux Wireless

Re: [PATCH] mac80211: Add NoAck per WMM Queue Support

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

 



On 2011-11-16 12:21 AM, Simon Wunderlich wrote:
> This patch adds support for NoAck per WMM Queue. The Unicast QoS
> Header is adapted accordingly for each outgoing frame.
> The support is turned on and off through nl80211 by extending
> the WMM TX Queue Parameters, but can be triggered separately.
> 
> I have tested this feature on ath9k as well as ath5k devices. There is
> an iw patch as well to make use of this feature.
> 
> It should apply well on the latest wireless-testing kernel.
> 
> Signed-off-by: Simon Wunderlich <siwu@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx>
> ---
>  include/linux/nl80211.h |    2 ++
>  include/net/cfg80211.h  |    7 +++++++
>  include/net/mac80211.h  |    2 ++
>  net/mac80211/cfg.c      |   21 +++++++++++++++++++++
>  net/mac80211/tx.c       |    5 +++++
>  net/mac80211/util.c     |    1 +
>  net/mac80211/wme.c      |    5 ++++-
>  net/wireless/nl80211.c  |   34 +++++++++++++++++++++++++++++-----
>  8 files changed, 71 insertions(+), 6 deletions(-)
> 
> @@ -832,6 +833,7 @@ struct ieee80211_txq_params {
>  	u16 cwmin;
>  	u16 cwmax;
>  	u8 aifs;
> +	bool noack;
>  };
>  
>  /* from net/wireless.h */
> @@ -1341,6 +1343,8 @@ struct cfg80211_gtk_rekey_data {
>   *
>   * @set_txq_params: Set TX queue parameters
>   *
> + * @set_txq_noack: Set TX queue NoAck Parameter
> + *
>   * @set_channel: Set channel for a given wireless interface. Some devices
>   *	may support multi-channel operation (by channel hopping) so cfg80211
>   *	doesn't verify much. Note, however, that the passed netdev may be
> @@ -1521,6 +1525,9 @@ struct cfg80211_ops {
>  	int	(*set_txq_params)(struct wiphy *wiphy, struct net_device *dev,
>  				  struct ieee80211_txq_params *params);
>  
> +	int	(*set_txq_noack)(struct wiphy *wiphy, struct net_device *dev,
> +				  struct ieee80211_txq_params *params);
> +
>  	int	(*set_channel)(struct wiphy *wiphy, struct net_device *dev,
>  			       struct ieee80211_channel *chan,
>  			       enum nl80211_channel_type channel_type);
Why add a separate cfg80211 op when you can just make use of the extra
parameter in the existing one?

- Felix
--
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