On 5/20/2025 2:08 PM, Johannes Berg wrote:
On Thu, 2025-05-15 at 23:05 +0530, Sarika Sharma wrote:
On 5/15/2025 5:00 PM, Johannes Berg wrote:
On Thu, 2025-05-15 at 11:19 +0530, Sarika Sharma wrote:
+void sta_set_accumulated_removed_links_sinfo(struct sta_info *sta,
+ struct station_info *sinfo)
+{
+ /* Resetting the MLO statistics for accumulated fields, to
+ * avoid duplication.
+ */
+ sinfo->tx_packets = 0;
+ sinfo->rx_packets = 0;
+ sinfo->tx_bytes = 0;
+ sinfo->rx_bytes = 0;
+ sinfo->tx_retries = 0;
+ sinfo->tx_failed = 0;
+ sinfo->rx_dropped_misc = 0;
+ sinfo->beacon_loss_count = 0;
+ sinfo->expected_throughput = 0;
+ sinfo->rx_mpdu_count = 0;
+ sinfo->fcs_err_count = 0;
+ sinfo->rx_beacon = 0;
+ sinfo->rx_duration = 0;
+ sinfo->tx_duration = 0;
+
+ /* Accumulating the removed link statistics. */
+ sinfo->tx_packets += sta->rem_link_stats.tx_packets;
+ sinfo->rx_packets += sta->rem_link_stats.rx_packets;
+ sinfo->tx_bytes += sta->rem_link_stats.tx_bytes;
+ sinfo->rx_bytes += sta->rem_link_stats.rx_bytes;
+ sinfo->tx_retries += sta->rem_link_stats.tx_retries;
+ sinfo->tx_failed += sta->rem_link_stats.tx_failed;
+ sinfo->rx_dropped_misc += sta->rem_link_stats.rx_dropped_misc;
Setting something to 0 just to += it seems silly?
However I think it also needs a bit more explanation - it's sinfo, so
it's zeroed at allocation, where would non-zero numbers come from?
Currently, the station information for MLO is populated with some values
from sta->deflink, as the sta_set_sinfo() call is common for both
non-MLO and MLO.
OK but deflink will not actually _have_ any values. And again, mac80211
shouldn't be doing work the results of which are then only discarded...
When updating the station_info structure in
cfg80211_sta_set_mld_sinfo(), the accumulated fields (such as packets,
bytes, etc.) will already contain values set by mac80211 (from the
deflink fields).
Which arguably is the problem? But also not because those are zero
anyway? I still don't think this makes any sense. Either it's not filled
and remains zero, or it should be filled only with some sensible values
like the accumulated stats from removed links.
okay, then either changes needed to be done so, some fields way of
filling data is different for non-ML and MLO station or need to maintain
all accumulated removed links data for addable fields.
Let me check and add this.
johannes