diff --git a/wlantest/rx_ip.c b/wlantest/rx_ip.c index 29874e635..aa2b0872d 100644 --- a/wlantest/rx_ip.c +++ b/wlantest/rx_ip.c @@ -82,6 +82,10 @@ static void rx_data_icmp(struct wlantest *wt, const u8 *bssid, sta->icmp_echo_req_id == id && sta->icmp_echo_req_seq == seq) { sta->counters[WLANTEST_STA_COUNTER_PING_OK]++; + if (sta->counters[WLANTEST_STA_COUNTER_ASSOCREQ_TX] == 0 && + sta->counters[WLANTEST_STA_COUNTER_REASSOCREQ_TX] == 0) + sta->counters[ + WLANTEST_STA_COUNTER_PING_OK_FIRST_ASSOC]++; wpa_printf(MSG_DEBUG, "ICMP echo (ping) match for STA " MACSTR, MAC2STR(sta->addr)); } diff --git a/wlantest/wlantest_cli.c b/wlantest/wlantest_cli.c index dac89e60c..b40eb54e9 100644 --- a/wlantest/wlantest_cli.c +++ b/wlantest/wlantest_cli.c @@ -539,6 +539,7 @@ static const struct sta_counters sta_counters[] = { { "ping_ok", WLANTEST_STA_COUNTER_PING_OK }, { "assocresp_comeback", WLANTEST_STA_COUNTER_ASSOCRESP_COMEBACK }, { "reassocresp_comeback", WLANTEST_STA_COUNTER_REASSOCRESP_COMEBACK }, + { "ping_ok_first_assoc", WLANTEST_STA_COUNTER_PING_OK_FIRST_ASSOC }, { NULL, 0 } }; diff --git a/wlantest/wlantest_ctrl.h b/wlantest/wlantest_ctrl.h index c8a066e28..c8d4ce834 100644 --- a/wlantest/wlantest_ctrl.h +++ b/wlantest/wlantest_ctrl.h @@ -96,6 +96,7 @@ enum wlantest_sta_counter { WLANTEST_STA_COUNTER_PING_OK, WLANTEST_STA_COUNTER_ASSOCRESP_COMEBACK, WLANTEST_STA_COUNTER_REASSOCRESP_COMEBACK, + WLANTEST_STA_COUNTER_PING_OK_FIRST_ASSOC, NUM_WLANTEST_STA_COUNTER };