Search Linux Wireless

Re: [PATCH 3/4] mac80211: Framework to get wifi-driver stats via ethtool.

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

 



On Thu, 2012-03-15 at 16:20 -0700, greearb@xxxxxxxxxxxxxxx wrote:
> From: Ben Greear <greearb@xxxxxxxxxxxxxxx>
> 
> This adds hooks to call into the driver to get additional
> stats for the ethtool API.
> 
> Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
> ---
> :100644 100644 d49928b... e89a742... M	include/net/mac80211.h
> :100644 100644 0aef0d2... 872e06e... M	net/mac80211/cfg.c
>  include/net/mac80211.h |    9 +++++++++
>  net/mac80211/cfg.c     |   23 +++++++++++++++++++++--
>  2 files changed, 30 insertions(+), 2 deletions(-)
> 
> diff --git a/include/net/mac80211.h b/include/net/mac80211.h
> index d49928b..e89a742 100644
> --- a/include/net/mac80211.h
> +++ b/include/net/mac80211.h
> @@ -2236,6 +2236,15 @@ struct ieee80211_ops {
>  					u16 tids, int num_frames,
>  					enum ieee80211_frame_release_type reason,
>  					bool more_data);
> +
> +	int	(*get_et_sset_count)(struct ieee80211_hw *hw,
> +				     struct ieee80211_vif *vif, int sset);
> +	void	(*get_et_stats)(struct ieee80211_hw *hw,
> +				struct ieee80211_vif *vif,
> +				struct ethtool_stats *stats, u64 *data);
> +	void	(*get_et_strings)(struct ieee80211_hw *hw,
> +				  struct ieee80211_vif *vif,
> +				  u32 sset, u8 *data);
>  };
>  
>  /**
> diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
> index 0aef0d2..872e06e 100644
> --- a/net/mac80211/cfg.c
> +++ b/net/mac80211/cfg.c
> @@ -125,8 +125,17 @@ static int ieee80211_get_et_sset_count(struct wiphy *wiphy,
>  				       struct net_device *dev,
>  				       int sset)
>  {
> -	if (sset == ETH_SS_STATS)
> -		return STA_STATS_LEN;
> +	struct ieee80211_sub_if_data *sdata;
> +	struct ieee80211_local *local;
> +	if (sset == ETH_SS_STATS) {
> +		int rv = STA_STATS_LEN;
> +		sdata = IEEE80211_DEV_TO_SUB_IF(dev);
> +		local = sdata->local;
> +		if (local->ops->get_et_sset_count)
> +			rv += local->ops->get_et_sset_count(&local->hw,
> +							    &sdata->vif, sset);

should there be tracing for this?

johannes

--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux