aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gb_proxy.h
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2014-09-12 15:09:56 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2014-09-19 10:46:23 +0200
commit7430da621a25337d614cd08acb578905aa52337d (patch)
tree0def31a783b198da3bf6b4c894377191743ce9f6 /openbsc/include/openbsc/gb_proxy.h
parentcba4c0cc600da7b9548e9267cb0486806820a9ef (diff)
gbproxy: Keep tlli_info after detach
Currently a tlli_info entry is deleted when the TLLI gets invalidated by a Detach message. This patch introduces the possibility to keep tlli_info entries in the list. Those entries then have cleared TLLI fields, are marked as de-registered, and can only be retrieved by a message containing an IMSI or a P-TMSI. The following VTY configuration commands are added to the gbproxy node: - tlli-list keep-mode never : Don't keep the entries (default) - tlli-list keep-mode re-attach : Only keep them, when a Detach message with re-attach required has been received - tlli-list keep-mode identified : Only keep entries which are associated with an IMSI - tlli-list keep-mode always : Keep all entries Note that at least one of max-length or max-age should be set when this feature is used to limit the number of entries. Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc/include/openbsc/gb_proxy.h')
-rw-r--r--openbsc/include/openbsc/gb_proxy.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gb_proxy.h b/openbsc/include/openbsc/gb_proxy.h
index 4a20bfb50..d9731a729 100644
--- a/openbsc/include/openbsc/gb_proxy.h
+++ b/openbsc/include/openbsc/gb_proxy.h
@@ -50,6 +50,13 @@ enum gbproxy_peer_ctr {
GBPROX_PEER_CTR_TLLI_CACHE_SIZE,
};
+enum gbproxy_keep_mode {
+ GBPROX_KEEP_NEVER,
+ GBPROX_KEEP_REATTACH,
+ GBPROX_KEEP_IDENTIFIED,
+ GBPROX_KEEP_ALWAYS,
+};
+
struct gbproxy_config {
/* parsed from config file */
uint16_t nsip_sgsn_nsei;
@@ -77,6 +84,7 @@ struct gbproxy_config {
int acquire_imsi;
int route_to_sgsn2;
uint16_t nsip_sgsn2_nsei;
+ enum gbproxy_keep_mode keep_tlli_infos;
/* IMSI checking/matching */
int check_imsi;
@@ -141,6 +149,8 @@ struct gbproxy_tlli_info {
struct llist_head stored_msgs;
int imsi_acq_retries;
+ int is_deregistered;
+
int enable_patching;
};