aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-12-22 16:33:23 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-12-24 21:40:48 +0100
commitc577ca1822861c44bac5dc8897ac46f6e604cc00 (patch)
tree5b76fda48705fb6719ed717b464ed93acaa6cc54 /openbsc
parentae9006aeed4a577d3a0a548b403ec2406ede03ee (diff)
subscr: Add VTY command to purge subscribers that are held in memory
Call the subscr_purge_inactive function and mention how many subscribers were removed from the RAM.
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/vty_interface_layer3.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c
index cc6bd9470..a49ca5e69 100644
--- a/openbsc/src/vty_interface_layer3.c
+++ b/openbsc/src/vty_interface_layer3.c
@@ -536,6 +536,19 @@ DEFUN(ena_subscr_a3a8,
return rc ? CMD_WARNING : CMD_SUCCESS;
}
+DEFUN(subscriber_purge,
+ subscriber_purge_cmd,
+ "subscriber purge-inactive",
+ "Operations on a Subscriber\n" "Purge subscribers with a zero use count.\n")
+{
+ struct gsm_network *net = gsmnet_from_vty(vty);
+ int purged;
+
+ purged = subscr_purge_inactive(net);
+ vty_out(vty, "%d subscriber(s) were purged.%s", purged, VTY_NEWLINE);
+ return CMD_SUCCESS;
+}
+
static int scall_cbfn(unsigned int subsys, unsigned int signal,
void *handler_data, void *signal_data)
{
@@ -619,6 +632,7 @@ int bsc_vty_init_extra(void)
install_element(ENABLE_NODE, &ena_subscr_extension_cmd);
install_element(ENABLE_NODE, &ena_subscr_authorized_cmd);
install_element(ENABLE_NODE, &ena_subscr_a3a8_cmd);
+ install_element(ENABLE_NODE, &subscriber_purge_cmd);
return 0;
}