subscr: Add a vty option to kick the queue.

This commit is contained in:
Holger Hans Peter Freyther 2010-12-29 13:45:49 +01:00
parent 763b42a92a
commit 451eb29e37
3 changed files with 29 additions and 0 deletions

View File

@ -93,6 +93,7 @@ struct gsm_subscriber *subscr_active_by_imsi(struct gsm_network *net,
int subscr_pending_requests(struct gsm_subscriber *subscr);
int subscr_pending_clear(struct gsm_subscriber *subscr);
int subscr_pending_dump(struct gsm_subscriber *subscr, struct vty *vty);
int subscr_pending_kick(struct gsm_subscriber *subscr);
char *subscr_name(struct gsm_subscriber *subscr);

View File

@ -402,3 +402,9 @@ int subscr_pending_dump(struct gsm_subscriber *sub, struct vty *vty)
return 0;
}
int subscr_pending_kick(struct gsm_subscriber *sub)
{
subscr_put_channel(sub);
return 0;
}

View File

@ -523,6 +523,27 @@ DEFUN(ena_subscr_pend,
return CMD_SUCCESS;
}
DEFUN(ena_subscr_kick,
ena_subscr_kick_cmd,
"subscriber " SUBSCR_TYPES " ID kick-pending",
SUBSCR_HELP "Clear the paging requests for this subscriber\n")
{
struct gsm_network *gsmnet = gsmnet_from_vty(vty);
struct gsm_subscriber *subscr =
get_subscr_by_argv(gsmnet, argv[0], argv[1]);
if (!subscr) {
vty_out(vty, "%% No subscriber found for %s %s%s",
argv[0], argv[1], VTY_NEWLINE);
return CMD_WARNING;
}
subscr_pending_kick(subscr);
subscr_put(subscr);
return CMD_SUCCESS;
}
#define A3A8_ALG_TYPES "(none|xor|comp128v1)"
#define A3A8_ALG_HELP \
"Use No A3A8 algorithm\n" \
@ -764,6 +785,7 @@ int bsc_vty_init_extra(void)
install_element(ENABLE_NODE, &ena_subscr_a3a8_cmd);
install_element(ENABLE_NODE, &ena_subscr_clear_cmd);
install_element(ENABLE_NODE, &ena_subscr_pend_cmd);
install_element(ENABLE_NODE, &ena_subscr_kick_cmd);
install_element(ENABLE_NODE, &subscriber_purge_cmd);
install_element(ENABLE_NODE, &smsqueue_trigger_cmd);
install_element(ENABLE_NODE, &smsqueue_max_cmd);