Add control command to expire subscriber
It's equivalent of existing vty command: common part is extracted into
shared helper function.
Change-Id: I267886b7c79ed6d9c2f34a2e60d2972b7f4f4036
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 73c3f13..f57df8e 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -948,17 +948,28 @@
}
}
+bool vlr_subscr_expire(struct vlr_subscr *vsub)
+{
+ if (vsub->lu_complete) {
+ vsub->lu_complete = false;
+ vlr_subscr_put(vsub);
+
+ return true;
+ }
+
+ return false;
+}
+
int vlr_subscr_rx_imsi_detach(struct vlr_subscr *vsub)
{
/* paranoia: should any LU or PARQ FSMs still be running, stop them. */
vlr_subscr_cancel(vsub, GMM_CAUSE_IMPL_DETACHED);
vsub->imsi_detached_flag = true;
- if (vsub->lu_complete) {
- vsub->lu_complete = false;
- /* balancing the get from vlr_lu_compl_fsm_success() */
- vlr_subscr_put(vsub);
- }
+
+ /* balancing the get from vlr_lu_compl_fsm_success() */
+ vlr_subscr_expire(vsub);
+
return 0;
}