]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Show BSS entry age (seconds since last update)
authorJouni Malinen <jouni@qca.qualcomm.com>
Wed, 8 Feb 2012 10:07:54 +0000 (12:07 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 8 Feb 2012 10:07:54 +0000 (12:07 +0200)
The BSS ctrl_iface command can sow the age of a BSS table entry to
make it easier for external programs to figure out whether an entry
is still current depending on the use case.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>

wpa_supplicant/ctrl_iface.c

index 7f4fb09741a5dc83364183354c98c4ac95445b65..d56df844e8e1adf6007a2a9616e4922dd8cd3c11 100644 (file)
@@ -2193,6 +2193,7 @@ static int wpa_supplicant_ctrl_iface_bss(struct wpa_supplicant *wpa_s,
        int ret;
        char *pos, *end;
        const u8 *ie, *ie2;
+       struct os_time now;
 
        if (os_strcmp(cmd, "FIRST") == 0)
                bss = dl_list_first(&wpa_s->bss, struct wpa_bss, list);
@@ -2235,6 +2236,7 @@ static int wpa_supplicant_ctrl_iface_bss(struct wpa_supplicant *wpa_s,
        if (bss == NULL)
                return 0;
 
+       os_get_time(&now);
        pos = buf;
        end = buf + buflen;
        ret = os_snprintf(pos, end - pos,
@@ -2247,11 +2249,13 @@ static int wpa_supplicant_ctrl_iface_bss(struct wpa_supplicant *wpa_s,
                          "noise=%d\n"
                          "level=%d\n"
                          "tsf=%016llu\n"
+                         "age=%d\n"
                          "ie=",
                          bss->id,
                          MAC2STR(bss->bssid), bss->freq, bss->beacon_int,
                          bss->caps, bss->qual, bss->noise, bss->level,
-                         (unsigned long long) bss->tsf);
+                         (unsigned long long) bss->tsf,
+                         (int) (now.sec - bss->last_update.sec));
        if (ret < 0 || ret >= end - pos)
                return pos - buf;
        pos += ret;