From cd06fc1ff58b0bc714477ef5f8b30e6cf33f53a6 Mon Sep 17 00:00:00 2001 From: Christian Giese Date: Thu, 17 Jun 2021 08:55:46 +0200 Subject: [PATCH] Update Interactive Session View --- src/bbl_ctrl.c | 18 ------------------ src/bbl_interactive.c | 9 ++++++++- src/bbl_session.c | 19 ++++++++++++++++++- src/bbl_session.h | 3 +++ 4 files changed, 29 insertions(+), 20 deletions(-) diff --git a/src/bbl_ctrl.c b/src/bbl_ctrl.c index 38627a45..2d2a7949 100644 --- a/src/bbl_ctrl.c +++ b/src/bbl_ctrl.c @@ -37,24 +37,6 @@ extern volatile bool g_teardown_request; typedef ssize_t callback_function(int fd, bbl_ctx_s *ctx, uint32_t session_id, json_t* arguments); -const char * -session_state_string(uint32_t state) { - switch(state) { - case BBL_IDLE: return "Idle"; - case BBL_IPOE_SETUP: return "IPoE Setup"; - case BBL_PPPOE_INIT: return "PPPoE Init"; - case BBL_PPPOE_REQUEST: return "PPPoE Request"; - case BBL_PPP_LINK: return "PPP Link"; - case BBL_PPP_AUTH: return "PPP Authentication"; - case BBL_PPP_NETWORK: return "PPP Network"; - case BBL_ESTABLISHED: return "Established"; - case BBL_PPP_TERMINATING: return "PPP Terminating"; - case BBL_TERMINATING: return "Terminating"; - case BBL_TERMINATED: return "Terminated"; - default: return "N/A"; - } -} - const char * ppp_state_string(uint32_t state) { switch(state) { diff --git a/src/bbl_interactive.c b/src/bbl_interactive.c index fa3f8a4b..f4b4ee21 100644 --- a/src/bbl_interactive.c +++ b/src/bbl_interactive.c @@ -391,8 +391,15 @@ bbl_stats_job (timer_s *timer) wprintw(stats_win, " )\n", g_session_selected); session = bbl_session_get(ctx, g_session_selected); if(session) { + wprintw(stats_win, "\n State: %s \n", session_state_string(session->session_state)); if(session->username) { - wprintw(stats_win, "\n Username: %s \n", session->username); + wprintw(stats_win, " Username: %s \n", session->username); + } + if(session->agent_remote_id) { + wprintw(stats_win, " ARI: %s \n", session->agent_remote_id); + } + if(session->agent_remote_id) { + wprintw(stats_win, " ACI: %s \n", session->agent_circuit_id); } wprintw(stats_win, "\n Access Client Interface\n"); wprintw(stats_win, " Tx Packets %10lu | %7lu PPS | %10lu Kbps\n", diff --git a/src/bbl_session.c b/src/bbl_session.c index 09dfbc32..accee249 100644 --- a/src/bbl_session.c +++ b/src/bbl_session.c @@ -14,6 +14,24 @@ extern volatile bool g_teardown; +const char * +session_state_string(uint32_t state) { + switch(state) { + case BBL_IDLE: return "Idle"; + case BBL_IPOE_SETUP: return "IPoE Setup"; + case BBL_PPPOE_INIT: return "PPPoE Init"; + case BBL_PPPOE_REQUEST: return "PPPoE Request"; + case BBL_PPP_LINK: return "PPP Link"; + case BBL_PPP_AUTH: return "PPP Authentication"; + case BBL_PPP_NETWORK: return "PPP Network"; + case BBL_ESTABLISHED: return "Established"; + case BBL_PPP_TERMINATING: return "PPP Terminating"; + case BBL_TERMINATING: return "Terminating"; + case BBL_TERMINATED: return "Terminated"; + default: return "N/A"; + } +} + void bbl_session_rate_job (timer_s *timer) { bbl_session_s *session = timer->data; @@ -33,7 +51,6 @@ bbl_session_rate_job (timer_s *timer) { * @param session_id session-id * @return session or NULL if session not found */ - bbl_session_s * bbl_session_get(bbl_ctx_s *ctx, uint32_t session_id) { diff --git a/src/bbl_session.h b/src/bbl_session.h index d60765e8..f8b68352 100644 --- a/src/bbl_session.h +++ b/src/bbl_session.h @@ -10,6 +10,9 @@ #ifndef __BBL_SESSIONS_H__ #define __BBL_SESSIONS_H__ +const char * +session_state_string(uint32_t state); + bbl_session_s * bbl_session_get(bbl_ctx_s *ctx, uint32_t session_id);