From: Max <[email protected]>

This enables easier expansion of available policies in future.
---
 openbsc/include/openbsc/gsm_data.h        | 5 +++++
 openbsc/src/libbsc/net_init.c             | 2 +-
 openbsc/src/libmsc/vty_interface_layer3.c | 4 ++--
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/openbsc/include/openbsc/gsm_data.h 
b/openbsc/include/openbsc/gsm_data.h
index 6d7aba3..593a86f 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -18,6 +18,11 @@ struct gsm_subscriber_group;

 #define OBSC_LINKID_CB(__msgb) (__msgb)->cb[3]

+enum gsm_subscr_ext_alloc_policy {
+       GSM_SUBSCR_DONT_CREATE = 0,
+       GSM_SUBSCR_RANDOM_EXT = 1,
+};
+
 enum gsm_security_event {
        GSM_SECURITY_NOAVAIL,
        GSM_SECURITY_AUTH_FAILED,
diff --git a/openbsc/src/libbsc/net_init.c b/openbsc/src/libbsc/net_init.c
index 568a0b8..00a8a9b 100644
--- a/openbsc/src/libbsc/net_init.c
+++ b/openbsc/src/libbsc/net_init.c
@@ -48,7 +48,7 @@ struct gsm_network *gsm_network_init(uint16_t country_code, 
uint16_t network_cod
        INIT_LLIST_HEAD(&net->bsc_data->mscs);

        net->subscr_group->net = net;
-       net->create_subscriber = 1;
+       net->create_subscriber = GSM_SUBSCR_RANDOM_EXT;

        net->country_code = country_code;
        net->network_code = network_code;
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c 
b/openbsc/src/libmsc/vty_interface_layer3.c
index 790fedf..4dd0573 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -1036,7 +1036,7 @@ DEFUN(cfg_nitb_subscr_create, cfg_nitb_subscr_create_cmd,
       "Make a new record when a subscriber is first seen.\n")
 {
        struct gsm_network *gsmnet = gsmnet_from_vty(vty);
-       gsmnet->create_subscriber = 1;
+       gsmnet->create_subscriber = GSM_SUBSCR_RANDOM_EXT;
        return CMD_SUCCESS;
 }

@@ -1045,7 +1045,7 @@ DEFUN(cfg_nitb_no_subscr_create, 
cfg_nitb_no_subscr_create_cmd,
       NO_STR "Make a new record when a subscriber is first seen.\n")
 {
        struct gsm_network *gsmnet = gsmnet_from_vty(vty);
-       gsmnet->create_subscriber = 0;
+       gsmnet->create_subscriber = GSM_SUBSCR_DONT_CREATE;
        return CMD_SUCCESS;
 }

-- 
2.8.2

Reply via email to