From: Alan T. DeKok Date: Tue, 8 Jan 2013 18:14:49 +0000 (-0500) Subject: Add stats on last packet sent / recv for home server X-Git-Tag: release_3_0_0_beta1~1326 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9aabc03ae49c5633e9c8bcd273216c2b60ba9d2f;p=thirdparty%2Ffreeradius-server.git Add stats on last packet sent / recv for home server --- diff --git a/share/dictionary.freeradius b/share/dictionary.freeradius index b12fd7a7dbb..67f7fafd3e0 100644 --- a/share/dictionary.freeradius +++ b/share/dictionary.freeradius @@ -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 diff --git a/src/main/stats.c b/src/main/stats.c index 80e7c8d220d..3251afdc52b 100644 --- a/src/main/stats.c +++ b/src/main/stats.c @@ -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,