Add stats on last packet sent / recv for home server
authorAlan T. DeKok <aland@freeradius.org>
Tue, 8 Jan 2013 18:14:49 +0000 (13:14 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 8 Jan 2013 18:14:49 +0000 (13:14 -0500)
share/dictionary.freeradius
src/main/stats.c

index b12fd7a..67f7faf 100644 (file)
@@ -110,7 +110,7 @@ ATTRIBUTE   FreeRADIUS-Stats-Server-State           173     integer
 VALUE  FreeRADIUS-Stats-Server-State   Alive   0
 VALUE  FreeRADIUS-Stats-Server-State   Zombie  1
 VALUE  FreeRADIUS-Stats-Server-State   Dead    2
-VALUE  FreeRADIUS-Stats-Server-State   Unknown 3
+VALUE  FreeRADIUS-Stats-Server-State   Idle    3
 
 #
 #  When a home server is marked "dead" or "alive"
@@ -141,4 +141,7 @@ ATTRIBUTE   FreeRADIUS-Queue-PPS-In                 181     integer
 ATTRIBUTE      FreeRADIUS-Queue-PPS-Out                182     integer
 ATTRIBUTE      FreeRADIUS-Queue-Use-Percentage         183     integer
 
+ATTRIBUTE      FreeRADIUS-Stats-Last-Packet-Recv       184     date
+ATTRIBUTE      FreeRADIUS-Stats-Last-Packet-Sent       185     date
+
 END-VENDOR FreeRADIUS
index 80e7c8d..3251afd 100644 (file)
@@ -761,6 +761,19 @@ void request_stats_reply(REQUEST *request)
                        if (vp) vp->vp_date = home->zombie_period_start.tv_sec + home->zombie_period;
                }
 
+               /*
+                *      Show more information...
+                *
+                *      FIXME: do this for clients, too!
+                */
+               vp = radius_paircreate(request, &request->reply->vps,
+                                      184, VENDORPEC_FREERADIUS, PW_TYPE_DATE);
+               if (vp) vp->vp_date = home->last_packet_recv;
+
+               vp = radius_paircreate(request, &request->reply->vps,
+                                      185, VENDORPEC_FREERADIUS, PW_TYPE_DATE);
+               if (vp) vp->vp_date = home->last_packet_sent;
+
                if (((flag->vp_integer & 0x01) != 0) &&
                    (home->type == HOME_TYPE_AUTH)) {
                        request_stats_addvp(request, proxy_authvp,