hostapd: refresh patches
[openwrt/staging/wigyori.git] / package / network / services / hostapd / patches / 590-rrm-wnm-statistics.patch
index feb3b091c108e6647fc669de24900edee6ed474a..ee3ab7938a279e58ae6a198991ada75f994fd023 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/ap/hostapd.h
 +++ b/src/ap/hostapd.h
-@@ -441,6 +441,21 @@ struct hostapd_sta_info {
+@@ -150,6 +150,21 @@ struct hostapd_sae_commit_queue {
  };
  
  /**
 +};
 +
 +/**
-  * struct hostapd_iface - hostapd per-interface data structure
+  * struct hostapd_data - hostapd per-BSS data structure
   */
- struct hostapd_iface {
-@@ -562,6 +577,9 @@ struct hostapd_iface {
-       u64 last_channel_time_busy;
-       u8 channel_utilization;
+ struct hostapd_data {
+@@ -163,6 +178,9 @@ struct hostapd_data {
+       u8 own_addr[ETH_ALEN];
  
 +      /* OpenWrt specific statistics */
 +      struct hostapd_openwrt_stats openwrt_stats;
 +
-       unsigned int chan_util_samples_sum;
-       unsigned int chan_util_num_sample_periods;
-       unsigned int chan_util_average;
+       int num_sta; /* number of entries in sta_list */
+       struct sta_info *sta_list; /* STA info list head */
+ #define STA_HASH_SIZE 256
 --- a/src/ap/wnm_ap.c
 +++ b/src/ap/wnm_ap.c
 @@ -386,6 +386,7 @@ static int ieee802_11_send_bss_trans_mgm
        mgmt->u.action.u.bss_tm_req.validity_interval = 1;
        pos = mgmt->u.action.u.bss_tm_req.variable;
  
-+      hapd->iface->openwrt_stats.wnm.bss_transition_request_tx++;
++      hapd->openwrt_stats.wnm.bss_transition_request_tx++;
        wpa_printf(MSG_DEBUG, "WNM: Send BSS Transition Management Request to "
                   MACSTR " dialog_token=%u req_mode=0x%x disassoc_timer=%u "
                   "validity_interval=%u",
  
        switch (action) {
        case WNM_BSS_TRANS_MGMT_QUERY:
-+              hapd->iface->openwrt_stats.wnm.bss_transition_query_rx++;
++              hapd->openwrt_stats.wnm.bss_transition_query_rx++;
                ieee802_11_rx_bss_trans_mgmt_query(hapd, mgmt->sa, payload,
                                                   plen);
                return 0;
        case WNM_BSS_TRANS_MGMT_RESP:
-+              hapd->iface->openwrt_stats.wnm.bss_transition_response_rx++;
++              hapd->openwrt_stats.wnm.bss_transition_response_rx++;
                ieee802_11_rx_bss_trans_mgmt_resp(hapd, mgmt->sa, payload,
                                                  plen);
                return 0;
@@ -59,7 +59,7 @@
  
        pos = mgmt->u.action.u.bss_tm_req.variable;
  
-+      hapd->iface->openwrt_stats.wnm.bss_transition_request_tx++;
++      hapd->openwrt_stats.wnm.bss_transition_request_tx++;
        wpa_printf(MSG_DEBUG, "WNM: Send BSS Transition Management Request frame to indicate imminent disassociation (disassoc_timer=%d) to "
                   MACSTR, disassoc_timer, MAC2STR(sta->addr));
        if (hostapd_drv_send_mlme(hapd, buf, pos - buf, 0, NULL, 0, 0) < 0) {
                return -1;
        }
  
-+      hapd->iface->openwrt_stats.wnm.bss_transition_request_tx++;
++      hapd->openwrt_stats.wnm.bss_transition_request_tx++;
        if (disassoc_timer) {
                /* send disassociation frame after time-out */
                set_disassoc_timer(hapd, sta, disassoc_timer);
-@@ -856,6 +861,7 @@ int wnm_send_bss_tm_req(struct hostapd_d
+@@ -857,6 +862,7 @@ int wnm_send_bss_tm_req(struct hostapd_d
        }
        os_free(buf);
  
-+      hapd->iface->openwrt_stats.wnm.bss_transition_request_tx++;
++      hapd->openwrt_stats.wnm.bss_transition_request_tx++;
        if (disassoc_timer) {
                /* send disassociation frame after time-out */
                set_disassoc_timer(hapd, sta, disassoc_timer);
@@ -85,7 +85,7 @@
                }
        }
  
-+      hapd->iface->openwrt_stats.rrm.neighbor_report_tx++;
++      hapd->openwrt_stats.rrm.neighbor_report_tx++;
 +
        hostapd_drv_send_action(hapd, hapd->iface->freq, 0, addr,
                                wpabuf_head(buf), wpabuf_len(buf));