diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2016-04-30 20:32:00 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2016-04-30 20:32:00 +0300 |
commit | 249dde4bbade8da12f80e64acef8826a4af0b567 (patch) | |
tree | 1a15f902f4ed737ad7f2b5bd0c53496c00098d1c /accel-pppd/radius/radius.c | |
parent | 6c82f3d0d0e52b506968f54fd058d1e2a51a855b (diff) | |
download | accel-ppp-xebd-249dde4bbade8da12f80e64acef8826a4af0b567.tar.gz accel-ppp-xebd-249dde4bbade8da12f80e64acef8826a4af0b567.zip |
radius: add Delegated-IPv6-Prefix to accounting packets
Diffstat (limited to 'accel-pppd/radius/radius.c')
-rw-r--r-- | accel-pppd/radius/radius.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/accel-pppd/radius/radius.c b/accel-pppd/radius/radius.c index 24ca20a..c8eaf95 100644 --- a/accel-pppd/radius/radius.c +++ b/accel-pppd/radius/radius.c @@ -520,6 +520,19 @@ static void ses_finished(struct ap_session *ses) release_pd(rpd); } +static void force_interim_update(struct ap_session *ses) +{ + struct radius_pd_t *rpd = find_pd(ses); + + if (ses->terminating) + return; + + if (!rpd) + return; + + rad_acct_force_interim_update(rpd); +} + struct radius_pd_t *find_pd(struct ap_session *ses) { struct ap_private *pd; @@ -806,6 +819,7 @@ static void radius_init(void) triton_event_register_handler(EV_SES_ACCT_START, (triton_event_func)ses_acct_start); triton_event_register_handler(EV_SES_FINISHING, (triton_event_func)ses_finishing); triton_event_register_handler(EV_SES_FINISHED, (triton_event_func)ses_finished); + triton_event_register_handler(EV_FORCE_INTERIM_UPDATE, (triton_event_func)force_interim_update); triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config); } |