Search Linux Wireless

Re: [PATCH RFC v2 09/12] wifi: cfg80211: add accumulated statistics for MLO links

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

 



On 1/17/25 04:45, Sarika Sharma wrote:
Currently statistics are handled at link level for multi-link
operation(MLO). There is no provision to check accumulated statistics
for a multi-link(ML) station. Accumulated statistics are useful to
provide comprehensive overview for the ML stations.

Statistics such as packets and bytes are useful for observing the
total packets sent and received at the station level. However,
MLO statistics for rates and signal can not be accumulated since it
won't make much sense. Hence, a subsequent change will handle signal
and rates bit differently at MLO level.

Hence, add accumulated statistics for MLO station. Also, for non-ML
station accumulated statistics make no sense.

--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -2174,6 +2174,12 @@ struct link_station_info {
   *	dump_station() callbacks. User space needs this information to determine
   *	the accepted and rejected affiliated links of the connected station.
   * @assoc_resp_ies_len: Length of @assoc_resp_ies buffer in octets.
+ * @rx_packets: total packets (MSDUs & MMPDUs) received from this station
+ * @tx_packets: total packets (MSDUs & MMPDUs) transmitted to this station
+ * @rx_bytes: total bytes (size of MPDUs) received from this station
+ * @tx_bytes: total bytes (size of MPDUs) transmitted to this station
+ * @tx_retries: cumulative retry counts (MPDUs)

While at it, can we define these a bit better?

For instance, if one frame is sent from mac80211 to the driver,
and the driver fails first transmit attempt, drops encoding rate,
and second transmit succeeds, is this correct?

tx_packets += 1;
tx_retries += 1;

If frame is is retried all 15 times and fails to be successfully transmitted, would
it be this?

tx_packets += 1;
tx_retries += 15
tx_failed += 1;

+ * @tx_failed: number of failed transmissions (MPDUs) (retries exceeded, no ACK)
   * @valid_links: bitmap of valid links, or 0 for non-MLO. Drivers fill this
   *	information in cfg80211_new_sta(), cfg80211_del_sta_sinfo(),
   *	get_station() and dump_station() callbacks.
@@ -2210,6 +2216,13 @@ struct station_info {
  	const u8 *assoc_resp_ies;
  	size_t assoc_resp_ies_len;
+ u32 rx_packets;
+	u32 tx_packets;

At 10g rates, this will wrap fairly quickly, can we make these u64?

+	u64 rx_bytes;
+	u64 tx_bytes;
+	u32 tx_retries;
+	u32 tx_failed;
+

Thanks,
Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux