summaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/sgsn_vty.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-02-06 16:23:29 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-02-06 16:44:58 +0100
commit9c20a5f45c49562ab7e3e53b5abb94e2afdfb23f (patch)
tree82e30699c33d21eaebcfa104db58f573e786b32b /openbsc/src/gprs/sgsn_vty.c
parentca69b0f68d748e56eecd14d1c1a754971e9240ba (diff)
sgsn: Add easy APN commands with just the name
For most configurations we don't address multiple GGSNs but only want to enforce a list of APNs. In the future we might add a special global GGSN context but not right now. Fixes: SYS#593
Diffstat (limited to 'openbsc/src/gprs/sgsn_vty.c')
-rw-r--r--openbsc/src/gprs/sgsn_vty.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index d85ea0192..684204a1f 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -784,6 +784,27 @@ DEFUN(cfg_gsup_remote_port, cfg_gsup_remote_port_cmd,
return CMD_SUCCESS;
}
+DEFUN(cfg_apn_name, cfg_apn_name_cmd,
+ "access-point-name NAME",
+ "Configure a global list of allowed APNs\n"
+ "Add this NAME to the list\n")
+{
+ return add_apn_ggsn_mapping(vty, argv[0], "", 0);
+}
+
+DEFUN(cfg_no_apn_name, cfg_no_apn_name_cmd,
+ "no access-point-name NAME",
+ NO_STR "Configure a global list of allowed APNs\n"
+ "Remove entry with NAME\n")
+{
+ struct apn_ctx *apn_ctx = sgsn_apn_ctx_by_name(argv[0], "");
+ if (!apn_ctx)
+ return CMD_SUCCESS;
+
+ sgsn_apn_ctx_free(apn_ctx);
+ return CMD_SUCCESS;
+}
+
int sgsn_vty_init(void)
{
install_element_ve(&show_sgsn_cmd);
@@ -813,6 +834,8 @@ int sgsn_vty_init(void)
install_element(SGSN_NODE, &cfg_gsup_remote_port_cmd);
install_element(SGSN_NODE, &cfg_apn_ggsn_cmd);
install_element(SGSN_NODE, &cfg_apn_imsi_ggsn_cmd);
+ install_element(SGSN_NODE, &cfg_apn_name_cmd);
+ install_element(SGSN_NODE, &cfg_no_apn_name_cmd);
return 0;
}